On Tuesday 17 January 2006 13:27, Ralf Wildenhues wrote: > Have you ever done a VPATH build? > mkdir build > cd build > ../qdvi/configure [...] > make
Hi, Ralf. Yes, I do exactly this already. On a Linux machine the invocation I use is: ================================================== $ sh ./autogen.sh # wrapper to the autotools. $ mkdir build && cd build $ ../configure --prefix="$PWD/installedqdvi" QTDIR='/usr/local/Qt4' $ make ================================================== which works perfectly. > Once that works, try > make dist > in there. Also works. ================================================== $ (cd build && make maintainer-clean) $ rm -fr build $ sh ./autogen.sh $ mkdir build && cd build $ ../configure --prefix="$PWD/installedqdvi" QTDIR='/usr/local/Qt4' $ make dist ... tardir=qdvi-4.0cvs && /bin/sh /home/angus/qdvi/trunk/config/missing --run tar chof - "$tardir" | GZIP=--best gzip -c >qdvi-4.0cvs.tar.gz tardir=qdvi-4.0cvs && /bin/sh /home/angus/qdvi/trunk/config/missing --run tar chof - "$tardir" | bzip2 -9 -c >qdvi-4.0cvs.tar.bz2 { test ! -d qdvi-4.0cvs || { find qdvi-4.0cvs -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr qdvi-4.0cvs; }; } $ ls boost config.log include libtool msvc qdvi-4.0cvs.tar.bz2 config config.status lib Makefile qdvi qdvi-4.0cvs.tar.gz ================================================== The problem is with "make distcheck" which fails with: ================================================== $ make distcheck ... Making all in qdvi make[2]: Entering directory `/home/angus/qdvi/trunk/build/qdvi-4.0cvs/_build/qdvi' if cmp -s version.cpp-tmp version.cpp ; then \ : ;\ else \ rm -f version.cpp ;\ cp version.cpp-tmp version.cpp ;\ fi echo timestamp > stamp-version kdelibs/kconfig_compiler ../../qdvi/kviewshell.kcfg ../../qdvi/kvsprefs.kcfgc make[2]: kdelibs/kconfig_compiler: Command not found make[2]: *** [kvsprefs.cpp] Error 127 make[2]: Leaving directory `/home/angus/qdvi/trunk/build/qdvi-4.0cvs/_build/qdvi' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/angus/qdvi/trunk/build/qdvi-4.0cvs/_build' make: *** [distcheck] Error 2 ================================================== It fails because "make all" visits the qdvi/kdelibs subdirectory and generates kconfig_compiler before returning to the qdvi directory where it is actually used. "make distcheck" doesn't visit the qdvi/kdelibs subdirectory first. You can see the offending Makefile.am here: http://cvs.sourceforge.net/viewcvs.py/qdvi/qdvi/qdvi/Makefile.am?view=markup Adding DIST_SUBDIRS = $(SUBDIRS) as Harlan suggested has no apparent effect. Regards, Angus