Thursday, December 29, 2005

After gtkpod was working, I loaded most of my mp3s into my ipod.

I don't have as much music as I thought, excluding the comedy, and some crap stuff I don't want to listen to, I only ended up with just over 6000 songs in my ipod.

Anyway, after loading it (and waiting an hour for it to transfer), I found that some of my songs don't have proper tags on them.

I decided to use JuK to fix that up, so I installed it, and loaded all the music directories into it.

However, whenever I tried to use MusicBrainz server to find the track info for me, it would just immediately come back and say "error connecting to MusicBrainz server", like immediately, like it wasn't even trying.

I googled around a bit, and apparently it's because Ubuntu and Debian builds of "libtunepimp" have been built without mp3 support, and this actually does the querying of the server.

I found references to doing an "apt-build", which I've not seen before.

I googled, and apparently it allows you to pull down the source of packages, and rebuild them locally.

I apt-get installed apt-build, and configured it.

This added a new line to the apt.sources file, for where to get the source files from.

I then tried to apt-rebuild again, but had a big error, and a segfault.

I realised this was because I hadn't done an apt-get update, and I had no local cache of the source list for apt.

I did an update, and then ran it again, and got the same error.

I'd been trying to run "apt-build --reinstall install libtunepimp-bin", which I found here, however it seems the syntax was wrong.

When I looked closer, I'd retyped it, and omitted the "install" bit, oops.

I changed the command to "apt-build --reinstall install libtunepimp-bin", and then it ran, updates the cache files, and downloaded the source, however ended with:
-----> Building libtunepimp <-----
dpkg-buildpackage: source package is libtunepimp
dpkg-buildpackage: source version is 0.3.0-2ubuntu7
dpkg-buildpackage: source changed by root
dpkg-buildpackage: host architecture i386
debian/rules clean
debian/rules:12: /usr/share/cdbs/1/class/autotools.mk: No such file or directorydebian/rules:13: /usr/share/cdbs/1/rules/debhelper.mk: No such file or directorymake: *** No rule to make target `/usr/share/cdbs/1/rules/debhelper.mk'. Stop.
----> Cleaning up object files <-----
Cleaning in directory .
debian/rules:12: /usr/share/cdbs/1/class/autotools.mk: No such file or directorydebian/rules:13: /usr/share/cdbs/1/rules/debhelper.mk: No such file or directorymake: *** No rule to make target `/usr/share/cdbs/1/rules/debhelper.mk'. Stop.
debuild: fatal error at line 836:
couldn't exec debian/rules:
Error while building libtunepimp-bin!
Sorry, no package to install.
Segmentation fault

Great.

I looked, and found there was a newer version anyway, here, so I downloaded it.

I checked the INSTALL file, and it said it needed MAD MP3 installed, since it uses it for mp3 support.

I configured it, and it said that it couldn't find it. It pointed me here, but the files are here.

I grabbed libmad, configured, compiled, and installed it.

I went back to libtunepimp, reconfigured it. This time I noticed that it said:
*  The GNU readline library isn't installed.
* This means the sample tagger, tp_tagger, won't
* have readline support.

Whatever. I don't intend on using the sample tagger.

I compiled it, which took a little while, and then installed it.

I went back to JuK, which was still running, and tried to do a query, it didn't work, but I would have been really suprised if it did.

I restarted it, but it didn't make any difference. I guess I need to recompile JuK now.

A few hours later, I investigated recompiling JuK. It's not a standalone application, it's part of the kdemultimedia package.

Rebuilding this requires rebuilding kde. I started reading the instructions here.

I downloaded Qt from here, and configured and compiled it (which took a bloody long time). I tried using the Qt packages, but when I tried to compile arts, it always complained that it could not find Qt.

After about an hour of waiting for qt to compile, I tried to configure arts again, but it still couldn't find qt.

I edited my .bashrc, and added in the following lines:
QTDIR=/usr/local/qt
LD_LIBRARY_PATH=/usr/local/qt/lib:/usr/local/lib
export QTDIR
export LD_LIBRARY_PATH

and then sourced the .bashrc file (. ~/.bashrc) and then the configure script for arts was able to find it.

I tried to compile arts, it ran for ages, and then errored:
cc1: error: unrecognized option `-fpie'
make[2]: *** [artswrapper-artswrapper.o] Error 1
make[2]: Leaving directory `/usr/src/arts-1.5.0/soundserver'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/arts-1.5.0'
make: *** [all] Error 2

Hmm.

I edited the Makefile in the soundserver directory, commented out the -fpie reference, and then kicked off the compile again. I also removed the reference from the toplevel Makefile, and then compile completed.

