2013-03-16 3 views
28

im пытается построить libxml2 из источника на моем mac.установлен libtool, но libtoolize не найден

так что я Autoconf Libtool и Automake установлен с помощью макинтош портов

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 работать?

ответ

34

Обычно вам необходимо использовать 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 или похожий скрипт.

+0

где обычно находится autogen.sh? – Erik

+0

@Erik - обычно в каталоге верхнего уровня и включен в дистрибутив, добавляя 'EXTRA_DIST = autogen.sh' в верхний уровень' Makefile.am'. Иногда у него есть имя, например 'bootstrap.sh'. Часто разработчики довольны дефолтами, предоставленными 'autoreconf'. –

+2

просто заменил 'libtoolize' на' glibtoolize' работал для меня – domoarrigato

18

Надеюсь, мой ответ не слишком наивен. Я - noob для OSX.

brew Установка libtool решила аналогичную проблему для меня.

+1

Формула (для тех, кто не хочет использовать Homebrew, но не против некоторых указателей) [здесь] (https://github.com/Homebrew/homebrew/блоб/ведущий/Библиотека/Формула/Libtool.rb) – iain

+3

Если вы установили другие инструменты, такие как 'imagemagick', вы можете обнаружить предостережение о вареве: ' Чтобы предотвратить конфликты с собственным libtool от Apple, мы добавили «g», поэтому вместо этого вы: '** glibtool * * 'и' ** glibtoolize ** – pzrq

+0

При установке libtool с заваркой возникает проблема: вы можете получить сообщение об ошибке «/ usr/local/bin/glibtoolize: строка 406: /usr/local/Library/ENV/4.3/sed : Данный файл или каталог отсутствует". Решение, которое сработало для меня, было «brew unlink libtool» (это может быть необязательно), а затем «brew uninstall libtool && brew install libtool» (комментарий ebothmann по адресу https://github.com/Homebrew/legacy-homebrew/issues/ 43874). –

Смежные вопросы