Как собрать glibc из исходников, чтобы потом скрипт configure программы, которая нуждается в новой версии glibc (старая устанавливалась из rpm-пакета), находил нужные файлы? Когда я выполняю ./configure в папке glibc-2.3.6, получаю сообщение
configure: error: you must configure in a separate build directory
То есть, я должен сконфигурировать в отдельную директорию? Отдельную от чего? Это указать --prefix=DIRECTORY? Всё равно не помогает. Вообще, реально собирать такие серьёзные вещи как gcc, glibc, qt из исходников? Как-то собирал qt, вроде всё собралось, но скрипт configure для программы, которая нуждалась в новой версии qt, не обнаружил этого обновления.
configure: error: you must configure in a separate build directory
То есть, я должен сконфигурировать в отдельную директорию? Отдельную от чего? Это указать --prefix=DIRECTORY?
Значит, когда запускаешь configure, текущий каталог не должен быть каталогом с исходниками. --prefix ни при чём: это место, куда ты будешь ставить готовый пакет.
Например, ты распаковываешь в каталог /usr/src/glibc-2.3.6. Теперь создай каталог рядом с ним: /usr/src/glibc-2.3.6-build. Заходи в него. И, находясь в /usr/src/glibc-2.3.6-build, командуй: ../glibc-2.3.6/configure.
Вообще, реально собирать такие серьёзные вещи как gcc, glibc, qt из исходников?
Конечно! В LFS и Gentoo всё собирается из исходников -- и это работает.
Почитай документацию к Linux from Scratch, там сборка glibc хорошо описана. Можешь, если лень, пропустить первые главы о принципах сборки LFS; читай сразу пункты про GLIBC, GCC.
общий рецепт, когда не находится какая-нибудь либа, - указывать к ней абсолютный путь в строке ./configure, точный формат как - смотреть по
./configure -help
ну и такие вещи, как прописать каталоги либ в /etc/ld.so.conf и выполнить ldconfig
но glibc должен находиться - если только случайно не встал в каталог типа /usr/local или еще куда не туда
И действительно - в LFS все это описано исчерпывающе
Спасибо за толковые разъяснения. Но теперь glibc чего-то не хватает:
running configure fragment for nptl/sysdeps/unix/sysv/linux
running configure fragment for nptl/sysdeps/pthread
configure: error: CFI directive support in assembler is required
Я выполнял configure с параметром --enable-add-ons. Из последней строчки не могу понять какой add-on нужно отключить или какую рпм-ку поставить, чтоб он не ругался.
выполняю ~/Downloads/glibc-2.14-build$ ../glibc-2.14/configure
и как понять что оно установилось? ошибок не выдает. пакет который хочет глибц его не находит