Eugene Kuznetsov <[EMAIL PROTECTED]> writes: > ES> | $ LANG=C make > ES> | cd . && /bin/sh /var/volatile/rpm/SOURCES/avifile0.6-20011220/missing --run >aclocal > ES> | cd . && \ > ES> | /bin/sh /var/volatile/rpm/SOURCES/avifile0.6-20011220/missing --run automake >--foreign Makefile > ES> | cd . && perl admin/am_edit --foreign-libtool --no-final Makefile.in > ES> | Can't open perl script "admin/am_edit": No such file or directory > ES> | make: *** [Makefile.in] Error 2 > > Did you run autogen.sh?
When running autogen.sh, it fails with | g++ -DHAVE_CONFIG_H -I. -I. -I../include -I/usr/lib/qt3/include -DQT_THREAD_SUPPORT |-Wall -Wno-unused -g -march=i586 -ffast-math -pipe -c audc_p.cpp -MT audc_p.lo -MD |-MP -MF .deps/audc_p.TPlo -fPIC -DPIC -o audc_p.lo | audc_p.cpp:53:22: audc_p.moc: No such file or directory | make[1]: *** [audc_p.lo] Fehler 1 | make[1]: Verlassen des Verzeichnisses Verzeichnis |�/tmp/XX/avifile0.6-20011220/libavqt� | make: *** [all-recursive] Fehler 1 It is caused by "automake" (called within autogen.sh) which removes the KDE stuff from Makefile.in which is responsible for building the .moc file. Beside that, a package should not require autogen.sh to be run. A "./configure && make && make install" should be enough... > ES> Probably, this is caused by automake which detects a change somewhere and > ES> tries to rebuild all Makefile's. Such unwanted changes on user-side can > ES> be bypassed by using the AM_MAINTAINER_MODE macro in the configure.in. > ES> Developers will have to use './configure --enable-maintainer-mode' to > ES> achieve the current behavior (regenerating Makefile when Makefile.am has > ES> been changed). > > ES> The attached patch will add this macro. > > It is arguable that this behavior is really unwanted, since you > wouldn't have modified one of makefile.am's without reason... When using the "./configure && make ..." way (see my example above), such modifications will be assumed (else the "...missing --run automake --foreign Makefile" would not be executed). This seems to be caused somehow by the KDE stuff. > ES> There are some other issues leading to some incompatibility with the GNU > ES> buildsystem. E.g., automake requires the files NEWS and AUTHORS. These > ES> files are missing in all three subdirs which are having a ./configure. This > ES> strictness can be removed by an > > ES> | AUTOMAKE_OPTIONS = foreign > > Or by '--foreign' option in autogen.sh. "autoreconf" is the official way to generate the build-system. autogen.sh needs manual changes, can contain errorprone code, can be incompatible with further auto* versions and must duplicate function being already in autoreconf. Therefore I don't like it and prefer "autoreconf" which needs the AUTOMAKE_OPTIONS. When calling "automake" to regenerate some Makefile.in quickly, it will fail also. Enrico _______________________________________________ Avifile mailing list [EMAIL PROTECTED] http://prak.org/mailman/listinfo/avifile
