Как установить gcc 4.3 файл спецификаций по умолчанию?

При использовании gcc версии 4.3.2 я вижу, как создавать спецификации, используя:

$ /usr/local/gcc-4.3.2/bin/gcc -v
Using built-in specs

Теперь переход в тот же каталог, что и libgcc:

cd /usr/local/gcc-4.3.2/lib/gcc/x86_64-unknown-linux-gnu/4.3.2
/usr/local/gcc-4.3.2/bin/gcc -dumpspecs > specs

У меня есть заполненный файл спецификаций, который я могу изменить. Однако, как только это будет сделано, я все еще вижу, что:

$ /usr/local/gcc-4.3.2/bin/gcc -v
Using built-in specs

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

$ /usr/local/gcc-4.3.2/bin/gcc -v
Reading specs from /usr/local/gcc-4.3.2/lib/gcc/i686-pc-linux-gnu/4.3.2/specs</code>

Как вы можете видеть, основное различие между двумя системами заключается в том, что существующая установка 32-битная, и теперь я пытаюсь сопоставить ее с 64-разрядной системой. Версия Linux в остальном такая же, и я компилирую ту же версию gcc. (В обеих системах gcc 4.3.2 является второй установкой gcc, с 4.1.2 используется для компиляции 4.3.2)

Ответы

Ответ 1

Как намекнуло предложение strace от Johannes Schaub-litb, это была проблема с тем, где компилятор искал файл. Как оказалось, у нерабочей установки была переменная среды, заданная в .bashrc, которая вызывала путаницу.

Правильное расположение файла спецификаций - это тот же каталог, в котором находится libgcc. Просто убедитесь, что вы смотрите там.

Ответ 2

Я использовал эту командную строку:

/usr/bin/set-gcc-default-3.sh i686-pc-mingw32

но вы, вероятно, захотите:

/usr/bin/set-gcc-default-4.sh i686-pc-linux-gnu

(Обратите внимание на -4 вместо -3)

Это построено с использованием материалов "альтернативы", см.

/usr/sbin/alternatives.exe --help

А также см. страницы http://linux.about.com/library/cmd/blcmdl8_alternatives.htm

Ответ 3

Вы перестраиваете gcc с вашим файлом specs как часть сборки!

Более простым решением является создание псевдонима:

alias gcc_Gary gcc -specs /<folder With Specs File>/newSpecsFile