FS#11591 - amarok2 from trunk and next beta will require mysql embedded

Attached to Project: Arch Linux
Opened by mangus (mangus) - Friday, 26 September 2008, 21:21 GMT
Last edited by Tobias Powalowski (tpowa) - Saturday, 18 April 2009, 21:22 GMT
Task Type Support Request
Category Packages: Extra
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity High
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 17
Private No

Details

Description:

amarok2 from trunk and next beta will require mysql embedded
Current extra package is compiled without options *--with-embedded-server
It would be nice to consider adding this feature.


This task depends upon

Closed by  Tobias Powalowski (tpowa)
Saturday, 18 April 2009, 21:22 GMT
Reason for closing:  Fixed
Comment by Vincent R (Sphax) - Saturday, 27 September 2008, 13:12 GMT
In addition, mysql need to be built with --enable-shared --enable-static otherwise amarok won't compile due to this error:
/usr/bin/ld: /usr/lib/mysql/libmysqld.a(my_thr_init.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object
Comment by mangus (mangus) - Saturday, 27 September 2008, 15:05 GMT
I just compiled amarok svn using a custom mysql package version. All went fine, only thing I added to PKGBUILD in abs was --with-embedded-server config option.
This is on i686. Amarok seems to use now the mysqle database storage.
Comment by Vincent R (Sphax) - Saturday, 27 September 2008, 16:07 GMT
I forgot to mention that the problem of relocation is on a x86_64 system :)
I didn't test on i686
Comment by Mark (Lifty) - Tuesday, 30 September 2008, 12:32 GMT
I'm rebuilding the mysql package right now. Would love if you make the next package with this option.
Comment by mangus (mangus) - Friday, 03 October 2008, 12:41 GMT
the new 5.0.68 build fix the problem adding --with-embedded-server config option.
This can be closed now , I think.
Thanks
Comment by Mark (Lifty) - Saturday, 04 October 2008, 13:50 GMT
It still does not work with a custom build of mysql on x86_64 (as the official packages are not updated yet). I also tried --enable-shared --enable-static but it doesn't help.
Comment by Vincent R (Sphax) - Saturday, 04 October 2008, 13:57 GMT
Try adding
export CFLAGS="${CFLAGS} -fPIC -DPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC -DPIC"
Comment by Mark (Lifty) - Saturday, 04 October 2008, 15:09 GMT
Thank you Vincent it worked!
Comment by Nicolas Bigaouette (big_gie) - Wednesday, 05 November 2008, 04:10 GMT
So could mysql be built with "-fPIC -DPIC" on x86_64?
Or should that go in makepkg.conf?
Comment by Martin Sandsmark (sandsmark) - Saturday, 08 November 2008, 18:18 GMT
When can we expect a fixed x86_64 package?
Comment by Douglas Soares de Andrade (dsa) - Monday, 08 December 2008, 09:24 GMT
Hi Pierre and Eric,

What about putting these configs in the mysql x86_64 package to compile. Is this really needed ?

Thanks
Comment by Pierre Schmitz (Pierre) - Monday, 08 December 2008, 10:43 GMT
Whoever maintains Amarok (afaik 2.0 was released some days ago) should test this. ATM I don't see any problem with our mysql package.
Comment by Pierre Schmitz (Pierre) - Thursday, 11 December 2008, 10:46 GMT
I am currently looking into this and try to get Amarok built. The fpic-thing seems to be a bad workaround we should really not use here.
Comment by Martin Sandsmark (sandsmark) - Thursday, 11 December 2008, 12:28 GMT
How is it a bad workaround? PIC is a very good thing, especially on amd64, as far as I understand.
Quoting some Gentoo docs: «On certain architectures (AMD64 amongst them), shared libraries must be "PIC-enabled".»
Or bad workaround in the sense that the mysql build system should enable it itself? The correct procedure seems to be to pass «--disable-shared --with-pic» to configure, according to http://bugs.mysql.com/bug.php?id=8796
Or am I misunderstanding something fundamental here? =)
Comment by Pierre Schmitz (Pierre) - Thursday, 11 December 2008, 13:17 GMT
I have assigned tpowa as he is the Amarok maintainer. I have also attached the PKGBUILD for Amarok 2. It needs libmtp updated to 0.3.3 and mysql compiled with "export CFLAGS="$CFLAGS -fPIC"; export CXXFLAGS="$CXXFLAGS -fPIC"". But I am not sure if this might reduce performance of mysql; and performance is critical to those who use mysql.

However, I think there are some problems on both sides, mysql and amarok. See http://bugs.mysql.com/bug.php?id=39288. ATM Amarok seems to link to a static mysql file within a dynamic lib. It would be best if Amarok links dynamically to mysql; static builds are bad anyway.

Comment by André Fettouhi (A.Fettouhi) - Monday, 22 December 2008, 09:01 GMT
libmtp is in version 0.3.4 now.

Regards

André
Comment by Alois Nespor (anespor) - Monday, 26 January 2009, 10:48 GMT
Amarok needs also add --with-pic
to the ./configure command and add

export CFLAGS="-fPIC ${CFLAGS}"
export CXXFLAGS="-fPIC ${CXXFLAGS}"
before the ./configure line for x86_64 mysql.

Without this does not work. Is this possible?
Comment by Chris Smart (csmart) - Friday, 06 March 2009, 02:56 GMT
Some tests might need to be done to see whether PIC should be permanently enabled or not for those who use MySQL in a production environment. Possibly we could just introduce a new package mysql-embedded or something which could use PIC and with-embedded-server options?

-c
Comment by Erwin Van de Velde (evdvelde) - Wednesday, 11 March 2009, 15:24 GMT
When can we expect amarok 2 in the repositories? It has been released on Dec 10th... It is very unlikely that the PIC flag will cause problems in mysql and this can easily be tested.
Comment by Sergio (SergioPR) - Tuesday, 17 March 2009, 14:36 GMT
Amarok 2.0.2 is not working right: http://kdemod.ath.cx/bbs/viewtopic.php?id=526&p=1
It's not able to build the collection and it seems to be a mySQL problem.
Could any one check this?

Thank you in advance
Comment by Tobias Powalowski (tpowa) - Sunday, 22 March 2009, 22:14 GMT
latest amarok svn still doesn't build without -fPIC, only solution is to compile mysql with this option on x86_64.

Loading...