I installed arts. I went back and checked the instructions again, and found that I should have configured Qt in a specific way, and all I'd done was pass the "-thread" option.

I hope Qt works, because I don't want to have to wait another hour for it to recompile.

I then downloaded kdelibs, and configured it. The configure script output a few warnings:
checking lua.h usability... no
checking lua.h presence... no
checking for lua.h... no
lua.h was not found or was not usable, Lua 5.0 headers are required !
checking lualib.h usability... no
checking lualib.h presence... no
checking for lualib.h... no
lualib.h was not found or was not usable, Lua 5.0 headers are required !

Not sure what Lua is.
checking for libart2-config... not found
configure: WARNING: Could not find libart anywhere, check http://www.levien.com/libart/

I found the source to libart here, and downloaded it.
checking for cupsServer in -lcups... no
configure: WARNING: CUPS library not found. CUPS support disabled

That's for printing, so I don't really care.
checking for xslt-config... not found
configure: WARNING: Could not find libxslt anywhere, check ftp://xmlsoft.org/ for libxslt >= 1.0.7. (we also keep a version of it in kdesupport for CVS users' convience)

I got the latest version from the ftp server.
checking whether to enable GSSAPI support... checking for krb5-config... not found
configure: WARNING: Could not find krb5-config

krb5 is kerberos, encryption, which I'm not interested, so I left that.
checking for pcre-config... not found
configure: error: You're missing libpcre.
Download libpcre from http://www.pcre.org or find a binary package for your platform.
Alternatively, you can specify --disable-pcre, but some web pages - using regular
expressions in Javascript code - will not work correctly, the regexp support being
quite limited if libpcre isn't present.

I got the latest pcre from here.

I configured, compiled, and installed libart.

I configured libxslt, it complained about not finding libcrypto, but I don't care. I compiled it, and installed it.

I configured, compiled, and installed pcre.

I went back and reconfigured kdelibs. This time, the output was:
You're missing Apple mDNSResponder 85 or later, therefore
dnssd will be compiled as stub, without any real functionality.
If you want zeroconf support (www.zeroconf.org), you should install mDNSResponder first.
See dnssd/INSTALL for details.


You're missing GSSAPI/Kerberos.
KDE can use GSSAPI/Kerberos to authenticate on certain secure websites.
GSSAPI/Kerberos authentication is typically used on intranets.


Your libaspell is too old or not installed, I couldn't find aspell.h.
You must download aspell >= 0.50.2, see http://aspell.net
Spell-checking with libaspell will not be available, only with ispell dicts.


The development package of Hspell is not installed, I couldn't find hspell.h.
Spell-checking Hebrew with libhspell will not be available.
If you need it, install hspell >= 0.9 from sources
see http://www.ivrix.org.il/projects/spell-checker/
or from packages your distribution provides.


You're missing openSSL, or your version is too old (before 0.9.5a).
KDE won't be able to access secure websites without it, so you should
consider installing or upgrading it.
Have a look at http://www.openssl.org, or find a binary package for
your platform.


You're missing bzip2 development files.
KDE won't be able to provide a help ioslave (help://) without it,
so if you want helpfiles you should consider installing it.
Have a look at http://sources.redhat.com/bzip2/ for sources,
or find a binary package for your platform.


You're missing CUPS (Common UNIX Printing System) support.
If you want CUPS support, please install CUPS from http://www.cups.org
or the development packages of your distribution.


No OpenEXR Libraries were found
Install the OpenEXR package (from http://www.openexr.org)
if you want EXR image format support


libacl was not found. Without that library, you will not be able
to manage access control lists on file systems that support them,
such as ext3 or reiserfs.
You can download it from ftp://oss.sgi.com/projects/xfs/cmd_tars/
(you will need attr too)

I don't intend on running the kde as kde, I just want JuK, so I don't care about any of that.

I compiled it. After compiling for ages, it failed with "cc1: error: unrecognized option `-fpie'". So I was back to editing Makefiles.

I fixed that one, kicked off the compile again. It went for ages before I got the same error.

I fixed it, and continued it compiling. Eventually it finished, possibly taking as long as qt to compile. I installed it.

I went into kdebase, and configured it again. I got the following error:
checking if UIC has KDE plugins available... no
configure: error:
you need to install kdelibs first.

If you did install kdelibs, then the Qt version that is picked up by
this configure is not the same version you used to compile kdelibs.
The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the
_same Qt version_, compiled with the _same compiler_ and the same Qt
configuration settings.

Hmm, strange. I don't know what it's found then.

I ran ldconfig again, and then reconfigured kdebase. This made no difference.

I checked in the config.log, and it seems that it's picking up the useless qt libraries I installed with apt.

0 Comments:

Post a comment

<< Home