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

Reply via email to