Ошибка компиляции gcc 4.6.2 под Ubuntu 11.10 - PullRequest
11 голосов
/ 19 декабря 2011

У меня есть одна проблема при компиляции gcc 4.6.2 под Ubuntu 11.10. Ошибка довольно популярна, т.е. / usr / bin / ld: не удается найти crti.o: такого файла или каталога нет Я попытался LIBRARY_PATH = / usr / lib / x86_64-linux-gnu, где crti.o может быть найден компоновщиком, но затем конфигурация жалуется, что LIBRARY_PATH не должен содержать путь к текущему каталогу при сборке gcc

checking LIBRARY_PATH variable... contains current directory
configure: error: 
*** LIBRARY_PATH shouldn't contain the current directory when
*** building gcc. Please change the environment variable
*** and run configure again.
make[2]: *** [configure-stage2-gcc] Error 1
make[2]: Leaving directory `/home/abdul/cc02/gcc-4.6.2/src-infra/obj-gcc'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/abdul/cc02/gcc-4.6.2/src-infra/obj-gcc'

Я также пытался установить LD_LIBRARY_PATH, но безрезультатно.

Заранее спасибо.

Ответы [ 4 ]

30 голосов
/ 20 декабря 2011

Видимо, ваш LIBRARY_PATH заканчивается двоеточием:

/usr/lib/x86_64-linux-gnu/:
#  -----------------------^

Избавьтесь от этого:

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
2 голосов
/ 14 июня 2018

Объединение ответов @hmb, @FredFoo и избегание предположений о пользовательских системах:

Кажется, что ваш LD_LIBRARY_PATH заканчивается двоеточием, которое GCC не одобряет.Вы также должны убедиться, что C_INCLUDE_PATH не заканчивается двоеточием, чтобы избежать связанных с этим проблем.Вот как это сделать:

export LIBRARY_PATH=$(echo $LIBRARY_PATH | sed 's/:$//; s/^://;')
export C_INCLUDE_PATH=$(echo $C_INCLUDE_PATH | sed 's/:$//; s/^://;')

, затем перенастроить сборку (с помощью configure -v).

1 голос
/ 23 февраля 2012

У меня была такая же проблема, и я нашел решение в askubuntu .

Особенно в следующем комментарии:

И, если вам не нравится исправлять свои источники, и установка флагов вам не подходит, просто soft-link crt *.o в каталог / usr / lib (вы можете найти их в / usr / lib / i386-linux-gnu или / usr / lib / x86_64-linux-gnu).- 15 ноября 2011 года в 14: 55

0 голосов
/ 03 мая 2013

Следующая команда решает проблему

unset LIBRARY_PATH;./configure -v

...