LINUX.ORG.RU

Проблема

 , ,


2

2

Коллеги, возникла задача по компиляции для модема на arm . доступ на консоль есть . Однако выдает стандартную ошибку :

# ./programm
sh: ./programm: not found

Внутри железки какой-то Dopra Linux .Вывод cpuinfo

BusyBox v1.4.1 (2011-07-29 10:25:20 HKT) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

WAP(Dopra Linux) # cat /proc/cpuinfo 
Processor	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS	: 532.48
Features	: swp half thumb fastmult edsp java 
CPU implementer	: 0x41
CPU architecture: 6TEJ
CPU variant	: 0x0
CPU part	: 0xb76
CPU revision	: 7
Cache type	: write-back
Cache clean	: cp15 c7 ops
Cache lockdown	: format C
Cache format	: Harvard
I size		: 16384
I assoc		: 4
I line length	: 32
I sets		: 128
D size		: 16384
D assoc		: 4
D line length	: 32
D sets		: 128

Hardware	: SD5113-V100-PILOT-B01
Revision	: 0000
Serial		: 0000000000000000

При компиляции того же софта под raspeberry pi разница в ELF такая

http://quickdiff.net/?unique_id=DDB128D1-B643-C4DB-7450-F11C4705D694

Подскажите флаги и какой gcc( и откуда) мне надо использовать, SDK вестимо под этого китайца нету ?

★★★★★

SDK вестимо под этого китайца нету ?

Какая железка-то хоть написал бы. А то ARM-модем и китаец мало о чём говорит.

Huawei HG8245?

EXL ★★★★★
()
Ответ на: комментарий от EXL

да по типу её железка, аппаратный её клон .

pinachet ★★★★★
() автор топика
Ответ на: комментарий от vodz

да я понятное дело пока линкую статически , но размер ого ого

pinachet ★★★★★
() автор топика
Ответ на: комментарий от pinachet

флаг eabi

Как раз это ваш. Я юзаю NDK, под старые не v7 ARM-ы лучше старенький. readelf должен показать Tag_CPU_name: «5TE» Tag_CPU_arch: v5TE Tag_THUMB_ISA_use: Thumb-1

vodz ★★★★★
()

Вот это:

[Requesting program interpreter: /lib/ld-linux.so.3]
...
[Requesting program interpreter: /lib/ld-linux-armhf.so.3]

В одном случае собрано с hard-float, в другом - без

A что за ld-linux тебя в /lib лежит ?

alx777 ★★
()
Ответ на: комментарий от pinachet

Там не андройд . Он пойдет?

Это же типичный linux? В статической сборке скорее всего да.

что думаешь насчет этого

Я не пробовал, так как хватило NDK, и непонятно, есть ли смысл с этим заморачиваться при наличии свободного NDK.

Вы то так и не рассказали чем собираете сейчас.

vodz ★★★★★
()
Ответ на: комментарий от pinachet
# ls /lib/ld*
/lib/ld-2.25.so           /lib/ld-linux-armhf.so.3

# /lib/ld-linux-armhf.so.3 --list /bin/ls
	libm.so.6 => /lib/libm.so.6 (0xb6e8c000)
	libc.so.6 => /lib/libc.so.6 (0xb6d4e000)
	/lib/ld-linux-armhf.so.3 (0x7f588000)

# /lib/libc.so.6
GNU C Library (GNU libc) stable release version 2.25, by Roland McGrath et al.
...
#

Оно скорее всего ld-linux не находит, можешь для проверки линк создать ld-linux-armhf.so.3->ld-linux.so.3

alx777 ★★
()
Ответ на: комментарий от vodz

Сейчас собирают вот так ,но ругается на последние две библиотеки хотя они системно стоят

...


arm-linux-gnueabi-gcc -std=gnu99 -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing -I./compat/jansson -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -static -O2  -Ofast -flto -fuse-linker-plugin -ftree-loop-if-convert-stores -DUSE_ASM -pg -march=armv5te -mtune=xscale -msoft-float  -Iyes/include -Iyes/include -MT manager-api.o -MD -MP -MF .deps/manager-api.Tpo -c -o manager-api.o `test -f 'api.c' || echo './'`api.c
mv -f algo/.deps/manager-zr5.Tpo algo/.deps/manager-zr5.Po
arm-linux-gnueabi-gcc -std=gnu99 -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing -I./compat/jansson -I. -Iyes/include -Iyes/include -Wno-pointer-sign -Wno-pointer-to-int-cast   -static -O2  -Ofast -flto -fuse-linker-plugin -ftree-loop-if-convert-stores -DUSE_ASM -pg -march=armv5te -mtune=xscale -msoft-float  -Iyes/include -Iyes/include -MT manager-sysinfos.o -MD -MP -MF .deps/manager-sysinfos.Tpo -c -o manager-sysinfos.o `test -f 'sysinfos.c' || echo './'`sysinfos.c
mv -f .deps/manager-sysinfos.Tpo .deps/manager-sysinfos.Po
arm-linux-gnueabi-g++ -DHAVE_CONFIG_H -I.  -Iyes/include -Iyes/include -fno-strict-aliasing -I./compat/jansson -I. -Iyes/include -Iyes/include  -g -O2 -MT manager-uint256.o -MD -MP -MF .deps/manager-uint256.Tpo -c -o manager-uint256.o `test -f 'uint256.cpp' || echo './'`uint256.cpp
mv -f .deps/manager-api.Tpo .deps/manager-api.Po
mv -f .deps/manager-uint256.Tpo .deps/manager-uint256.Po
mv -f .deps/manager-util.Tpo .deps/manager-util.Po



