Я работаю над OS X 10.6.6 для создания кросс-компилятора gcc и gnu java для встроенной системы.gcc native и cross должны быть одной и той же версией, поэтому я хочу получить все до последней версии gcc.После сборки gmp, mpfr, mpc и binutils без проблем, сборка нативного gcc не удалась, что, я думаю, является первым шагом ссылки.Конкретный шаг, который завершается неудачно:
fixincludes$ gcc -g -O2 -o fixincl fixincl.o fixtests.o fixfixes.o server.o procopen.o fixlib.o fixopts.o ../libiberty/libiberty.a
ld: warning: in ../libiberty/libiberty.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
Множество неопределенных ошибок символов следуют за этим предупреждением.Файлы libiberty.a и .o имеют одинаковую архитектуру:
fixincludes$ lipo -info ../libiberty/libiberty.a input file ../libiberty/libiberty.a is not a fat file
Non-fat file: ../libiberty/libiberty.a is architecture: x86_64
fixincludes$ lipo -info *.o
Non-fat file: fixfixes.o is architecture: x86_64
Non-fat file: fixincl.o is architecture: x86_64
Non-fat file: fixlib.o is architecture: x86_64
Non-fat file: fixopts.o is architecture: x86_64
Non-fat file: fixtests.o is architecture: x86_64
Non-fat file: procopen.o is architecture: x86_64
Non-fat file: server.o is architecture: x86_64
Я подозреваю, что это связано с 32-разрядным или 64-разрядным, но я не знаю, что еще нужно проверить ине могу найти конкретное решение нигде.Кто-нибудь может сказать мне, что здесь происходит, или просто подтолкнуть меня в правильном направлении?