On Tuesday, 1 May 2007 22:59, Michael Gerdau wrote:
> > $ objdump -a /usr/lib64/qt3/lib/libqassistantclient.a
> >
> > It should list some .o object files, with format elf64-x86_64.
>
> Right on the spot!
>
> /usr/lib64/qt3/lib/libqassistantclient.a is elf32-i386
> /usr/lib64/qt3/lib64/libqassistantclient.a is elf64-x86_64
>
> And I have installed both...

CMake doesn't work very well in mixed architecture environments. They have 
implemented this strategy: Calculate the size of type (void *). If it is 64 
bits, then replace the references of lib/ directory names by lib64/ when 
searching for libraries. Perhaps they only replace the first match on each 
path string, I'm not sure. This prevents you from cross-compiling 32 bits 
binaries in a 64 bits OS. And what happens with distros using lib32/ 
directories, or any other exotic (like Suse one) libdir naming scheme?. I 
would prefer a --libsuffix=64 option, like the autohells.

> > Anyway, Rosegarden does not use this library. CMake included it in the
> > linker list, being smart in excess. You may move it to elsewere before
> > invoking cmake, and restore it to the original place after the
> > compilation.
>
> I could do that for the sake of checking whether you are right
> (which I assume you are). However I would not want to do this
> everytime I do compile rosegarden...
>
> Apart from cmake being smart in excess, shouldn't cmake realize
> I'm on 64bit and thus select the 64bit qt libdir ?

They are trying to do it. They have failed sometimes, of course, but you 
aren't being too fair here. Suse 10.2 ships cmake-2.4.3, while the latest 
version released is cmake-2.4.6. Changelog for 2.4.4 says:
* Fix path suffix stuff with lib64 in FIND_* stuff.

Not sure if the fix is really worth, but you can try yourself.

Of course, they shouldn't be guilty for not being able to handle any and every 
directory naming scheme in the Linux world. If Suse needs an uncommon one,  
they should also patch their software configuration and building tools.

> Or what would I have to tell cmake to make it select lib64 instead
> of lib ?

You may want to fix the Qt3 library search module, that you can find at:
/usr/share/cmake/Modules/FindQt3.cmake

It would be better than edit CMakeCache for every Qt/KDE project you need to 
compile in this system.

Regards,
Pedro

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to