2013-03-29 2 views
2

Я пытаюсь скомпилировать gcc/g ++ 4.8 на 64-разрядном сервере Fedora 17. Я настраиваю процесс сборки witЗдание gcc-4.8

./configure --prefix=/opt/gcc-4.8 --with-cpu=x86-64 --enable-languages=c,c++ --disable-multiarch 

Затем я запустил make. Строит куски на некоторое время, а затем терпит неудачу, когда не может найти crti.o. Я заметил, что шаги компиляции до отказа используют параметр -m32, что означает, что компиляция выполняется для 32-разрядной архитектуры. Когда я искал crti.o, я нашел его в пути/usr/lib64, а не в пути/usr/lib, который обычно для 32 бит. Я хочу только компилировать для 64-битных, поэтому я включил аргумент with-cpu для настройки. Очевидно, этого недостаточно.

Какие аргументы мне нужно включить в configure, чтобы связать только 64-разрядные компиляции из исходного кода, и только 64-разрядные системные библиотеки и подобные файлы связаны?

ответ

0

Я также использую 64-битную FC17 и имеют crti.o:

$ locate crti.o 
/usr/lib/crti.o 
/usr/lib64/crti.o 
$ rpm -qf /usr/lib/crti.o 
glibc-devel-2.15-58.fc17.i686 
$ rpm -qf /usr/lib64/crti.o 
glibc-devel-2.15-58.fc17.x86_64 

Try явно установить 32-разрядную версию GLibC-разви:

yum install glibc-devel.i686