Amarok v2.4.3 doesn't build

Alexander Neundorf neundorf at kde.org
Thu Oct 20 20:53:24 UTC 2011


On Thursday 20 October 2011, Jorge Manuel B. S. Vicetto wrote:
> On 19-10-2011 12:00, kde-buildsystem-request at kde.org wrote:
> > Message: 3 Date: Wed, 19 Oct 2011 00:32:47 +0200 From: Alexander
> > Neundorf <neundorf at kde.org> To: Harald Sitter <sitter at kde.org>,
> > kretschmann at kde.org Cc: kde-buildsystem at kde.org Subject: Amarok
> > v2.4.3 doesn't build Message-ID:
> > <201110190032.47813.neundorf at kde.org> Content-Type: text/plain;
> > charset="us-ascii"
> > 
> > Hi,
> > 
> > I just tried to build amarok from the v2.4.3 tag from git and it
> > failed !!!! ;-)
> > 
> > I tries to link against -L/usr/lib/mysql -lmysqld, but there is no
> > libmysqld.so (probably because the development package is not
> > installed).
> 
> That means your distribution isn't providing a patched mysql to build
> mysqld as a shared library. Upstream has yet to apply the patch to do
> that in both mysql 5.1 and 5.5 series.


So, this was on OpenSUSE 11.4, and the problem were two things:
* the output from mysql-config was trusted without double checking (i.e. extra 
find-calls afterwards)
* mysql-config reported that the mysqld library is present, although it 
wasn't, since it is split into an additional package under OpenSUSE

So, I got it building, and now it also works :-)
 
> > The problem is in FindMySqlAmarok.cmake. If mysql_config is found,
> > it is queried for the flags necessary for linking (mysql_config
> > --libmysqld-lib), and its output is simply put into the
> > MYSQL_EMBEDDED_LIBRARIES variable.
> > 
> > I think here goes the same as with pkg-config: never use the
> > output from such tools directly, but always double check, i.e. if
> > it says "mysqld" is in /usr/lib/mysql/, do a
> > find_library(MYSQL_LIBRARY NAMES mysqld HINTS /usr/lib/mysqld) and
> > use what you get from that. This way, cmake will always have to
> > deal with full paths to libraries, and can takle care that
> > everything will link properly.
> > 
> > Can you please have a look at that file (FindMySqlAmarok.cmake) ?
> > 
> > Thanks Alex
> 
> I'd argue the problem is that mysql, although using cmake for the 5.5
> series, still doesn't provide a "cmake friendly" configuration file /
> tool to provide the same information as mysql_config.

I don't disagree ;-)

Alex


More information about the Kde-buildsystem mailing list