arm-linux-gnueabi-g++  -g -O2 -Lyes/lib -Lyes/lib  -Lyes/lib -Lyes/lib  -o manager manager.o manager-util.o manager-api.o manager-sysinfos.o manager-uint256.o sha3/manager-sph_keccak.o sha3/manager-sph_hefty1.o sha3/manager-sph_groestl.o sha3/manager-sph_skein.o sha3/manager-sph_bmw.o sha3/manager-sph_jh.o sha3/manager-sph_shavite.o sha3/manager-sph_blake.o sha3/manager-mod_blakecoin.o sha3/manager-sph_luffa.o sha3/manager-sph_cubehash.o sha3/manager-sph_simd.o sha3/manager-sph_echo.o sha3/manager-sph_hamsi.o sha3/manager-sph_haval.o sha3/manager-sph_fugue.o sha3/manager-sph_ripemd.o sha3/manager-sph_sha2.o sha3/manager-sph_sha2big.o sha3/manager-sph_shabal.o sha3/manager-sph_whirlpool.o sha3/manager-gost_streebog.o crypto/manager-blake2s.o crypto/manager-blake2b.o crypto/manager-oaes_lib.o crypto/manager-c_keccak.o crypto/manager-c_groestl.o crypto/manager-c_blake256.o crypto/manager-c_jh.o crypto/manager-c_skein.o crypto/manager-hash.o crypto/manager-aesb.o lyra2/manager-Lyra2.o lyra2/manager-Sponge.o yescrypt/manager-yescrypt-common.o yescrypt/manager-yescrypt-best.o yescrypt/manager-sha256_Y.o algo/manager-axiom.o algo/manager-bastion.o algo/manager-blake.o algo/manager-blakecoin.o algo/manager-blake2.o algo/manager-bmw256.o algo/manager-c11.o algo/manager-cryptonight.o algo/manager-cryptolight.o algo/manager-decred.o algo/manager-drop.o algo/manager-fresh.o algo/manager-groestl.o algo/manager-heavy.o algo/manager-ink.o algo/manager-jha.o algo/manager-lbry.o algo/manager-luffa.o algo/manager-lyra2re.o algo/manager-lyra2rev2.o algo/manager-myr-groestl.o algo/manager-keccak.o algo/manager-pentablake.o algo/manager-quark.o algo/manager-neoscrypt.o algo/manager-nist5.o algo/manager-pluck.o algo/manager-qubit.o algo/manager-scrypt.o algo/manager-scrypt-jane.o algo/manager-sha2.o algo/manager-sia.o algo/manager-sibcoin.o algo/manager-skein.o algo/manager-skein2.o algo/manager-s3.o algo/manager-bitcore.o algo/manager-timetravel.o algo/manager-tribus.o algo/manager-veltor.o algo/manager-x11evo.o algo/manager-x11.o algo/manager-x13.o algo/manager-x14.o algo/manager-x15.o algo/manager-x17.o algo/manager-xevan.o algo/manager-yescrypt.o algo/manager-zr5.o asm/manager-neoscrypt_asm.o   asm/manager-sha2-arm.o asm/manager-scrypt-arm.o  -lcurl -lz -lssl -lcrypto compat/jansson/libjansson.a -lpthread  
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcurl
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lz

pinachet ★★★★★
() автор топика
Последнее исправление: pinachet (всего исправлений: 1)
Ответ на: комментарий от pinachet

А вы точно уверены, что получается static? По приведенному логу получается, что ключ -static указан для компиляции в объектники, что бесполезно, но не указан для сборки в оконечный бинарь.

vodz ★★★★★
()
Ответ на: комментарий от alx777

Сорри за задержку . Нет не запускаеться (

 arm-none-eabi-gcc -Wno-pointer-to-int-cast -static -O2  -Ofast -flto -fuse-linker-plugin -ftree-loop-if-convert-stores -DUSE_ASM -pg -march=armv5te -mtune=xscale -msoft-float -c hello.c -o hello

#file hello
hello: ELF 32-bit LSB  relocatable, ARM, EABI5 version 1 (SYSV), not stripped

EABI как сделать поменьше ?

pinachet ★★★★★
() автор топика
Ответ на: комментарий от pinachet

Вам тут хороший совет дали - проверьте на простой программке, руками скомпилите hellowordl.

vodz ★★★★★
()
Ответ на: комментарий от pinachet

Похоже что прошивка девайса собрана гораздо более старой версией gcc чем имеется в наличии, что не очень хорошо

Можно попробовать найти тот toolchain которым собиралась прошивка и использовать его

Кстати, что у тебя выдает ls -l /lib/ld* ?

alx777 ★★
()
Ответ на: комментарий от alx777

древненькое все такое

-rwxr-xr-x    1 root     root       120232 Sep 27  2010 /lib/ld-2.5.so
lrwxrwxrwx    1 root     root            9 Nov  2  2012 /lib/ld-linux.so.3 -> ld-2.5.so

pinachet ★★★★★
() автор топика
Ответ на: комментарий от alx777

Похоже что прошивка девайса собрана гораздо более старой версией gcc чем имеется в наличии, что не очень хорошо

Для статика то какая разница?

vodz ★★★★★
()
Ответ на: комментарий от pinachet

Там EABI4 версии а у меня 5 генериться (

4.9 тоже не прокатит? У android-ndk-r13 такой.

vodz ★★★★★
()
Ответ на: комментарий от alx777

ln: /lib/ld-linux-armhf.so.3: Read-only file system (

pinachet ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.