Как мне встроить в указанный каталог, используя опцию «prefix» в configure? - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь собрать glibc 2.27 на Clear Linux, полученный здесь: https://www.gnu.org/software/libc/sources.html

Согласно справке, я должен встроиться в каталог за пределами исходной папки, используя префиксную команду. Насколько я могу судить, я делаю то, что описано в справке по установке:

Настройка и компиляция библиотеки GNU C

Библиотека GNU C не может быть скомпилирована в исходном каталоге. Вы должен собрать его в отдельном каталоге сборки. Например, если у вас есть распаковал исходники библиотеки GNU C в '/ src / gnu / glibc-VERSION', создайте каталог / src / gnu / glibc-build для размещения объектных файлов. Это позволяет удалить весь каталог сборки в случае возникновения ошибки, это самый безопасный способ начать новую жизнь и всегда должен быть сделано.

Из вашей директории объекта запустите скрипт оболочки 'configure' находится на верхнем уровне исходного дерева. В сценарии выше, вы наберете

 $ ../glibc-VERSION/configure ARGS...

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

'configure' принимает много опций, но единственный, который обычно обязательным является '--prefix'. Эта опция говорит «настроить», где вы хотите библиотека GNU C установлена. По умолчанию это «/ usr / local», но нормальная настройка для установки в качестве стандартной системной библиотеки «--prefix = / usr» для систем GNU / Linux и «--prefix =» (пустой префикс) для систем GNU / Hurd.

итак, я думал, что все делал правильно, но все равно выдает ошибку при сборке в другом каталоге:

james@clr ~/Downloads/glibc $  ./configure --prefix=/home/james/Downloads/glibc-build/
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for readelf... readelf
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ can link programs... yes
configure: error: you must configure in a separate build directory

1 Ответ

0 голосов
/ 27 июня 2018

Вы должны создать каталог сборки и запустить из него скрипт configure. Ваш случай:

mkdir /home/james/Downloads/glibc-build/
cd /home/james/Downloads/glibc-build/
~/Downloads/glibc/configure

Параметр --prefix изменит каталог установки (make install).

...