[SOLVED] Older Fedora - Compile taglib
#1
Alright - Backstory... I have a HTPC running Fedora 12 (yeah - I know, old) and it has been, and still is, just fine. Up until I want to move over to XBMC 12. Now I realize that I need taglib >= 1.8 and 1.7 is the newest for Fedora 12. I figured I'd just upgrade. Problem is that something about the way newer linux distros handles the hardware makes the thing hardlock every minute or so with restarting being the only option yet older distros work just fine (I was at almost 6 months uptime until I shutdown to try an upgrade). Whats even weirder is that when it locks it leaves no helpful logs of any kind - everything just stops.

SO.. Im trying to see if I can get taglib to compile under F12 and get everything to work. I have been able to get it to compile and install just fine for 32bit but it seems that XBMC also wants an x86_64 copy and I can't seem to figure out how to get it to compile in 64bit.

And that is my question - how do I get this damn thing to compile both 32 and 64 bits in a manner that XBMC will be happy with (as its the only thing that uses taglib).

Again upgrading does not seem to be an option as Ubuntu 12.04, 12.10 (ubuntu, kubuntu and xubuntu), 32 or 64 bit all run CRAZY flakey and F12 is rock solid. Perhaps something like CentOS might work, but I would still have to compile taglib 1.8 so the question is still valid in that reguard.

Thank You
Reply
#2
it won't require 64bit and 32bit. it requires whatever your host arch is.

show the exact the errors you get. then we can help...
Reply
#3
The system is a x86_64 kernel. Typo in the orginal post - its F14 not F12. 2.6.35-14-106.fc14.x86_64 is the ver.

It runs though config just fine until hitting "checking for TAGLIB... no"

find /usr -name libtag* gives me
/usr/local/lib/libtag.a
/usr/loca/lib/libtag_c.so.0.0.0
/usr/loca/lib/libtag_c.so.0
/usr/loca/lib/libtag_c.so
/usr/loca/lib/libtag.so
/usr/loca/lib/libtag.so.1.12.0
/usr/loca/lib/libtag.so.1
/usr/loca/lib/libtag_c.a

These are all 32bit though and I cannot seem to figure out how to compile 64bit versions.

I have removed all the ones installed via yum as XBMC is the only thing that uses libtag and I wanted to avoid conflicts.

I can post more specific info but I really don't know what info you need.
Reply
#4
ignore
Reply
#5
i assume those are 'local' and not loca.

the problem is not 32bit vs 64bit libs. those libs are nice and 64bit. the problem is the multiarch support on fedora/redhat.

in their wiseness, rhel do not stick to the LSB, but rather have their own convention. for this reason, installing to /usr/local/lib is not a good idea - it's supposed to be architecture independent libraries (i honestly have no idea what those are supposed to be). for any other lib, it needs to go into /usr/local/lib64 for 64bit libraries, or /usr/local/lib32 for 32bit libraries. your system will then choose lib32 or lib64 based on arch of the application you run. this is not supported by cmake itself.

in conclusion; install the libs to /usr/local/lib64 and it shall work fine. you likely have to move them around manually.
Reply
#6
Alrighty - I copied them all into the other dirs as you suggested. On that much you were correct, they where out of place in comparison to all the other libs. However, it still gives the same error and I THINK that is because I don't have the devel files in place. http://rpmfind.net//linux/RPM/sourceforg....i686.html shows that the devel files (for a newer version of Fedora) contains ALMOST exclusively header files, and I'm assuming that's what XBMC is looking for. So I guess my original question was wrong and I need to figure out how to provide these header files (from git source) so XBMC can build from them as needed.

So in summation, anyone know how I would go about using source from git to generate the equivalent to what a devel RPM would provide?

UPDATE: Alright, so editing the Makefile provided for taglib and chaning the install prefix to /usr instead of /usr/local puts the header files in fedoras include dir where all the other ones are stored and it seems that the rest of the files are where they should be (by comparing them to RPMs for newer distros) and yet XBMC still complains about missing taglib.


UPDATE: GOT IT! Downloaded the git version and set the install prefix to /usr as well as including -DCMAKE_OSX_ARCHITECTURES="i386;x86_64". Copied /usr/lib/libtag*.* to /usr/lib64/. Then copied over and edited (to reflect lib64 instead of lib) the applicable .pc files from the /usr/lib/pkgconfig dir into the /usr/lib64/pkgconfig dir. Configure and built just fine!!

Thanks for the hint about nonstandard prefix - that proved to be the key in me figuring out the rest of this!
Reply

Logout Mark Read Team Forum Stats Members Help
[SOLVED] Older Fedora - Compile taglib0