В работающем проекте C
make
выполняет сборки для различных целей, одна из которых, очевидно, является powerpc-405. Сборка для этой конкретной цели не выполняется, потому что у меня не установлен набор инструментов.
make[7]: /opt/crosstool/gcc-4.2.4-glibc-2.3.6/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc: Command not found
Q : У меня очень шаткое представление о парадигме «скачать исходный код, а затем собрать его самостоятельно», которая распространена в стране Linux. Может ли кто-нибудь описать, как я могу сделать это для указанной инструментальной цепочки в ошибке ?
На данный момент я решил / думаю, что мне нужно перейти на ftp: // gcc .gnu.org / pub / gcc / Release / gcc-4.2.4 / .
Вопрос : Что мне скачать отсюда? Я предполагаю, что могу спокойно игнорировать такие вещи, как fortran и java. Но что мне следует загрузить из числа {gcc-4.2.4, gcc-core-4.2.4, gcc-g ++ - 4.2.4, gcc-testsuite-4.2.4}? Все?
Q : Что будет дальше после загрузки + извлечения правильного набора архивов? У меня есть предварительное понимание, что в конце концов я займусь настройкой ; сделать; сделайте установку
заклинанием, но я не понимаю, что мне нужно делать до и после.
Вопрос : Обратите внимание, что в ошибке упоминается glibc-2.3.6
. Как это вписывается в картину? Как отмечалось выше, на ftp-сайте, на котором я работаю, упоминается только gcc-4.2.4
. Мне непонятно, что "объединяет" gcc-4.2.4
и glibc-2.3.6
для устранения ошибки сборки.
Q : Указанный ftp-сайт выглядит как «общий» gcc
. Т.е. Судя по названиям файлов, я не вижу никакого отношения к powerpc-405
. Я на правильном пути или мне нужно искать в другом месте? Я сделал Google для различных комбинаций "powerpc" и "gcc" и не нашел ничего, что выглядело бы так, как будто это привело к powerpc-405
-специфичному gcc
.
>uname -a
Linux linuxbox 3.11.10-301.fc20.x86_64 #1 SMP Thu Dec 5 14:01:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Проработав этот конкретный пример, я хотел бы развить понимание того, как пользователи / разработчики Linux понимают, куда можно загрузить наборы инструментов кросс-компилятора и скомпилировать их.
I have a very shaky understanding of the "download source code, then build it yourself" paradigm that's common in Linux-land. Can someone please describe how I can do this specific to the noted toolchain in the error?
В общем, прочитайте разделы быстрого запуска и устранения неполадок http://www.kegel.com/crosstool/current/doc/crosstool-howto.html
.В более общем плане см. Как компилировать и устанавливать программы из исходного кода для компиляции из исходного кода.
Это должно ответить на некоторые ваши вопросы.
What should I download from here? I assume I can safely ignore things like fortran, and java. But from among { gcc-4.2.4, gcc-core-4.2.4, gcc-g++-4.2.4, gcc-testsuite-4.2.4 }, which should I download? All?
Обратите внимание, что crosstool загружает их за вас!
After downloading+extracting the correct set of tarballs, what exactly is next? I have a tentative understanding that eventually I will be doing the configure; make; make install incantation, but I'm unclear what I need to do before and after.
crosstool компилирует их для вас.
В более общем плане :Вы сначала прочитаете инструкции по сборке на веб-сайте, ДО ТОГО, как загрузите исходный код того, что хотите.
Обычно ./configure && make && sudo make install
выглядит так:
Исходный код, который вы извлекаете во временный каталог, переходите в этот каталог и запускаете ./configure
Это проверит, что все предварительные условия выполнены. В нем будут упомянуты все недостающие библиотеки, они находятся в пакетах dev (debian )/devel (redhat/suse ), которые вам понадобятся. Найдите их, установите и повторите попытку ./configure
.
Как только он завершится без ошибок, вы выдаете make
.
Надеемся, что он завершится без ошибок, вы выдаете sudo make install
.
Иногда вы получаете autogen.sh вместо configure... читайте инструкции на сайте.
You'll note the error mentions glibc-2.3.6. Where does this fit into the picture? As noted above, the ftp site I'm at only mentions gcc-4.2.4. I'm unclear what "melds" gcc-4.2.4 and glibc-2.3.6 for purposes of resolving the build error.
glibc — используемая библиотека c. Библиотека c на целевой платформе должна быть совместимой версией, иначе у вас возникнут проблемы. Опять же, crosstool справится с этим за вас.
Таким образом, glibc — это библиотека c, похожая на DLL, которую используют все программы, скомпилированные с помощью gcc (компилятора C ). gcc компилирует исходный код (текстовые файлы )для данной комбинации платформы/версии glibc в двоичные файлы, исполняемые файлы и библиотеки.
Вы можете увидеть зависимости данной программы, используя ldd, например ldd /usr/bin/gawk
.
The noted ftp site looks like a "generic" gcc. I.e. from the filenames, I don't perceive any relation to powerpc-405. Am I on the right track, or should I be looking elsewhere? I did google for various combinations of "powerpc" and "gcc" and did not find anything that looked like it led to a powerpc-405-specific gcc.
Исходный код gcc может быть скомпилирован для ряда целевых платформ. Здесь вы видите исходный код, не зависящий от платформы -, один исходный код подходит всем.