I just merged mysql to merge amarok-2.0, so it's new. Trying to merge amarok-2.0, I get: [ 93%] Building CXX object src/scriptengine/generator/generator/CMakeFiles/qtscript_gui.dir/generated_cpp/com_trolltech_qt_gui/qtscript_QHelpEvent.o Linking CXX shared module ../../../lib/libamarok_collection-daapcollection.so /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/mysql/libmysqld.a(client.o): relocation R_X86_64_32 against `mysql_server_last_error' can not be used when making a shared object; recompile with -fPIC /usr/lib64/mysql/libmysqld.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [lib/libamarok_collection-sqlcollection.so] Error 1 make[1]: *** [src/collection/sqlcollection/CMakeFiles/amarok_collection-sqlcollection.dir/all] Error 2 This is very interesting, since I'm ~amd64 no-multilib, yet it looks to be trying to do something with 32-bit! Also (and perhaps the important bit), it's trying to link the .a which will have been compiled without -fPIC, which of course won't work for shared libraries on amd64, instead of the .so, which should have been compiled with -fPIC as needed. Of course since this is the only reason I need mysql and it's a new merge too, there's nothing else that has tried linking to it, so whether it's amarok specific or a problem with mysql, I don't know. emerge --info to be attached
Created attachment 175175 [details] emerge --info Yes, I have some unusual cflags/ldflags. I haven't tried without them yet but I will, and post the results, just in case they screwed something up.
Created attachment 175177 [details] log file from the emerge attempt
OK, with: CFLAGS="-march=opteron-sse3 -pipe -O2" CXXFLAGS="-march=opteron-sse3 -pipe -O2" LDFLAGS="-Wl,-O1" and after remerging mysql with those flags as well, I get the same error, tho earlier (64%) in the build, probably due to ccache. [ 64%] Building CXX object src/scriptengine/generator/generator/CMakeFiles/qtscript_gui.dir/generated_cpp/com_trolltech_qt_gui/qtscriptshell_QStyleOptionTitleBar.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/mysql/libmysqld.a(client.o): relocation R_X86_64_32 against `mysql_server_last_error' can not be used when making a shared object; recompile with -fPIC /usr/lib64/mysql/libmysqld.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [lib/libamarok_collection-sqlcollection.so] Error 1 make[1]: *** [src/collection/sqlcollection/CMakeFiles/amarok_collection-sqlcollection.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
FWIW: ls /usr/lib64/mysql/libmysqld* only lists the single libmysqld.a, no shared object, no *.la file. Should mysql include the .so, or should amarok be trying static linking?
My dear, did you se that amarok has amd64 keyword? Nopes. So please dont open bug about something we know that is not working. And even did not allowed user to install by default. Closing as duplicate. *** This bug has been marked as a duplicate of bug 238487 ***
(In reply to comment #5) > My dear, did you se that amarok has amd64 keyword? > Nopes. No I didn't, as I've been running ** on both 1.4.9999 and the 2.0 beta series (with 1.90 being the last one available in the tree I guess since it was taken paludis only) for ages. But thanks for pointing it out and doing the dup thing. I'd just not seen that error since I went no-multilib and didn't know it was even possible on a 64-bit only system, so found it rather unsettling, to say the least. Additionally, I saw the amarok 2.0 announcements... and nothing saying "legacy 32-bit" only. What is this, proprietaryware or something? Even Adobe's coming round on 64-bit, but now Amarok's falling off the clue train? WTF? Or is it a Gentoo-only issue? Oh, well, I guess that means KDE-4 continues to be effectively broken for even longer, here. And I was hoping with 4.2 I could actually switch. <shrug>
Duncan, check the bug Tomáš listead as being the duplicate. As you can read there, cmake wants to do a dynamic link to a static lib, mysql doesn't include a build rule to make a dynamic version of libmysqld and on amd64 it isn't possible to link to a non -fPIC lib - in short, a big mess. We're already trying to add a build rule to make mysql build a shared lib for mysqld.
(In reply to comment #7) > check the bug Tomáš listead as being the duplicate. > As you can read there [snip] Thanks. I saw that after I got over my bad mood and decided to check it out. I evaluated apologizing, but had elected to save the additional noise, instead. So anyway, now that I'm replying, please consider this an apology, too. That hit me at a bad time, is all, and after I'd read yet another blog rehashing recent KDE history... to see the what appeared belittling term "my dear"... (which may not be that way in his culture, in hindsight). I still think it's stupid for upstream to make such a prominent dependency on a library with such obvious problems for a large and growing segment of their userbase, especially this far into the KDE 4.x cycle, not pre-4.0 or 4.1, but it's still not fair to lash out at some of the folks working hard at finding a solution to something they too were stuck with, after all. BTW, I did search for amarok-2, but of course that didn't catch Amarok2... so I missed the other bug. So anyway, thanks again for your patience and hard work (both of you and the entire Gentoo/KDE team). I know you guys are working hard to make choices made by others that you may not have made, actually work in practice, and it's appreciated, even tho sometimes it doesn't get communicated so well!