2012-03-24 2 views
4

Я пытаюсь установить glibc для отладки C-framework, над которым я работаю. Но, я получаю ошибку в процессе сборки. Вот ошибка. Msg:Ошибка при построении glibc

make[3]: Leaving directory `/root/glibc-source/glibc-2.14/elf' 
/usr/bin/install -c /root/glibc-2.14-build/elf/ld.so /usr/local/myglibc/lib/ld-2.14.so.new 
mv -f /usr/local/myglibc/lib/ld-2.14.so.new /usr/local/myglibc/lib/ld-2.14.so 
/usr/bin/install -c /root/glibc-2.14-build/libc.so /usr/local/myglibc/lib/libc-2.14.so.new 
mv -f /usr/local/myglibc/lib/libc-2.14.so.new /usr/local/myglibc/lib/libc-2.14.so 
echo ld-2.14.so /usr/local/myglibc/lib/ld-linux-x86-64.so.2 >> /root/glibc-2.14-build/elf/symlink.list 
/usr/bin/install -c /root/glibc-2.14-build/elf/sotruss-lib.so /usr/local/myglibc/lib/audit/sotruss-lib.so.new 
mv -f /usr/local/myglibc/lib/audit/sotruss-lib.so.new /usr/local/myglibc/lib/audit/sotruss-lib.so 
make[2]: *** No rule to make target `/root/glibc-2.14-build/dlfcn/libdl.so.2', needed by `/root/glibc-2.14-build/elf/sprof'. Stop. 
make[2]: Leaving directory `/root/glibc-source/glibc-2.14/elf' 
make[1]: *** [elf/subdir_install] Error 2 
make[1]: Leaving directory `/root/glibc-source/glibc-2.14' 
make: *** [install] Error 2 

Это известная проблема? На прошлой неделе я построил glibc на той же машине без каких-либо ошибок. Я перестраиваю его, потому что glibc скомпилирован с уровнем оптимизации 2 (-O2) по умолчанию, и я не могу посмотреть значения нескольких переменных внутри функций библиотеки из дампа кода, поскольку они были оптимизированы. В настоящее время я пытаюсь компилировать с уровнем оптимизации 1.

Благодарности

ответ

4

Похоже, что вы пытаетесь make install, не первый делает успешную make all.

+0

Спасибо за ваш ответ. Я попробовал снова сделать все, и на этот раз сделать установку пройденной. Я всегда делаю установку сразу после запуска configure. Не могли бы вы объяснить, как все это важно? – AnlKumr

+0

@AnlKumr 'make all' обычно компилирует все, и нет гарантии, что' make install' будет зависеть от построения всего. В будущем я бы предложил заказ './configure && сделать все && make install', чтобы избежать такого рода сюрпризов. – HonkyTonk

+0

@HonkyTonk Да, я удивлен, что нет никакой зависимости от этого конкретного файла в 'make install'. Что еще более странно, так это то, что он работал раньше, не «сделай все». Как может возникнуть новая зависимость внезапно на той же машине в той же среде. Я понимаю, что здесь может быть много скрытых факторов, но что это такое? – AnlKumr

0

Это на благо любого, кто может попытаться построить glibc на своей ubuntu коробке. Я рассмотрел следующие проблемы и решил их следующим образом.

Эти проблемы возникли в убунту 12.04

  • Я создал каталог бойкий-построить на том же уровне, что и бойким-ВЕРСИИ и побежал следующую команду

$> .. /glibc-2.16.0/configure prefix =/дом/gugovind/tsapp/Glibc/Glibc-сборки/

, который дал мне следующую ошибку, которая MAKEINFO является м Иссингом.

для этого

$> Sudo APT-получить установку Texinfo

будет решить эту проблему.

  • Он бросил и ошибка о LD_LIBRARY_PATH, имеющего текущий каталог (даже если он не существует) для этого выполните следующую команду в командной строке

    $> установить LD_LIBRARY_PATH

это временно очистит LD_LIBRARY_PATH только для этой консоли. Затем запустите configure еще раз.

Вы можете столкнуться с другой проблемой с конфигурированием .. «функция StrToNum никогда не определено»

посмотреть на config.log файл и может быть пропущена Mawk или поглазеть. установить их с помощью

SUDO APT-получить установку Gawk

Это вы должны получить через конфигурирования части.

теперь работают

сделать все

, в случае если вы столкнулись конкретный файл не компиляции .. просто скопировать ССАГПЗ ... до этого и вставить его в командной строке снова после того, как у вас есть компакт-диск в этот каталог (командные строки до ошибки должны сказать вам, куда идти.)

сделать установки

Возможно, вы получите предупреждение о невозможности найти файл etc/ld.config .... проигнорируйте это. вы все настроены сейчас.

Смежные вопросы