библиотеки поддержки gcc перестают работать при кросс-компиляции - PullRequest
0 голосов
/ 31 марта 2010

Я пытаюсь кросс-компилировать gcc 4.4.3 и его кросс-библиотеки.Я установил все переменные среды, необходимые для кросс-компиляции (AS, CC, CXX, AR, RANLIB, STRIP), и уже использовал ту же настройку для многих других вещей, и все они работали нормально.

Теперь сам gcc также компилируется без проблем, но библиотеки поддержки меня действительно озадачивают.При использовании make все из них, кроме libgcc, который прекрасно компилируется, дают мне:
configure: error: C compiler cannot create executables

Точка в config.log, где все они терпят неудачу:
configure:2569: checking for C compiler default output file name<br> configure:2572: i686-pc-gnu-gcc -g -march=i686 -O2 -pipe -mtune=generic conftest.c >&5<br> /home/lnz/abs-hurd/cross/cross/libexec/gcc/i686-pc-gnu/4.4.3/cc1: error while loading shared libraries: libc.so.0.3: cannot open shared object file: No such file or directory

Проблема здесь в том, что cc1 пытается загрузить libc, используемый для цели.ldd подтверждает, что этот cc1 не пытается загрузить libc.so.0.3 (связанный с libc.so.6).libc.so.0.3 также не отсутствует в директории lib.При попытке точно такой же команды configure использует из командной строки все работает нормально.

Помочь в этом было бы здорово, я смотрел на это несколько дней без какого-либо прогресса.

Ответы [ 2 ]

0 голосов
/ 31 марта 2010

Конечно, после поиска в течение 4 дней я нахожу его в Google через 30 минут после публикации здесь -.-

Что мне нужно было сделать, так это установить для RPATH_ENVVAR значение LD_LIBRARY_PATH, потому что очевидно, что configure использует dir целевой библиотеки при кросс-компиляции.

0 голосов
/ 31 марта 2010

Вы уже пробовали strace? Вы, вероятно, захотите сделать некоторую фильтрацию на этом :-), конечно.

...