web-dev-qa-db-fra.com

libtool installé mais libtoolize introuvable

im essayant de construire libxml2 à partir de la source sur mon mac.

donc j'ai autoconf libtool et automake installés en utilisant les ports mac

autoconf et automake semblent fonctionner correctement comme prévu.

j'essaie d'exécuter autogen.sh en premier.

libtoolize --version donne malheureusement

-bash: libtoolize: command not found

j'essaie de courir (encore)

Sudo port install libtool

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

j'essaie 

locate libtool

et il semble être bien installé 

/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

comment puis-je faire fonctionner libtoolize?

30
tzl

Vous devez généralement utiliser glibtool et glibtoolize, car libtool existe déjà sous OS X en tant qu'outil binaire pour créer des bibliothèques dynamiques Mach-O. C'est ainsi que MacPorts l'installe en utilisant une transformation de nom de programme, même si le port lui-même s'appelle toujours 'libtool'.

Certains scripts autogen.sh (ou leur équivalent) respecteront les variables d'environnement LIBTOOL/LIBTOOLIZE. J'ai une ligne dans mes propres scripts autogen.sh:

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

Vous pouvez ou non vouloir l'indicateur --copy.


Remarque: Si vous avez installé les outils automatiques à l'aide de MacPorts, un configure.ac avec des fichiers Makefile.am correctement écrit ne devrait nécessiter que autoreconf -fvi. Il doit appeler glibtoolize, etc., comme prévu. Sinon, certains packages distribueront un script autogen.sh ou similaire.

38
Brett Hale

J'espère que ma réponse n'est pas trop naïve. Je suis un noob à OSX.

brew install libtool a résolu un problème similaire pour moi.

22
natersoz

Une alternative à Brew consiste à utiliser macports. Par exemple:

$ 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

Alors comme Brew, tu fais: 

$ 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.

Ensuite, vous pouvez vérifier où il vit ... en passant, vous pouvez lier softlink glibtoolize à libtoolize. Pour mes besoins soit était bien

$ which glibtoolize
/opt/local/bin/glibtoolize
0
ruoho ruotsi