2013-03-16 3 views
28

내 Mac에서 libxml2를 소스에서 빌드하려고합니다. 예상대로libtool을 설치했지만 libtoolize를 찾을 수 없습니다.

그래서 내가 autoconf를의 libtool이와 automake는이 맥 포트

의 autoconf와 automake에를 사용하여 설치가 잘 작동하는 것 같다.

먼저 autogen.sh를 실행 해보십시오.

libtoolize의 --version 불행하게도 내가

sudo port install libtool 

---> Cleaning libtool 
---> Scanning binaries for linking errors: 100.0% 
---> No broken files found. 

내가

locate libtool 

을 시도하고 그것을 잘 설치 될 것으로 보인다 (다시) 실행하려고

-bash: libtoolize: command not found 

을 제공

/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

libtool이 Mach-O 동적 라이브러리를 만들기위한 바이너리 도구로 이미 존재하기 때문에 일반적으로 glibtoolglibtoolize을 사용해야합니다. 그래서 MacPorts가 프로그램 이름 변환을 사용하여 MacPorts를 설치하는 방법입니다. 포트 자체의 이름은 여전히 ​​'libtool'입니다.

일부 autogen.sh 개의 스크립트 (또는 이에 상응하는 것)는 LIBTOOL/LIBTOOLIZE 개의 환경 변수를 준수합니다.

case `uname` in Darwin*) glibtoolize --copy ;; 
    *) libtoolize --copy ;; esac 

당신은 또는 --copy 플래그를하지 않을 수있다 : 나는 내 자신의 autogen.sh 스크립트의 라인을 가지고있다.


참고 : MacPorts를를 사용하여 autotools를를 설치 한 경우, 정확하게 작성 configure.acMakefile.am의 파일 만 autoreconf -fvi을 필요로한다. 예상대로 glibtoolize 등을 호출해야합니다. 그렇지 않으면 일부 패키지는 autogen.sh 또는 유사한 스크립트를 배포합니다.

+0

일반적으로 autogen.sh는 어디에 있습니까? – Erik

+0

@Erik - 일반적으로 최상위 디렉토리에 있으며 최상위'Makefile.am'에'EXTRA_DIST = autogen.sh'를 추가하여 배포판에 포함됩니다. 때때로'bootstrap.sh'와 같은 이름을 가지고 있습니다. 종종 개발자는'autoreconf '가 제공하는 기본값에 만족한다. –

+2

간단히'libtoolize'를'glibtoolize'로 대체하면 나를 바꿨습니다 – domoarrigato

18

답변이 너무 순진하지 않기를 바랍니다. 나는 OSX에 대한 멍청한 행동이다.

brew libtool을 설치하면 비슷한 문제가 해결됩니다.

+1

수식 (Homebrew를 사용하고 싶지는 않지만 일부 포인터는 신경 쓰지 않는 사람들을위한)은 [here]입니다 (https://github.com/Homebrew/homebrew/blob/master/Library/Formula/libtool.rb) – iain

+3

'imagemagick'과 같은 다른 도구를 설치했다면 양조주의 사항을 발견 할 수 있습니다 : 'Apple 자신의 libtool과의 충돌을 막기 위해 "g"를 앞에 붙였습니다. 대신'** glibtool * *'and' ** glibtoolize ** – pzrq

+0

brew로 libtool을 설치할 때 문제가 있습니다. "/ usr/local/bin/glibtoolize : line 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). –

관련 문제