安装了libtool但找不到libtoolize

tzl*_*tzl 34 macos autoconf autotools libxml2 libtool

我试图在我的mac上从源代码构建libxml2.

所以我使用mac ports安装了autoconf libtool和automake

autoconf和automake似乎正如预期的那样正常工作.

我首先尝试运行autogen.sh.

不幸的是,libtoolize --version给出了

-bash: libtoolize: command not found
Run Code Online (Sandbox Code Playgroud)

我尝试跑步(再次)

sudo port install libtool

--->  Cleaning libtool
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
Run Code Online (Sandbox Code Playgroud)

我试试

locate libtool
Run Code Online (Sandbox Code Playgroud)

它似乎安装得很好

/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
Run Code Online (Sandbox Code Playgroud)

我如何让libtoolize工作?

Bre*_*ale 38

您通常需要使用glibtoolglibtoolize,因为libtool已经存在于OS X上作为创建Mach-O动态库的二进制工具.所以,这就是MacPorts如何使用程序名称转换来安装它,尽管端口本身仍然被命名为"libtool".

一些autogen.sh脚本(或它们的等价物)将遵循LIBTOOL/ LIBTOOLIZEenvironment变量.我在自己的autogen.sh脚本中有一行:

case `uname` in Darwin*) glibtoolize --copy ;;
  *) libtoolize --copy ;; esac
Run Code Online (Sandbox Code Playgroud)

你可能想要也可能不想要这面--copy旗帜.


注意:如果你使用的MacPorts安装了自动工具,正确的书面configure.acMakefile.am文件应该只要求autoreconf -fvi.它应该glibtoolize按预期调用等.否则,某些包将分发一个autogen.sh或类似的脚本.

  • 简单地用'glibtoolize'替换`libtoolize`对我有用 (3认同)

nat*_*soz 25

我希望我的回答不是太天真.我是OSX的菜鸟.

brew install libtool为我解决了类似的问题.

  • 如果您已经安装了其他工具,例如`imagemagick`,您可能会发现酿造警告:"为了防止与Apple自己的libtool发生冲突,我们预先设置了"g",所以,您可以改为:`**glibtool**`和`****glibtoolize (4认同)

Pie*_*erz 16

libtoolize与使用brew安装glibtoolize时一样安装几个线程。这可以通过以下方式实现;安装它,然后为 libtoolize 创建一个软链接:libtool

brew install libtool
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
Run Code Online (Sandbox Code Playgroud)

  • 最好使用 `ln -s $(which glibtoolize) /usr/local/bin/libtoolize` (4认同)