[Kmymoney-devel] Re: cmake fails on openSuse 11.4 (X64) - SOLVED

aga agander93 at gmail.com
Fri Mar 11 23:22:30 CET 2011


On Fri, 11 Mar 2011 14:17:47 +0000
aga <agander93 at gmail.com> wrote:

> On Fri, 11 Mar 2011 13:32:19 +0100
> Thomas Baumgart <thb at net-bembel.de> wrote:
> 
> > Hi,
> > 
> > on Friday 11 March 2011 12:53:27 aga wrote:
> > 
> > > On Thu, 10 Mar 2011 22:41:59 +0000
> > > 
> > > aga <agander93 at gmail.com> wrote:
> > > > >>Date: Thu, 10 Mar 2011 20:46:30 +0000
> > > > >>From: aga <agander93 at gmail.com>
> > > > >>To: kmymoney-devel at kde.org <kmymoney-devel at kde.org>
> > > > >>Subject: [Kmymoney-devel]  cmake fails on openSuse 11.4 (X64)
> > > > >>
> > > > >>
> > > > >>I get the following -
> > > > >>
> > > > >>CMake Error
> > > > >>at /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake:469
> > > > >>(message): Your version of automoc4 is too old.  You have
> > > > >>0.9.83, you need at least 0.9.88 Call Stack (most recent call
> > > > >>first):
> > > > >>  /usr/share/cmake/Modules/FindKDE4.cmake:95 (FIND_PACKAGE)
> > > > >>  CMakeLists.txt:50 (FIND_PACKAGE)
> > > > >>
> > > > >>In fact, the version installed is 0.9.88.
> > > > >>
> > > > >>There is a FindAutomoc4.cmake but I can't see a check for
> > > > >>automoc4 in KMM CMakeLists.txt.  Should I?
> > > >
> > > > Following up, I bodged my way past that problem, but, trying to
> > > > build Alkimia, I now get -
> > > >
> > > > -- Found automoc4: /usr/bin/automoc4
> > > > CMake Error
> > > > at /usr/share/kde4/apps/cmake/modules/KDE4Macros.cmake:43
> > > > (automoc4): Unknown CMake command "automoc4". Call Stack (most
> > > > recent call
> > > > first): /usr/share/kde4/apps/cmake/modules/KDE4Macros.cmake:1026
> > > > (_automoc4_kde4_pre_target_handling) CMakeLists.txt:54
> > > > (kde4_add_library)
> > > >
> > > > Am I right in thinking this is not a KMM issue, but a general
> > > > build problem?
> > > >
> > > > Allan
> > > 
> > > The problem I'm having seems to be that cmake is expecting libs to
> > > be in /usr/lib, when they are actually in /usr/lib64.  I've copied
> > > cmake and automoc4 directories from /usr/lib to /usr/lib64 and
> > > have progressed somewhat, but now get -
> > > 
> > > [  1%] Built target kmm_kdchart_automoc
> > > make[2]: *** No rule to make target `/usr/lib/libQtSvg.so', needed
> > > by `lib/libkmm_kdchart.so.4.6.0'.  Stop.
> > > 
> > > Again, it's the same issue and this lib again is in /usr/lib64,
> > > but there are many, many more there and it's obvious there must
> > > be a better approach.
> > > 
> > > I'd appreciate guidance on this, while I continue googling.
> > 
> > Just downloaded the DVDs for installation over the weekend. Need to
> > make backups of everything first.
> > 
> > Try 'cmake .. -DLIB_SUFFIX=64' and see if that makes a difference.
> > 
> > My current (11.3 based) CMakeCache.txt file contains:
> > 
> > thb at localhost:~/devel/kmymoney4/build> grep LIB_SUFFIX
> > CMakeCache.txt LIB_SUFFIX:STRING=64
> > 
> > and all libs have the 64 added. Also, what is the output of
> > 
> > thb at localhost:~/devel/kmymoney4/build> kde4-config --libsuffix
> > 64
> 
> OK, I'd already tried that, amongst several other permutations, but
> still was having the problem.  I decided to try cmake-gui and with
> that I was able to build successfully, but the plugins were in the
> wrong place and weren't found.  Still had the problem when using
> KDev, but finally managed with cmake-gui to complete the build and
> have the plugins found.  The build is not where it needs to be, but
> at least it's working.  Now to sort out the build location.
> 
> I'd picked up about  cmake .. -DLIB_SUFFIX=64 via google, but must
> have had another problem at the time.  I am using that now.
> kde4-config --libsuffix is 64.
> 
> Thanks
> 
> Allan

I couldn't understand why I couldn't build from within KDev, but could
using cmake-gui, albeit with some confusion about output directories.
Eventually, I got to comparing, briefly, the two CMakeCache.txt files,
enough to realise that there were many differences.

So, I went back to building via KDev, and when it complained about
something not found, I edited the CMakeCache.txt and changed /usr/lib
to /usr/lib64.  Error by error, I went through them all.  I decided not
to do a blanket edit, but just do what was picked up.  Finally, it
built, and it ran.  I had realised by now that this wasn't what was
supposed to happen.  But, by this time a light had started to glimmer,
belatedly.  So, I cleared the build directory and restarted.

This time, it sailed through.

The moral?  When you switch from 32-bit to 64-bit, don't rely on what
is already there!  I always keep my /home directory, but need to be
more careful about using it, especially after a fundamental change.
Still, at least I'm a little wiser, if sadder.

Allan



More information about the KMyMoney-devel mailing list