Я пытаюсь настроить совершенно новую и актуальную среду gcc ... в основном gcc 4.6.3 и binutils 2.22.Не довольно старый gcc 4.2.1 (llvm), который поставляется с Xcode 4.2.1.Моя проблема не с компиляцией (на данный момент, по крайней мере).Я могу скомпилировать binutils, gcc, и оба одновременно отлично.Однако каждый раз, когда я пытаюсь скомпилировать, я нахожу что-то подобное в конце вывода команды configure
, где проверяется, где найти целевой файл ... только что скомпилированныйпроверка, где найти цель как ... инструмент хостапроверка, где найти целевой cc ... только что скомпилированныйпроверка, где найти цель c ++ ... только что скомпилированпроверка, где найти цель c ++ для libstdc ++ ... только что скомпилированапроверка, где найти целевой dlltool ... только что скомпилированныйпроверка, где найти целевой gcc ... только что скомпилированпроверка, где найти цель gcj ... только что скомпилированапроверка, где найти цель gfortran ... только что скомпилированпроверка, где найти целевой gccgo ... инструмент хостапроверка, где найти целевой инструмент ld ... hostпроверка, где найти целевой lipo ... host toolпроверка, где найти цель нм ... только что скомпилированпроверка, где найти цель objdump ... только что скомпилированпроверка, где найти целевой ranlib ... только что скомпилированпроверка, где найти целевую полосу ... только что скомпилированапроверка, где найти цель windres ... только что скомпилированпроверка, где найти целевой windmc ... только что скомпилирован
Я создал символические ссылки для ld, opcodes, bfd, gas, gprof и binutils в исходной папке gcc, чтобы получить этот вывод ... (если это поможет)
КакВы можете видеть, что я могу получить "только что скомпилированную" версию большинства программ, но я просто не могу понять, как компилировать как и ld.Я прочитал файл README в папке ld (которая находится в пакете binutils) и там написано:
make all-ld
Я делаю и являюсьчто я уже «сделал» источник, он говорит мне, что ничего не осталось сделать ...
Единственное, о чем я могу думать сейчас, это временно изменить мой путь, чтобы он не включал ld.Это было бы довольно легко ...
иначе быстрая проверка с
whereis ld
в любом случае, сразу после размышления об этом я понял, что это будетглупо быть сейчас, мне нечем связать gcc (или даже новую версию ld (если я вообще смогу работать))
Итак, в заключение я пытаюсь скомпилировать новую копию ld икак... Факты:
- Я использую Mac OS X Lion.
- Я пытаюсь скомпилировать gcc 4.6.3используя gcc по умолчанию, который поставляется с Mac OS X Lion (gcc 4.2.1).
- Сценарии конфигурации, кажется, думают, что я не хочу компилировать новый компоновщик и ассемблер.
- У меня естьуспешно собрал работающие gcc и binutils, но без нового компоновщика и ассемблера.
- Я попытался скомпилировать binutils и gcc с помощью --with-ld = yes и --with-gold= нет опции, они, похоже, ничего не делают.
- Я собрал gmp v5.0.4, mpfr v3.1.0 и mpc v0.9, используя gcc v4.2.1, установив их в том же префиксе, что и при использованиив настройках gcc и binutils.
- Для каждой конфигурации я явно указываю расположение gmp, mpfr и mpc.
- Я создал gmp, mpfr и mpc отдельно от gcc (делая так, приводил к некоторым ошибкам сборки).
- gcc, binutils, gmp, mpfr и mpc - все они собраны в отдельном каталоге, который неt подкаталог исходного каталога (как рекомендуется в инструкциях по установке gcc).
- Я собираю gcc со следующими параметрами:../gcc-4.6.3/configure --prefix = $ PREFIX --with-gmp = $ PREFIX --with-mpfr = $ PREFIX --with-mpc = $ PREFIX --enable-check = release --program-suffix = -4.6.3 --enable-ld = да --enable-gold = нет
- Я в основном следовал этому уроку .
- Поскольку у меня нет другого компилятора на моем компьютере, я вынужден использовать компилятор llvm по умолчанию для Mac OS X (то, что я описал ранее как gcc 4.2.1), который я читаю здесь не работает, однако на моем компьютере нет gcc-4.2.
- Компиляция gcc-4.7.0 (самый последний снимок) с использованием только что скомпилированной новой версии gcc (gcc-4.6.3) приводит к ошибкам компилятора (я устанавливаю переменные окружения CC и CXX).
-
Сначала я попытался скомпилировать gcc, чем binutils, и наоборот, в конце концов я решил, что собирать gcc с binutils - это путь. Вывод выше вас был с обоими скомпилированными сразу
-
Я прочитал этот небольшой пост о золоте и попытался добавить --enable-gold и --enable-ld. Они ничего не изменили
-
Порядок, в котором я делал вещи:
-
Скомпилируйте gmp.
-
Установите это.
-
Скомпилируйте mpfr.
-
Установите это.
-
Скомпилируйте mpc.
-
Установите это.
-
Создайте символические ссылки на основной каталог gcc src для ld, gas, binutils, opcodes, gprof, bfd.
-
Настройте gcc.
-
Найдите этот «отчет о состоянии».
-
Подумайте о другом способе создания ld и как.
-
Сбой в этом.
-
Перейти на переполнение стека.
как сказал "fazo", я никому особо не рассказываю о том, как я скомпилировал binutils ... так что вот оно ...
Сначала я попытался скомпилировать gcc, а потом собрать binutils, используя gcc, который компилировался нормально, но не ld, as или даже gold. Затем я попытался использовать компилятор llvm для сборки binutils, а затем gcc. Он тоже работал нормально, но все равно ни ld, ни, ни золото. Наконец, я прочитал здесь , что я мог сделать символические ссылки на некоторые элементы в binutils, а gcc обнаружил бы и собрал их ... Я сделал. и gcc обнаружил большинство из них (как указано выше, я поместил символические ссылки в каталог gcc для ld, opcodes, bfd, gas, gprof и binutils). Моя настоящая проблема заключается в том, чтобы сказать скрипту configure, что нужно скомпилировать новый ассемблер и компоновщик. Также меня поражает то, что в папке binutils README написано, что простая ./configure make make install соберет и установит все инструменты, я пытаюсь выяснить, почему это не так.
Последняя команда выглядит так:
../binutils-2.22/configure --prefix = $ PREFIX --with-gmp = $ PREFIX --with-mpfr = $ PREFIX --with-mpc = $ PREFIX --program-суффикс = -4.6.3 - enable-ld --with-gnu-as --with-gnu-ld
все же я все еще не получаю ни лд, ни газа.
Любая помощь очень ценится! (также, если вам нужна информация, которую я не предоставил, просто спросите)
спасибо ...:)