
Geoffroy Fouquier <Geoffroy.Fouquier@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