2013-03-16 3 views
28

Je tente de construire libxml2 à partir de la source sur mon mac.installé libtool mais libtoolize non trouvé

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

autoconf et automake semblent fonctionner très bien comme prévu.

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

libtoolize --version donne malheureusement

-bash: libtoolize: command not found 

i essayer d'exécuter (nouveau)

sudo port install libtool 

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

i essayer

locate libtool 

et il semble être installé bien

/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?

Répondre

34

Vous devez généralement utiliser glibtool et glibtoolize, car libtool existe déjà sur 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 est toujours nommé 'libtool'.

Certains scripts autogen.sh (ou leur équivalent) honoreront 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 ne voulez pas le drapeau --copy.


Remarque: Si vous avez installé les autotools en utilisant MacPorts, un ne demanderont configure.ac avec Makefile.am fichiers écrits correctement autoreconf -fvi. Il devrait appeler glibtoolize, etc., comme prévu. Sinon, certains paquets distribueront un autogen.sh ou un script similaire.

+0

Où est localisé autogen.sh? – Erik

+0

@Erik - généralement dans le répertoire de niveau supérieur, et inclus dans la distribution en ajoutant 'EXTRA_DIST = autogen.sh' dans le' Makefile.am' de niveau supérieur. Parfois, il a un nom comme 'bootstrap.sh'. Souvent, les développeurs sont satisfaits des valeurs par défaut fournies par 'autoreconf'. –

+2

en remplaçant simplement 'libtoolize' par' glibtoolize' travaillé pour moi – domoarrigato

18

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.

+1

La formule (pour ceux qui ne veulent pas utiliser Homebrew, mais cela ne dérange pas certains pointeurs) est [ici] (https://github.com/Homebrew/homebrew/blob/master/Bibliothèque/Formula/libtool.rb) – iain

+3

Si vous avez installé d'autres outils comme 'imagemagick', vous pouvez découvrir la mise en garde suivante: ' Afin d'éviter les conflits avec libtool d'Apple, nous avons ajouté un préfixe "g", vous avez donc: '** glibtool * * 'and' ** glibtoolize ** – pzrq

+0

Il y a un problème lors de l'installation de libtool avec brew: vous pouvez obtenir une erreur comme"/usr/local/bin/glibtoolize: ligne 406: /usr/local/Library/ENV/4.3/sed : Aucun fichier ou répertoire de ce nom". La solution qui a fonctionné pour moi était «brasser unlink libtool» (ce n'est peut-être pas nécessaire), puis «infuser uninstall libtool && brew installer libtool» (commentaire d'ebothmann sur https://github.com/Homebrew/legacy-homebrew/issues/ 43874). –

Questions connexes