Geoffroy Fouquier <Geoffroy.Fouquier(a)lrde.epita.fr> writes:
% CXX=/usr/bin/g++ CXXFLAGS='-Wall
-march=pentium3' ./configure --without-config-sh --without-demo --without-doc
--without-mlc-tests --without-mlc-testsuite --without-morpho-utilities --without-ntg-tests
--without-ntg-testsuite --without-oln-tests --without-oln-testsuite --without-pylena
--without-swilena --without-tools --without-utilities --prefix=/home/djo/work/oln
[...]
% CXX=/usr/bin/g++ CXXFLAGS='-Wall -march=pentium3' make
[...]
% CXX=/usr/bin/g++ CXXFLAGS='-Wall -march=pentium3' make install
[...]
make[2]: Entering directory `/home/djo/work/olena-0.8/olena'
make[3]: Entering directory `/home/djo/work/olena-0.8/olena'
make[3]: Rien à faire pour « install-exec-am ».
/bin/sh ../config/mkinstalldirs /home/djo/work/oln/share/olena
/usr/bin/install -c -m 644 conf/configure /home/djo/work/oln/share/olena/configure
/usr/bin/install -c -m 644 conf/oln-config.shin
/home/djo/work/oln/share/olena/oln-config.shin
make install-data-hook
make[4]: Entering directory `/home/djo/work/olena-0.8/olena'
make[4]: *** Pas de règle pour fabriquer la cible « install-data-hook ». Arrêt.
make[4]: Leaving directory `/home/djo/work/olena-0.8/olena'
make[3]: *** [install-data-am] Erreur 2
make[3]: Leaving directory `/home/djo/work/olena-0.8/olena'
make[2]: *** [install-am] Erreur 2
make[2]: Leaving directory `/home/djo/work/olena-0.8/olena'
make[1]: *** [install-recursive] Erreur 1
make[1]: Leaving directory `/home/djo/work/olena-0.8/olena'
make: *** [install-recursive] Erreur 1
Ca fonctionne si j'enlève --without-config-sh du configure.
J'ai ce bug sur une 0.8 et sur la dernière 10.6
Le fichier incriminé est olena/Makefile.am, dont voici un extrait :
,--------------------------------------------------------------------.
| if OLN_CONFIG_SH |
| |
| install-data-hook: $(srcdir)/conf/configure |
| $(srcdir)/conf/gen-scripts.sh $(srcdir)/conf/compilers.def |
| mkdir -p conf && $(SHELL) $(srcdir)/conf/gen-scripts.sh |
| $(DESTDIR)$(includedir) $(srcdir)/conf ./conf |
| $(mkinstalldirs) $(DESTDIR)$(bindir) @ for p in |
| conf/oln-config-*.sh; do \ if test -f $$p; then \ f=`echo |
| "$$p" | sed 's,^.*/,,;$(transform)'`; \ echo "
|
| $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p |
| $(DESTDIR)$(bindir)/$$f"; \ $(INSTALL_PROGRAM_ENV) |
| $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f || exit 1; |
| \ else :; fi; \ done |
| |
| uninstall-hook: @ for p in conf/oln-config-*.sh; do \ f=`echo |
| "$$p" | sed 's,^.*/,,;$(transform)'`; \ echo " rm -f
|
| $(DESTDIR)$(bindir)/$$f"; \ rm -f $(DESTDIR)$(bindir)/$$f; |
| \ done |
| |
| endif |
`--------------------------------------------------------------------'
Une solution rapide serait d'écrire un `else' avec les deux règles
vides, mais le problème est ailleurs. Pourquoi ces règles sont-elles
toujours appelées ?
Utiliser les hook, c'est l'étape préliminaire à la pendaison, et donc
je ne vois pas de bonne raison d'appeler un hook inconditionnellement.
Raph ? Ou bien ?
--
astrid