Thread Rating:
  • 0 Vote(s) - 0 Average
Linux - Make fails on XBMCProjectm when compiling....
#1
I am trying to update my XBMC installation by compiling from Git. I had not problems installing this way on my Mint LMDE machine. However, when I try to to do this on my Ubuntu Oneiric mini installation, make bombs out on ProjectM. I was not happy to see this when I came back home after leaving this compiling for several hours on my Atom box. I ran this to downloaded the latest from Git and compile as I did on my LMDE machine.

Code:
sudo apt-get update

sudo apt-get install git-core build-essential gawk pmount libtool nasm yasm automake cmake gperf zip unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound2-dev python-sqlite libglew-dev libcurl3 libcurl4-gnutls-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libenca-dev libxt-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmpeg3-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libmpeg2-4-dev libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs python-dev libyajl-dev libboost-thread-dev libplist-dev libusb-dev libudev-dev libtinyxml-dev autopoint libltdl-dev

sudo aptitude update


git clone git://github.com/xbmc/xbmc.git


cd xbmc
./bootstrap
./configure --disable-pulse --enable-vdpau --disable-vaapi

make

I am compiling myself because my Atom machine crashes launching XBMC after updating via a nightly PPA. After searching around I discovered that other users have this working when compiling with pulse audio disabled. My XBMC Crashlog was showing the audio engine failing to load, so I'm sure compiling with Pulseaudio disabled will resolve this. I do not want to use XBMCbuntu because I CANNOT deal with recompiling the Xbox dvd dongle driver for LIRC. It is a huge pain! Here are the lines where the "make" fails. Error2 means nothing to me. Can somebody provide some insight as to what the issue is with projectm so that I can get the make to complete successfully? I don't even care if I have ProjectM or not at the moment. Last time a checked the TRAC ticket on it was low priority for it screwing up the display by cutting off parts of the screen. Is there somewhere I should be looking to see what the problem is? I very much dislike un-useful error messages that don't point to the problem. Smile Any help is appreciated.

Code:
[email protected]:~/xbmc$ make[1]: *** [libprojectM/libprojectM.so] Error 2
make[1]:: command not found
[email protected]:~/xbmc$ make[1]: Leaving directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM'
> make: *** [xbmc/visualizations/XBMCProjectM] Error 2

-hogfan
Image
Reply
#2
the snippet tells us exactly what you have told us - it fails. we need the actual error, not the lines telling it failed 2 levels down the tree..
Reply
#3
I guess I wasn't able to find the error in all the lines of the compile. I'll run it again while I'm at work today and post results on pastebin and link here this evening.

-hogfan
Image
Reply
#4
Ok, here is the pastebin link to the failed compile:

http://pastebin.com/raw.php?i=292nTq5N

Image
Reply
#5
Ok, it looks like it's complaining about not finding a rule to build the target file, but I'm not sure how to fix it. Any help appreciated.

Code:
make[1]: Entering directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM'
make -C libprojectM
make[2]: Entering directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/li                                                                             bprojectM'
make[3]: Entering directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/li                                                                             bprojectM'
make[4]: Entering directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/li                                                                             bprojectM'
Scanning dependencies of target projectM
make[4]: Leaving directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/lib                                                                             projectM'
make[4]: Entering directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/li                                                                             bprojectM'
make[4]: *** No rule to make target `/usr/lib/i386-linux-gnu/libGL.so', needed by `libprojectM.so.2.00'.  Stop.
make[4]: Leaving directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/lib                                                                             projectM'
make[3]: *** [CMakeFiles/projectM.dir/all] Error 2
make[3]: Leaving directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/lib                                                                             projectM'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM/lib                                                                             projectM'
make[1]: *** [libprojectM/libprojectM.so] Error 2
make[1]: Leaving directory `/home/xbmc/xbmc/xbmc/visualizations/XBMCProjectM'
make: *** [xbmc/visualizations/XBMCProjectM] Error 2

-hogfan
Image
Reply
#6
it doesn't find /usr/lib/i386-linux-gnu/libGL.so
on x64 that lib is located in /usr/lib/x86_64-linux-gnu/mesa/libGL.so, so on i386 it is probably /usr/lib/i386-linux-gnu/mesa/libGL.so

create a symlink:
Code:
ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/i386-linux-gnu/libGL.so
Reply
#7
Hmm. I tried creating the link, but it says that file exists:

Code:
[email protected]:~$ ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/i386-linux-gnu/libGL.so
ln: creating symbolic link `/usr/lib/i386-linux-gnu/libGL.so': File exists

So if it exists, why can't it find it?

-hogfan
Image
Reply
#8
checked again on my x64 system. mesa/libGL.so is a symlink too, which again points to another symlink :lol:

lrwxrwxrwx 1 root root 13 Mar 30 13:18 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so

lrwxrwxrwx 1 root root 10 Mar 30 13:18 /usr/lib/x86_64-linux-gnu/mesa/libGL.so -> libGL.so.1
lrwxrwxrwx 1 root root 12 Mar 30 13:18 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 -> libGL.so.1.2
-rw-r--r-- 1 root root 390352 Mar 30 13:18 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2


