2010-03-30 5 views
0

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

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

Дело в config.log, где все они не в это:
configure:2569: checking for C compiler default output file name
configure:2572: i686-pc-gnu-gcc -g -march=i686 -O2 -pipe -mtune=generic conftest.c >&5
/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 использует из командной строки все работает нормально.

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

ответ

0

Конечно после того, как я искать в течение 4 дней я найти его в Google 30mins после размещения здесь -.-

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

0

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