eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2022-01-22 02:18 pm

Чертов армбиан!

Уже больше часа бьюсь — не могу собрать ничего своего, зависящего от моей libusefull_macros!
Поставил библиотеку в /usr/local/lib, установил соответствующим образом LD_LIBRARY_PATH. И фигвам!
cc -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,--discard-all -lusefull_macros -ludev mk/1.o -o relay_manage
mk/1.o: In function `relay_cmd':
1.c:(.text.relay_cmd+0x98): undefined reference to `globErr'
1.c:(.text.relay_cmd+0x9c): undefined reference to `_WARN'
...

Т.е. линкер находит эту библиотеку (иначе ругался бы), но не может подхватить из нее символы! nm все отлично видит. file говорит, что и с форматом все ОК:
file /usr/local/lib/libusefull_macros.so.0.1.1 
/usr/local/lib/libusefull_macros.so.0.1.1: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=115cbab503dc8556b882dcc3343fbffa11169589, not stripped

Вот что этой заразе надо?
Как оказалось, другие библиотеки тоже "не видит" (проверил с libudev)!!!

Однако, когда я просто указал gcc -o serialsock *.c -lusefull_macros -lm, оно собралось!! Вот что за чертовщина?

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org