Welcome Guest ( Log In | Register )

Outline · [ Standard ] · Linear+

C copy binary ARM to another ARM, ARM is messy?

views
     
TSAnime4000
post Sep 24 2015, 12:16 AM, updated 9y ago

Regular
******
Senior Member
1,917 posts

Joined: Jul 2009
From: /dev/null


I got a binary that compiled under ARM CPU and I tried move compiled binary to another ARM machine, it say "file not found" even I already chmod +x...
Is ARM are not easy like x86 did? move around and portable application...
teohzl
post Sep 24 2015, 01:55 AM

Getting Started
**
Junior Member
90 posts

Joined: May 2010
I'm not sure about your real situation, but I'm guessing is it because you are trying to execute the file through "xxx" command? To execute a local file should be "./xxx".
TSAnime4000
post Sep 24 2015, 02:43 AM

Regular
******
Senior Member
1,917 posts

Joined: Jul 2009
From: /dev/null


I trying execute compiled binary that compiled under ARMv6 on this ARM server provider

What I execute is:
CODE

chmod +x mndsuite
./mndsuite


it simply say File Not Found...

I not sure how ARM works, unlike x86, compile on older CPU like Pentium III, run it on Core i7 CPU, it works... very portable...
teohzl
post Sep 24 2015, 09:39 AM

Getting Started
**
Junior Member
90 posts

Joined: May 2010
QUOTE(Anime4000 @ Sep 24 2015, 02:43 AM)
I trying execute compiled binary that compiled under ARMv6 on this ARM server provider

What I execute is:
CODE

chmod +x mndsuite
./mndsuite


it simply say File Not Found...

I not sure how ARM works, unlike x86, compile on older CPU like Pentium III, run it on Core i7 CPU, it works... very portable...
*
A complain on file not found is usually not related to version mismatch of the cpu architecture. Have you try command like "ls" to verify its existence in that folder? If it is there, use "readelf -h" to see what machine and architecture the file is for.
TSAnime4000
post Sep 24 2015, 05:11 PM

Regular
******
Senior Member
1,917 posts

Joined: Jul 2009
From: /dev/null


QUOTE(teohzl @ Sep 24 2015, 09:39 AM)
A complain on file not found is usually not related to version mismatch of the cpu architecture. Have you try command like "ls" to verify its existence in that folder? If it is there, use "readelf -h" to see what machine and architecture the file is for.
*
The file is exist...
when I try re-compile in (no move binary) and it works... D: D: D:
but this code cannot ship to customer ask to compile... ARM make nonsense to me once compile, only that CPU can be use...
mentalhealth.my
post Sep 24 2015, 05:50 PM

Getting Started
**
Validating
147 posts

Joined: Sep 2015
Just to throw some ideas.

Have you run the dependency check? I am not sure about your system, but there is dependency check on Windows.

TSAnime4000
post Sep 24 2015, 06:44 PM

Regular
******
Senior Member
1,917 posts

Joined: Jul 2009
From: /dev/null


upon checking with "ldd" command, all dependency and shared library is there, both system
teohzl
post Sep 24 2015, 07:09 PM

Getting Started
**
Junior Member
90 posts

Joined: May 2010
QUOTE(Anime4000 @ Sep 24 2015, 05:11 PM)
The file is exist...
when I try re-compile in (no move binary) and it works... D: D: D:
but this code cannot ship to customer ask to compile... ARM make nonsense to me once compile, only that CPU can be use...
*
Arm is always backward compatible with the lower version. So I guess you have to compile for the lowest arm version you think you want to have.. Same like if you used advance feature or additional instruction set from intel cpu, older intel cpu cant work either.

TSAnime4000
post Sep 24 2015, 07:20 PM

Regular
******
Senior Member
1,917 posts

Joined: Jul 2009
From: /dev/null


QUOTE(teohzl @ Sep 24 2015, 07:09 PM)
Arm is always backward compatible with the lower version. So I guess you have to compile for the lowest arm version you think you want to have.. Same like if you used advance feature or additional instruction set from intel cpu, older intel cpu cant work either.
*
yeah in x86 can set compile specific instruction set like MMX and SSE, more advance compiling dynamic loaded x86 instruction set by detecting which CPU capable, for example, SSE4a (LZCNT) not available on Intel and available on AMD. Trying on ARM, some CPU having proprietary set, I guess I need do general compile without proprietary stuff...

 

Change to:
| Lo-Fi Version
0.0133sec    0.12    5 queries    GZIP Disabled
Time is now: 29th March 2024 - 02:48 AM