This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Please could some one elaborate on a part of the build instructions?

Tags: None
(comma "," separated)
tnw
Registered Member
Posts
6
Karma
0
Hi!
According to : http://amarok.kde.org/wiki/Compiling:2.0

cmake .. -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`

is used to configure the build. Now I'd really like to know what that exactly means.
Does it mean that -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` configures the build process to look for kde4-config somewhere or does it mean install amarok's files to the kde directory?
I'm a little confused.

I ask because I'm not using lsb GNU/Linux and therefore paths like /usr don't exist and builds so far are successful, however running the app fails with the message :

Amarok could not find any collection plugins. Amarok is now updating the KDE configuration database.
Please wait a couple of minutes, then restart Amarok.

If this does not help, it is likely that Amarok
is installed under the wrong prefix, please fix your installation using:

$ cd /path/to/amarok/source-code/
$ su -c "make uninstall"
$ ./configure --prefix=`kde-config --prefix` && su -c "make install"
$ kbuildsycoca4 --noincremental
$ amarok

More information can be found in the README file.

So I either need to tell cmake to install to prefix or look in prefix for kde-config. If I can find out what is happening, I'll be able to understand how to solve the problem.

So which one will it be please?
jefferai
Moderator
Posts
52
Karma
0
See the backticks in `kde4-config --prefix`?  Backticks are a shell escape -- basically what it means is that CMAKE_INSTALL_PREFIX is going to be set to the value returned by running the command "kde4-config --prefix".  This is generally what you want, as you want Amarok installed where KDE helpers (to find plugins of various types) can find it.

As for the message, have you tried running "kbuildsycoca4 --noincremental"?
tnw
Registered Member
Posts
6
Karma
0
Thanks Jeff, your comment is helpful and I think I understand it as this :

cmake .. -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`

Means that cmake will install amarok's entire compiled build in kde4-config --prefix, which on this machine returns as the dir :

/nix/store/vxklf4vlpn040llvwc1kvcammbndyfrd-kdelibs-4.2.4

If so, that's entirely undesirable. Is there a way to use a separate directory for amarok and tell the build where to look for anything it needs?

Basically, without going into too much detail but you can read more if your'e interested, I'm using NixOs : http://nixos.org/nixos/ which uses the nix package manager.
The nix package manager stores each installed software in it's own cryptographically signed directory. It ensures non-destructive upgrades and many other very desirable features such as system wide roll backs for software installs.
So to install amarok to /nix/store/vxklf4vlpn040llvwc1kvcammbndyfrd-kdelibs-4.2.4/some signed path/amarok is never going to happen. Each piece of software has it's own path in the store, so upgraded software creates entirely new paths.

Could you please explain to me what kbuildsycoca4 --noincremental does and do you know how to specify every path that amarok is looking for to cmake please?
nhn
KDE Developer
Posts
114
Karma
0
OS
kbuildsycoca4 updates the KDE plug-in cache. This is needed for amarok to be able to find collection and service plugins after an install (or an update where the plugin version numbers have changed)

the --noincremental option just makes it more thorough in updating the cache, it generally should not be needed but we have seen cases where all updates were not detected without it.
tnw
Registered Member
Posts
6
Karma
0
Thanks Freespirit,
It appears that kbuildsycoca4 --noincremental trys to try to do what's required, however shouldn't amarok just need to look in it's own directory for any default plugins if it won't start without them and that's why I see the absurd message that amarok can't find any plugins.
It's basically saying that amarok needs to be installed in the same dir as kde so that it may scan for plugins, instead of saying "Please provide a plugin path to cmake when configuring."
kbuildsycoca4 --noincremental won't change anything here because amarok is not installed in kde4-config --prefix.

It seems extremely odd that if amarok requires a plugin path, that it's not checked and recorded at build time. Strange.

Even more puzzling is the introduction of the "taglib-extras" Dependency to the latest release, which has been forked out of amarok by the developers but has no official project page or release, just a development version repository. Meaning amarok now depends on something that has never been released and officially doesn't exist.
It will be interesting to see if any other projects adopt taglib-extras if an official release is never made and a project page isn't created somewhere.
No updates in the build docs to explain/reflect the taglib-extras dependency either.

I wanted to build amarok2 and test it here to see if the consistent random crashing and music library destruction had been solved, however it seems impossible to do that right now.
I think I'll leave it another six months before I try again and make my final judgment on whether or not I want to use it then.
I'm sure that there's lots of development that still needs to be done on amarok2 before it's ready for mass re-adoption, considering it's pretty evident that the "Just make it work" Model usually adopted by open source projects appears not to have been followed at all by the amarok developers.

Amarok 1.4 was a great app, I just hope that 2 can eventually, with some more development live up to what 1.4 was.
Thanks for the help so far but I'll leave it for now if I'm going to have to wade through source code and learn about cmake.

Last edited by tnw on Tue Jun 23, 2009 12:09 am, edited 1 time in total.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]