Установлен libtool, но libtoolize не найден
im пытается создать libxml2 из источника на моем mac.
поэтому у меня есть autoconf libtool и automake, установленный с использованием портов mac
autoconf и automake, похоже, работают нормально, как ожидалось.
Я сначала запускаю autogen.sh.
libtoolize --version, к сожалению, дает
-bash: libtoolize: command not found
Я пытаюсь запустить (снова)
sudo port install libtool
---> Cleaning libtool
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.
Я пытаюсь
locate libtool
и, кажется, он установлен отлично
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/libtool
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1/libtool.1
/Applications/Xcode.app/Contents/Developer/usr/bin/libtool
/Applications/Xcode.app/Contents/Developer/usr/share/man/man1/libtool.1
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/cross/mipsel-linux-binutils/files/110-uclibc-libtool-conf.patch
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/libtool
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/libtool/Portfile
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/libtool/files
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/libtool/files/ltmain.m4sh-allow-clang-stdlib.diff
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/libtool-devel
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/libtool-devel/Portfile
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/openslp/files/libtool-tags.patch
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/t1lib/files/patch-libtool-tag.diff
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/print/pdflib/files/patch-libtool.diff
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/security/steghide/files/libtool-tag.diff
/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/www/apache2/files/libtool-tag.diff
/usr/bin/libtool
/usr/lib/php/build/libtool.m4
/usr/share/apr-1/build-1/libtool
/usr/share/man/man1/libtool.1
как я могу заставить libtoolize работать?
Ответы
Ответ 1
Обычно вам нужно использовать glibtool
и glibtoolize
, так как libtool
уже существует в OS X как двоичный инструмент для создания динамических библиотек Mach-O. Итак, как MacPorts устанавливает его, используя преобразование имени программы, хотя сам порт по-прежнему называется "libtool".
Некоторые скрипты autogen.sh
(или их эквиваленты) будут соблюдать переменные среды libtool
/LIBTOOLIZE
. У меня есть строка в моих собственных сценариях autogen.sh
:
case `uname` in Darwin*) glibtoolize --copy ;;
*) libtoolize --copy ;; esac
Вы можете или не хотите флаг --copy
.
Примечание. Если вы установили autotools с помощью MacPorts, правильно написанные файлы configure.ac
с Makefile.am
должны требовать только autoreconf -fvi
. Он должен называть glibtoolize
и т.д., Как и ожидалось. В противном случае некоторые пакеты будут распространять autogen.sh
или аналогичный script.
Ответ 2
Надеюсь, мой ответ не слишком наивен. Я noob для OSX.
brew install libtool решил для меня аналогичную проблему.
Ответ 3
Альтернативой Brew является использование macports
. Например:
$ port info libtool
libtool @2.4.6_5 (devel, sysutils)
Variants: universal
Description: GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
Homepage: https://www.gnu.org/software/libtool
Build Dependencies: xattr
Platforms: darwin, freebsd
License: libtool
Maintainers: Email: [email protected], GitHub: larryv
Затем, как Brew, вы делаете:
$ sudo port install libtool
Password:
---> Fetching archive for libtool
---> Attempting to fetch libtool-2.4.6_5.darwin_15.x86_64.tbz2 from https://packages.macports.org/libtool
---> Attempting to fetch libtool-2.4.6_5.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/libtool
---> Installing libtool @2.4.6_5
---> Activating libtool @2.4.6_5
---> Cleaning libtool
---> Updating database of binaries
---> Updating database of C++ stdlib usage
---> Scanning binaries for linking errors
---> No broken files found.
---> No broken ports found.
Затем вы можете проверить, где он находится... кстати, вы можете использовать мягкую ссылку glibtoolize для libtoolize. Для моих нужд либо было в порядке
$ which glibtoolize
/opt/local/bin/glibtoolize
Ответ 4
Для объединения нескольких потоков libtoolize
устанавливается как glibtoolize
при установке libtool
с использованием brew. Это может быть достигнуто следующим образом; установите его, а затем создайте программную ссылку для libtoolize:
brew install libtool
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize