2009-07-27 14 views
7

Je fais une conversion assez simple d'une bibliothèque existante (libtcod) en Autotools (pour le bonheur d'OS X) . Malheureusement, lorsque je mets la règle lib_LIBRARIES à lib_LTLIBRARIES, la construction passe de succès à un. Extrait de la sortie ci-dessous:LTLIBRARIES: mv * .Tpo * .Plo, mais le premier n'existe pas et le dernier le fait déjà

Making all in . 
make[1]: Nothing to be done for `all-am'. 
Making all in src 
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -g -O2 -MT bresenham_c.lo -MD -MP -MF .deps/bresenham_c.Tpo -c -o bresenham_c.lo bresenham_c.c 
mv -f .deps/bresenham_c.Tpo .deps/bresenham_c.Plo 
mv: rename .deps/bresenham_c.Tpo to .deps/bresenham_c.Plo: No such file or directory 
make[1]: *** [bresenham_c.lo] Error 1 
make: *** [all-recursive] Error 1 

src/Makefile.am ressemble à ceci:

lib_LTLIBRARIES = libtcod.la 
libtcod_la_SOURCES = bresenham_c.c bresenham3_c.c bsp_c.c color_c.c ... 

src/.deps contient:

$ ls src/.deps/ 
bresenham_c.Plo bresenham_c.Po ... 

Suis-je faire une erreur évidente ici, ou si ce travail?

Répondre

10

Oui, je fais une erreur évidente. Je devais exécuter autoreconf -i pour créer un script ltmain.sh non vide; l'existant a fait ../libtool ici un no-op.

+0

Je me bats la tête contre ce même problème depuis un certain temps. Mon programme s'est bien passé, jusqu'à ce que je l'ai essayé sur openSUSE12.1. Cela m'a fixé. –

+3

qu'est-ce que .Tpo et .Plo, au fait? et comment 'autoreconf -i' aide-t-il à résoudre les problèmes qui y sont liés? et pourquoi cela n'apparaît-il pas dans la documentation README ou INSTALL de projets en fonction de l'automake? – PypeBros

+0

Je ne sais pas ce que tout cela est, mais il a résolu mon problème en essayant de compiler rxp-1.5.0, dans le cadre des outils SPEC dans CPU2006-1.2 sur ARM. Donc merci pour ça. – Chris