LINUX.ORG.RU

Собираю программу под LSB

 ,


0

1

Собираю простую программу использующую SDL2 под LSB 3.2:

ixuta[new3]$ lsbcc --lsb-verbose --lsb-modules=Multimedia --std=c99 -O counter.c entity.c game.c main.c random.c -o SD2pong `sdl2-config --cflags --static-libs` -lSDL2_image -ltiff -lz -ljpeg -lpng -lXrender -lXfixes
warning: dangerous include path /usr/include/SDL2
unrecognized gcc version: "4.6"
cc -o SD2pong -I /usr/include/SDL2 -I /usr/include/lsb3 --std=c99 -O counter.c entity.c game.c main.c random.c -D_REENTRANT -nodefaultlibs -L /usr/lib64/lsb3 -L /usr/lib/x86_64-linux-gnu -Wl,-Bstatic -lSDL2 -Wl,-Bdynamic -lpthread -lm -ldl -lasound -lm -ldl -lpthread -lX11 -lXext -Wl,-Bstatic -lXcursor -lXinerama -Wl,-Bdynamic -lXi -Wl,-Bstatic -lXrandr -lXss -lXxf86vm -Wl,-Bdynamic -lpthread -lrt -Wl,-Bstatic -lSDL2_image -ltiff -Wl,-Bdynamic -lz -ljpeg -lpng -lXrender -Wl,-Bstatic -lXfixes -Wl,-Bdynamic -lpthread -lpthread_nonshared -Wl,--dynamic-linker=/lib64/ld-lsb-x86-64.so.3 -L /usr/lib/gcc/x86_64-linux-gnu/4.6 -L/lib64 -L/usr/lib64 -Wl,--hash-style=sysv -lgcc -lm -lc -lc_nonshared -lgcc 
In file included from /usr/include/lsb3/sys/types.h:4:0,
                 from /usr/include/SDL2/SDL_stdinc.h:34,
                 from /usr/include/SDL2/SDL_main.h:25,
                 from /usr/include/SDL2/SDL.h:67,
                 from counter.c:1:
/usr/include/lsb3/stddef.h:12:0: warning: "NULL" redefined [enabled by default]
/usr/include/SDL2/begin_code.h:137:0: note: this is the location of the previous definition
При проверке lsbappchk'ом оказывается что программа использует символ memcpy из GLIBC_2.14:
ixuta[new3]$ lsbappchk3 SD2pong 2>/dev/null | grep GLIBC
Symbol memcpy has version GLIBC_2.14 expecting GLIBC_2.2.5
  Symbol memcpy has version GLIBC_2.14 expecting GLIBC_2.2.5
Вопрос: как узнать какая из прилинкованных библиотек использует этот символ чтобы я смог пересобрать её с нужной версией GLIBC?


Ответ на: комментарий от quest

От ldd толку никакого ведь он выводит только разделяемые библиотеки, а символ в статической. А вот nm таки показал memcpy@@GLIBC_2.14 в отладочных символах SDL. Спасибо.

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