Я построил glibc 2.14 и установил его в каталог ~/GLIBC/glibc_install
. Теперь я хочу создавать и запускать программы, используя эту C-библиотеку, а не мою библиотеку C по умолчанию для системы.
-
Чтобы убедиться, что я использовал свой пользовательский glibc, я добавил вызов, чтобы помещать в
glibc/stdio-common/printf.c:__printf
для печати сообщения. -
Затем я перестроил и переустановил glibc.
-
Затем я написал программу "Hello, World" и попытался скомпилировать ее и связать следующим образом:
gcc -nodefaultlibs -static -lgcc -L~/GLIBC/glibc_install/lib -o myprog myprog.c
Но я получаю следующий отчет об ошибке компоновщика:
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x19): undefined reference to `__libc_csu_init'
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x25): undefined reference to `__libc_start_main'
/tmp/ccACTQEp.o: In function `main':
c1.c:(.text+0xa): undefined reference to `puts'
collect2: ld returned 1 exit status
Что я делаю неправильно?