make sure that the symlink chain points to the real lib.

btw, there are a couple of openGL related libs this those dirs, you might need to check them too.
Reply
#9
Ok, I guess I really don't understand whats going on here. It looks to me like the chain is complete. I tried this, but File Exists everytime.

Code:
[email protected]:~$ sudo find / -name 'libGL.so'
[sudo] password for xbmc:
/usr/lib/i386-linux-gnu/mesa/libGL.so
/usr/lib/i386-linux-gnu/libGL.so
/usr/lib/libGL.so
[email protected]:~$ ln -s /usr/lib/i386-linux-gnu/libGL.so /usr/lib/i386-linux-gnu/mesa/libGL.so
ln: creating symbolic link `/usr/lib/i386-linux-gnu/mesa/libGL.so': File exists
[email protected]:~$ ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/libGL.so      ln: creating symbolic link `/usr/lib/libGL.so': File exists
[email protected]:~$

And all of this because all I need to do is compile with pulse disabled! Smile
Image
Reply
#10
You can try copying the file to the directory where make is looking for it. It's an ugly solution, but if the symbolic links are working, it's worth a shot.
Reply
#11
post the output of:

ls -latr /usr/lib/i386-linux-gnu/libGL*
ls -latr /usr/lib/i386-linux-gnu/mesa/libGL*
Reply
#12
Code:
[email protected]:~$ [email protected]:~/xbmc$ ls -latr /usr/lib/i386-linux-gnu/libGL*
-bash: [email protected]:~/xbmc$: No such file or directory
-rw-r--r-- 1 root root 423258 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.a
lrwxrwxrwx 1 root root     20 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.so.1 -> libGLU.so.1.3.071100
[email protected]:~$ -rw-r--r-- 1 root root 353544 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.so.1.6.0
-rw-r--r--: command not found
[email protected]:~$ lrwxrwxrwx 1 root root     16 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.so.1.6 -> libGLEW.so.1.6.0
lrwxrwxrwx: command not found
[email protected]:~$ lrwxrwxrwx 1 root root     16 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.so -> libGLEW.so.1.6.0
lrwxrwxrwx: command not found
[email protected]:~$ -rw-r--r-- 1 root root 423258 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.a
-rw-r--r--: command not found
[email protected]:~$ lrwxrwxrwx 1 root root     20 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.so.1 -> libGLU.so.1.3.071100
lrwxrwxrwx: command not found
[email protected]:~$ lrwxrwxrwx 1 root root     11 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.so -> libGLU.so.1
lrwxrwxrwx: command not found
[email protected]:~$ lrwxrwxrwx 1 root root     13 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGL.so -> mesa/libGL.so
-bash: mesa/libGL.so: No such file or directory
[email protected]:~$ -rw-r--r-- 1 root root 460448 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.so.1.3.071100
-rw-r--r--: command not found
[email protected]:~$ -rw-r--r-- 1 root root 719156 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.a
-rw-r--r--: command not found
[email protected]:~$ [email protected]:~/xbmc$ ls -latr /usr/lib/i386-linux-gnu/mesa/libGL*
-bash: [email protected]:~/xbmc$: No such file or directory
[email protected]:~$

-hogfan
Image
Reply
#13
There is something one should do before copy and pasting "Strings".
Quote:Every Command is a string, but not every String is a command. (Eddy van Wiseguy)

Try again.
Reply
#14
First command:
Code:
[email protected]:~$ ls -latr /usr/lib/i386-linux-gnu/libGL*
-rw-r--r-- 1 root root 353544 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.so.1.6.0
lrwxrwxrwx 1 root root     16 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.so.1.6 -> libGLEW.so.1.6.0
lrwxrwxrwx 1 root root     16 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.so -> libGLEW.so.1.6.0
-rw-r--r-- 1 root root 423258 2011-07-27 06:20 /usr/lib/i386-linux-gnu/libGLEW.a
lrwxrwxrwx 1 root root     20 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.so.1 -> libGLU.so.1.3.071100
lrwxrwxrwx 1 root root     11 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.so -> libGLU.so.1
lrwxrwxrwx 1 root root     13 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGL.so -> mesa/libGL.so
-rw-r--r-- 1 root root 460448 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.so.1.3.071100
-rw-r--r-- 1 root root 719156 2012-04-03 21:31 /usr/lib/i386-linux-gnu/libGLU.a
[email protected]:~$

Second Command:

Code:
[email protected]:~$ ls -latr /usr/lib/i386-linux-gnu/mesa/libGL*
lrwxrwxrwx 1 root root 10 2012-04-03 21:31 /usr/lib/i386-linux-gnu/mesa/libGL.so -> libGL.so.1

-hogfan
Image
Reply
#15
your symlink points to nothing, meaning libgl1-mesa-glx is not (properly) installed.
Reply



Make fails on XBMCProjectm when compiling....00