Подтвердить что ты не робот

Установлен 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 работать?

4b9b3361

Ответ 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