gcc 6.1. установка, gmp / mpfr / mpc не встроена?

Я недавно установил gcc 6.1, специально для библиотек, упомянутых в названии (gmp / mpfr / mpc). Я следовал тому, что сказал сайт gnu:

GNU Multiple Precision Library (GMP) версия 4.3.2 (или более поздняя)
Необходимо построить GCC. Если исходное распределение GMP найдено в
подкаталог ваших источников GCC с именем gmp, он будет собран вместе
с GCC. В качестве альтернативы, если GMP уже установлен, но его нет в
путь поиска вашей библиотеки, вам нужно будет настроить с помощью
—with-gmp опция настройки. Смотрите также —with-gmp-lib и —with-gmp-include. Сборка внутри дерева поддерживается только с версией GMP, которую устанавливает download_prerequisites.

Аналогично для других библиотек, а именно, я скачал исходные коды последней версии, скопированные в мою директорию GCC, перед тем, как выполнить «configure», «make» и «make install» gcc, предполагая, что он был собран вместе с НКА. Однако когда я пытаюсь запустить скомпилированный проект, который использует библиотеку gmp, он говорит:

error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory

Поэтому я искал, где находится общий объект, но не могу найти, где его установил GCC.

Я должен был сначала скомпилировать GMP / MPFR и MPC перед установкой gcc? потому что я думал, что в этом нет необходимости. Если мне не нужно было компилировать библиотеки, где должны быть установлены GMP / MPFR и MPC?

Некоторые дальнейшие детали:

Я не думаю, что я сделал что-то странное и сложное, я думаю.
1. Я скачал gcc и поместил исходный код в каталог.
2. Я скачал все эти библиотеки, как файлы tar;
3. создал три папки в корне исходников gcc (gmp, mpfr и mpc) и расширил в этих папках файлы предыдущего шага.
4. Для GCC я выполнил ./configure --prefix=/path/to/gcc_build
5. Я выполнил make
6. тогда make install

Если я не использую библиотеки, я могу скомпилировать и выполнить без проблем, когда мне нужны эти библиотеки, после успешной компиляции возвращается ошибка, о которой я упоминал. Если я посмотрю в lib/ а также lib64/ пути там ничего не связаны с библиотеками gmp.

0

Решение

Поправьте меня если я ошибаюсь.

Я компилирую GCC 6.3.0 с их исходного сайта, используя cygwin, после того, как исследование последовало за этим постом. Вот Сначала я скомпилирую инфраструктуру GCC, включая GMP, MPFR, MPC и libelf, ppl (необязательно). Затем попробуйте скомпилировать GCC, используя это команда (потому что я настроил GCC для Linux, поэтому моя цель — i686-pc-linux-gnu). Я компилирую инфраструктуру GCC и добавляю префикс к

--prefix=/opt/cross

для GMP, MPFR, MPC также libelf и ppl.

Поэтому, когда я компилирую GCC, я могу использовать.

--with-gmp=/opt/cross --with-mpfr=/opt/cross --with-mpc=/opt/cross

и GCC будет автоматически следить за инфраструктурой, которая им нужна, в каталоге / opt / cross.

Потому что много раз я пытаюсь

./contrib/download_prerequisites

следующий этот метод, всегда получающий ошибку при попытке скомпилировать GCC.

Я сделал с этим методом, компилируя GCC также binutils для i686-pc-linux-gnu. Но я не пытался использовать для компиляции ядра Linux с использованием Cygwin.

Извините за мой английский, и извините, если мои ответы OOT.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]