builddir!=srcdir problem

Alexander Neundorf neundorf at kde.org
Tue Mar 21 19:01:55 CET 2006


On Tuesday 21 March 2006 16:36, Andras Mantia wrote:
> Hi,
>
>  Now that I find how to subscribe to the mailing list, I post my problem
> here as well, maybe it's a better place than kde-core-devel. I'm trying
> to build kdelibs trunk in a buildir!=srcdir setup.
>
> Right now during make I get this error:
>
>  make[1]: Entering directory
>  `/media/extra/data/data/kde4/build/kdelibs' make -f
>  dcop/CMakeFiles/DCOP.dir/build.make
>  dcop/CMakeFiles/DCOP.dir/depend
>  make[2]: Entering directory
>  `/media/extra/data/data/kde4/build/kdelibs' make[2]: *** No rule to
>  make target
>  `../../../../data/development/sources/kde-trunk/kdelibs/dcop/dcopstub
> .cpp', needed by `dcop/CMakeFiles/DCOP.dir/depend.make.mark'.  Stop.
>  make[2]: Leaving directory
>  `/media/extra/data/data/kde4/build/kdelibs' make[1]: ***
>  [dcop/CMakeFiles/DCOP.dir/all] Error 2
>  make[1]: Leaving directory
>  `/media/extra/data/data/kde4/build/kdelibs' make: *** [all] Error 2
>
> I tested and it happens only with builddir != srcdir.
>
> Furthermore the problem is in dcop/CMakeFiles/DCOP.dir/build.make.
>
> Now I'm not sure anymore if this is a cmake problem or the limitation
>  of make itself. There are rules like:
>
> dcop/CMakeFiles/DCOP.dir/depend.make.mark:
> dcop/CMakeFiles/DCOP.dir/flags.make
> dcop/CMakeFiles/DCOP.dir/depend.make.mark:
>  ../../../../data/development/sources/kde-trunk/kdelibs/dcop/dcopstub.c
> pp
>
> dcop/CMakeFiles/DCOP.dir/dcopstub.o:
>  dcop/CMakeFiles/DCOP.dir/flags.make
>  dcop/CMakeFiles/DCOP.dir/dcopstub.o:
>  ../../../../data/development/sources/kde-trunk/kdelibs/dcop/dcopstub.c
> pp @echo "Building CXX object dcop/CMakeFiles/DCOP.dir/dcopstub.o"
>  /usr/bin/c++   $(CXX_FLAGS) -o
> dcop/CMakeFiles/DCOP.dir/dcopstub.o
> -c /data/development/sources/kde-trunk/kdelibs/dcop/dcopstub.cpp
>
>
> depend.make.mark requires dcopstub.cpp from the source directory and
> altough there is a rule for dcopstub.o, I get the error. But if I use
> absolute paths instead of relative ones (like it is after the "-c"),
> make will accept and no error is given.
> If make really wants absolute paths, cmake should convert the relative
> paths to absolute in all places and use that one.

Is it possible that you have some leftovers of an in-source build or an 
out-of-source build from 16th march to 19th march in your source tree ? If 
there are some, they usually hurt.
Simple solution: get a fresh checkout and build out-of-source again.

Bye
Alex
-- 
Work: alexander.neundorf AT jenoptik.com - http://www.jenoptik-los.de
Home: neundorf AT kde.org                - http://www.kde.org
      alex AT neundorf.net               - http://www.neundorf.net


More information about the Kde-buildsystem mailing list