PDA

View Full Version : Ubuntu 8.04 (Hardy Heron) 32-bit packages dependencies


Bram77
2008-02-22, 18:26
Because the dependencies for Ubuntu Hardy 8.04 (Alpha 4) are not mentioned in the README.Linux file, it might be usefull to post them here. Hardy is not officially supported, so don't complain if nything is not working. Posting bugs has no use either, when using Hardy. Still, I like it and won't stop using it just for XBMC. There might be more people thinking likewise... :)

sudo apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libcdio7 libcdio-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libsmbclient-dev libsmbclient libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev

dustobub
2008-02-22, 18:44
When I was using a Hardy CLI install , whenever XBMC tried to generate thumbnails it would crash. Turning off the auto generate thumbnails did fix it though. Overall, for me Hardy was not nearly as stable as Gutsy for XBMC.

Also, I don't think libglew1.5 is available for Hardy, I think it's called glew-utils. For the command line install I also had to install libmad0-dev and libtre-dev I think.

Dustin

Gamester17
2008-02-22, 18:46
Cool!, ...but to clearify; are those for Ubuntu Desktop 8.04 or Ubuntu Server 8.04?

???

Bram77
2008-02-22, 18:52
They are for Ubuntu desktop!

I can confirm the 'bug' dustobub mentions. As soon as a a thumbnail shows up, the whole thing crashes. it has been that way for about two weeks.

libglew1.5 and libglew1.5-dev are available in the standard repos for Hardy!

One offtopic question.... Why is it not possible to edit my own posts?

Bram77
2008-02-22, 18:55
There is one problem with the dependencies, since the last build (11773).
lSDL_image is not found, even though it is installed!

Installed files...
/.
/usr
/usr/lib
/usr/lib/libSDL_image-1.2.so.0.1.5
/usr/share
/usr/share/doc
/usr/share/doc/libsdl-image1.2
/usr/share/doc/libsdl-image1.2/README
/usr/share/doc/libsdl-image1.2/copyright
/usr/share/doc/libsdl-image1.2/changelog.gz
/usr/share/doc/libsdl-image1.2/changelog.Debian.gz
/usr/lib/libSDL_image-1.2.so.0

Gamester17
2008-02-22, 18:56
One offtopic question.... Why is it not possible to edit my own posts?http://xbmc.org/forum/showthread.php?t=22730 summery; because the edit function was being abused.

Bram77
2008-02-22, 18:58
apt-cache search libglew returns

libglew1.5 - The OpenGL Extension Wrangler - runtime environment
libglew1.5-dev - The OpenGL Extension Wrangler - development environment
glew-utils - The OpenGL Extension Wrangler - utilities

spiff
2008-02-22, 18:59
you need the devpackage for sdlimage as well

Bram77
2008-02-22, 19:01
I've already got it installed. Sorry, forgot to mention it!

djdafreund
2008-02-22, 19:46
Another thing i noticed when i tried it 8.04 is fullscreen "/' mode doesn't quite work. But of course works fine on 7.10. I liked it but i'm staying with 7.10 till it works better with 8.04 since i mostly use Ubuntu for XBMC purposes, and messing around in general.

dustobub
2008-02-22, 22:16
I'm pretty sure my fullscreen was working fine as long as I had the resolution set to "Desktop" in Settings-Appearance-Screen.

I guess glew-utils probably aren't needed, just libglew1.5 and libglew1.5-dev

Having a stable system in Hardy would make life much easier for me, I hate having to deal with the nvidia binary and backports. My nvidia 630i 7100 board works out of the box on hardy with the nvidia-glx-new driver.

dustobub
2008-02-22, 23:35
Thumbnails that are stored in DVD folders also crash xbmc on Hardy. I'll get a debug log soon.

Dusitn

TKFMPardus
2008-02-23, 01:57
well, i needed to change some of the apt-gets - specifically:

libcdio6 to libcdio7, and libGLEW1.4 (and -dev) to libGLEW1.5(-dev)

and it compiles fine.

Running it with the standard command resulted in this when trying to do anything:


ed@kubuntu:~/XBMC/BUILD$ ./XboxMediaCenter
WARNING: The XBMC_HOME environment variable is not set.
Segmentation fault (core dumped)

This works however:

ed@kubuntu:~/XBMC/BUILD$ ./XboxMediaCenter -fs
Running in fullscreen mode...
WARNING: The XBMC_HOME environment variable is not set.


Anyone need help on (K)ubuntu 8.04 , gimme a shout!

Bram77
2008-02-23, 16:00
These are already in the apt-get command in the start post.
But I really don't understand why I'm getting this error while build.sh runs ./configure...

checking for main in -lSDL_image... no
configure: error: == Could not find a required library. Please see README.linux

Bram77
2008-02-23, 16:07
Ignoring the ./configure error and running "make -j2" manually resulds in a compile error

/usr/bin/ld: cannot find -llzo2
collect2: ld returned 1 exit status
make[1]: *** [XboxMediaCenter] Error 1

Bram77
2008-02-23, 16:21
Ok, that error is fixed by installing ...

-liblzo2-dev -liblzo2-2

Could a mod add these to the apt-get line in the startpost?

Bram77
2008-02-23, 16:22
Now I'm running into the libSDL_image dependency problem...

/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_get_IHDR@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_get_tRNS@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_read_image@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_read_update_info@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_set_strip_16@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_sig_cmp@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_set_packing@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_create_info_struct@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_get_io_ptr@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_set_expand@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_destroy_read_struct@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_create_read_struct@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_set_read_fn@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_set_gray_to_rgb@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_read_info@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libSDL_image.so: undefined reference to `png_get_valid@PNG12_0'
collect2: ld returned 1 exit status
make[1]: *** [XboxMediaCenter] Error 1

Gamester17
2008-02-23, 20:03
FYI; Hardy Heron Alpha-5 is now available for download:
http://www.ubuntu.com/testing/hardy/alpha5
https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-February/000387.html

List of things not in this alpha but should be ready in the final 2-months from now:
https://blueprints.launchpad.net/ubuntu/hardy

Bram77
2008-02-23, 22:07
Wow! Windows Domain authentication integration is nice! It's in the upcoming feature list. It has always been to much trouble to mess with samba configuration to get it to join a domain.

Regarding the libsdl-image problem.... What can I do to fix this? I'm guessing the developers might find this somewhat important to because a lot of people will switch to hardy soon....?

I'm guessing somehow the files needed can't be found while compiling. Maybe the location of the files has changed from Ubuntu perspective?

"$ locate libsdl-image" gives the following output..

/usr/share/doc/libsdl-image1.2
/usr/share/doc/libsdl-image1.2-dev
/usr/share/doc/libsdl-image1.2/README
/usr/share/doc/libsdl-image1.2/changelog.Debian.gz
/usr/share/doc/libsdl-image1.2/changelog.gz
/usr/share/doc/libsdl-image1.2/copyright
/usr/share/doc/libsdl-image1.2-dev/changelog.Debian.gz
/usr/share/doc/libsdl-image1.2-dev/changelog.gz
/usr/share/doc/libsdl-image1.2-dev/copyright
/usr/share/doc/libsdl-image1.2-dev/examples
/usr/share/doc/libsdl-image1.2-dev/examples/Makefile
/usr/share/doc/libsdl-image1.2-dev/examples/showimage.c.gz

althekiller
2008-02-24, 03:29
If you actually have it installed you should have include/SDL/SDL_image.h and lib/SDL_image.so in either /usr or /usr/local. If you have both of these files then I'd hazard to guess that the lib was built without libpng support for some reason.

Bram77
2008-02-24, 04:39
I have them both. I was affraid it would be something like that. I do have libpng(-dev) installed.

snappz
2008-02-24, 04:40
I just did a fresh install of Alpha 5, used the dependencies from the first post and it complied fine.

Bram77
2008-02-25, 19:19
Strange, I'm in the dark here. I' using a fresh install of Hardy Alpha 4, completely up to date, which makes it a Alpha 5. I've tried compiling the SDL_image library manually, but this makes no difference. I'm still getting the ./configure error.

Bram77
2008-02-25, 21:58
Ok, I've fired out the reason for te errors. I had MONO installed. So XBMC compilation was using the libsdl that was in MONO. I've deleted the MONO installation and set the LD_LIBRARY_PATH variable to "/usr/local", in which the "SDL/SDL-image.h" file resides. Now I can get past ./configure without errors. But I still can't compile. I'm getting the following error...

/usr/local/include/SDL/SDL_image.h:28:17: error: SDL.h: No such file or directory
/usr/local/include/SDL/SDL_image.h:29:25: error: SDL_version.h: No such file or directory
/usr/local/include/SDL/SDL_image.h:30:24: error: begin_code.h: No such file or directory
/usr/local/include/SDL/SDL_image.h:114:24: error: close_code.h: No such file or directory

How can I make my Kubuntu installation tell make that the SDL libraries are at "/usr/local" instead of "/usr/local/include"? I know this is no Linux forum, but I'm still hoping for a quick fix. It seems like a minor problem.

Bram77
2008-02-25, 22:25
The output of "sdl-config --cflags" is..

-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
Which seems to be correct.

Bram77
2008-02-26, 02:26
Pfiew... I'm back in business. I had two instances of SDL-image.h on my drive.
Compiling the library from source resulted in a installation in a different path than is normally used in a Debian distribution. So installing it from the repos again did not result in a overwrite of the manually compiled version, but created a second instance. So to start with, there where three versions of the SDL-image library. The MONO one, which doesn't work with XBMC obviously, the manually compiled one which was in /usr/local/include/SDL and the one XBMC needs which can be found in /usr/local/SDL. I needed to remove both non standard ones the get XBMC to compile.

This is not 'hardy-only', so I guess more people are going to run into this. Especially with the MONO one. For me it wasn't a problem to remove MONO, because om not using it at the moment (I installed it in my home directory and it was still there from a earlier installation), but if someone does need MONO to be installed. How can this be solved? Hard-coding the library path in the source doesn't sound like a flexible solution...

Bram77
2008-02-29, 18:00
The latest build needs some more packages...

sudo apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libcdio7 libcdio-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libsmbclient-dev libsmbclient libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev -libhal -libhal-dev -libhal-storage1 -libhal-storage-dev

HarshReality
2008-03-03, 03:47
While the deps are of interest why dedicate the energy to try it before its an official stable release? The ycould drop the bottom out of this and it could completely change.

Bram77
2008-03-03, 04:29
I'm not sure I understand what you're aiming at.
You mean it's it's of no use to try XBMC under Hardy? Or to make a simple post once I make the simple discovery a new dep needs to be installed?

Gamester17
2008-03-03, 12:57
@HarshReality, actually they have Ubuntu 8.04 (Hardy Heron) BETA currently in a feature-freeze so not that much should change before it is released in two months from now, so do not expect it to "completely change" between the current BETA and the FINAL release.

mpw222
2008-03-08, 20:04
Sorry if I'm posting this in the wrong place, but I'm having some trouble with XBMC on 8.04 alpha6. With a fresh install of the latest alpha, all I've done is enable the restricted driver for my nvidia card and installed the dependencies listed in this thread. I get the following from configure:

matt@nightmare:~/XBMC$ ./configure
...
checking for mms_connect in -lmms... yes
checking for mms_seek in -lmms... yes
== GMyth support disabled. ==
== Wii remote support disabled. ==
checking for main in -lpcre... no
== Could not find libpcre. PCRE support disabled. ==
checking for main in -lhal... no
configure: error: == Could not find a required library. Please see README.linux


I'm pretty sure I do in fact have libhal installed:
matt@nightmare:/lib$ apt-cache search libhal
libhal-dev - Hardware Abstraction Layer - development files
libhal-storage-dev - Hardware Abstraction Layer - development files
libhal-storage1 - Hardware Abstraction Layer - shared library for storage devices
libhal1 - Hardware Abstraction Layer - shared library
libilmbase6 - several utility libraries from ILM used by OpenEXR

One last thing is that I get this when trying to install the packages listed by Bram77 as required for the newer builds:

matt@nightmare:~/XBMC$ sudo apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libcdio7 libcdio-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libsmbclient-dev libsmbclient libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev -libhal -libhal-dev -libhal-storage1 -libhal-storage-dev
[sudo] password for matt:
E: Command line option 'l' [from -libhal] is not known.

Sorry if this is a pretty basic question or if it's not allowed here. I'm not a big linux guy, though I do spend a solid portion of my work day at a Solaris 10 terminal.

Any help would be much appreciated.

pike
2008-03-08, 20:36
try installing the dependencies listed in README.linux (and not something listed in this forumthread) for eg. Gutsy, but for obvious reason those might not be enough

If you stray from the path you need to help yourself

Bram77
2008-03-08, 20:41
The dependency's in the readme do not all match the ones in the Hardy repos. The once in this topic (last post with apt-get) DO match the requirements at this point. I just did a svn update, all went fine.

pike
2008-03-08, 20:49
@Bram77 thanks for clearing that up, as you can probably tell I don't use Hardy

topfs2
2008-03-08, 20:59
This is wrong. sudo apt-get install -libhal -libhal-dev -libhal-storage1 -libhal-storage-dev
These are taken from the makefile and are linking we do, so preferably remove the "-" and try:
sudo apt-get install libdbus-1-dev libhal-dev libhal-storage-dev

I think Bram77 have probably copy pasted a bit to fast ;)

I can't say exactly if this is the absolutely correct line as I don't have hardy installed but it should be something very close. tab-complete the lines...
I can say that I have tried it on hardy before I applied the HAL to linuxbranch so it works :)

If you feel insecure I suggest use gutsy for the time being as it is supported.

Bram77
2008-03-08, 22:50
*Shame shame*.... You are absolutely right.
Below the corrected deps... 100% sure correct.

sudo apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libcdio7 libcdio-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libsmbclient-dev libsmbclient libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev libhal1 libhal-dev libhal-storage1 libhal-storage-dev

C-Quel
2008-03-11, 04:05
Time to give this a go :)

Nick8888
2008-03-13, 07:12
gave this a go today and have it up and running.

I got the packages Bram posted 2 posts up and then also had to install some from the gutsy ones in the readme.linux.I think it was only

libpcre3-dev

(I also installed glew-utils but not totally sure whether this is required.)

Nick8888
2008-03-13, 17:46
ok, I got caught up with that nasty libc6 update bug today in hardy so decided to reinstall.

Now I can confirm from clean install these are what i needed

sudo apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libcdio7 libcdio-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libsmbclient-dev libsmbclient libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev libhal1 libhal-dev libhal-storage1 libhal-storage-dev libpcre3-dev subversion


cheers

yuvalt
2008-03-13, 18:07
Thanks. I updated README.linux accordingly.

Bram77
2008-03-13, 18:44
Thanks!

I just had the same thing so it seems. An update that resulted in an error, no matter what program I started. I constanly got a "Illegal pointer" error. I had to do a reinstall (just finished). I love Linux an my "/home" on a separate partition. In less the 30 minutes I got my OS up and running again, all configurations as I had them before. I only have to apt-get some programs.

ok, I got caught up with that nasty libc6 update bug today in hardy so decided to reinstall.

Now I can confirm from clean install these are what i needed

sudo apt-get install make g++-4.1 gcc-4.1 libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl-sound1.2-dev libsdl-stretch-dev libcdio7 libcdio-dev libfribidi0 libfribidi-dev liblzo1 liblzo-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libogg-dev libsmbclient-dev libsmbclient libasound2-dev python2.4-dev python2.4 python-sqlite libglew1.5 libglew1.5-dev libcurl3-dev g++ gawk x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmms-dev pmount libmad0-dev libtre-dev libogg-dev libvorbis-dev libmysqlclient15-dev libhal1 libhal-dev libhal-storage1 libhal-storage-dev libpcre3-dev subversion


cheers

rodalpho
2008-03-14, 02:35
I see that the README.linux now has dependencies listed for 8.04. Is this now an official platform for XBMC; ie are the devs using it for development? I want to run whatever the devs are running.

Also just out of curiosity will 7.04 "support" be deprecated when 8.04 is officially released next month?

Bram77
2008-03-14, 03:00
De deps for hardy are added because some users are using Hardy and have provided the required deps. I think you should use Gutsy if you want to be on the safe side.

BLKMGK
2008-03-14, 03:05
It's being looked at http://xbmc.org/forum/showthread.php?t=31412 butGutsy is still easiest. Some folks looking at 64bit too but I think that is a little further off.

Jezz_X
2008-03-14, 03:18
The devs use a mix of 7.04 and 7.10 when hardy is officially released they may update but I doubt it before then
As for 64bit BLKMGK it used to compile fine after malloc commited his fixes (haven't tested it since) allthough very limited video playback and no music playback but the GUI did work hopefully malloc can pull the rest off soon as well

Nick8888
2008-03-14, 03:26
The libc6 bug yesterday is a good example of why not to use hardy atm for stability. I only upgraded as I wanted to start fresh and the fact that the new mythtv release wasnt compatible with the old one. (although it will be backported in mythbuntu or something). However, I guess as hardy heron will be a long term support release from ubuntu, it is a no brainer that the devs will upgrade at "some stage".

rodalpho
2008-03-14, 03:32
Yep, I saw the thread and figured since it was added to the readme the devs might have upgraded early. I just want to run the exact same version they do.

yuvalt
2008-03-17, 00:36
Yep, I saw the thread and figured since it was added to the readme the devs might have upgraded early. I just want to run the exact same version they do.

Use Gutsy

chrisinator
2008-04-14, 04:27
I figured out how to fix the SDL error in config... Took a long time but here it is!
get in the XBMC install dir

LD_PRELOAD=/usr/lib/libSDL_image-1.2.so.0.1.5 ./configure

it makes it look at it.
If you get alot of cat errors, then press CTRL-C then delete the file that it is looking at.

pefdus
2008-05-20, 01:46
Hi guys,

Fantastic job on the port thus far. You really are doing a great work.

Recently upgraded to 8.0.4 (see a note in the README.linux for 8.0.4 I thought I'd make the upgrade.

Am now having an error compiling (just running standard ./build.sh NODEBUG)

Below is where it dies.. the main prob is that the method `glXGetProcAddress' is not defined. Anything missing that you might be aware of ?


g++ -O2 -o xbmc.bin xbmc/*.o xbmc/settings/*.o xbmc/cdrip/*.o guilib/*.o guilib/tinyXML/*.o guilib/common/*.o xbmc/FileSystem/*.o xbmc/FileSystem/VideoDatabaseDirectory/*.o xbmc/FileSystem/MusicDatabaseDirectory/*.o xbmc/visualizations/*.o xbmc/screensavers/*.o xbmc/cores/*.o xbmc/cores/paplayer/*.o xbmc/linux/*.o xbmc/lib/sqLite/*.o xbmc/lib/libscrobbler/*.o xbmc/lib/libPython/*.o xbmc/lib/libPython/xbmcmodule/*.o xbmc/xbox/*.o xbmc/cores/DllLoader/*.o xbmc/cores/DllLoader/exports/*.o xbmc/cores/DllLoader/exports/util/*.o xbmc/utils/*.o xbmc/lib/UnrarXLib/*.o xbmc/lib/libGoAhead/*.o xbmc/cores/dvdplayer/*.o xbmc/cores/dvdplayer/DVDSubtitles/*.o xbmc/cores/dvdplayer/DVDInputStreams/*.o xbmc/cores/dvdplayer/DVDCodecs/*.o xbmc/cores/dvdplayer/DVDCodecs/Audio/*.o xbmc/cores/dvdplayer/DVDCodecs/Video/*.o xbmc/cores/dvdplayer/DVDCodecs/Overlay/*.o xbmc/cores/dvdplayer/DVDDemuxers/*.o xbmc/cores/dvdplayer/DVDCodecs/Overlay/libspucc/*.o xbmc/cores/VideoRenderers/*.o xbmc/cores/VideoRenderers/VideoShaders/*.o xbmc/lib/libcmyth/*.o xbmc/lib/libGoAhead/libGoAheadD-i486-linux.a xbmc/lib/libXBMS/libxbms-i486-linux.a xbmc/lib/libUPnP/libupnp-i486-linux.a xbmc/lib/libshout/libshout-i486-linux.a xbmc/lib/libRTV/librtv-i486-linux.a xbmc/lib/libXDAAP/libxdaap-i486-linux.a xbmc/lib/libcdio/libcdio-i486-linux.a xbmc/lib/libsmb/libsmbclient-i486-linux.a -lhal-storage -ldbus-1 -lpcre -lmms -lXrandr -ljpeg -lpng12 -lresolv -lrt -lasound -lmysqlclient -lsqlite3 -llzo2 -lfribidi -lfontconfig -lfreetype -ldl -lSDL_mixer -lSDL_image -lSDL -lvorbis -logg -ltre -lmad -lXinerama -lGLU -lGLEW -lGL -rdynamic
guilib/Surface.o: In function `Surface::CSurface::EnableVSync(bool)':
Surface.cpp:(.text+0x2140): undefined reference to `glXGetProcAddress'
Surface.cpp:(.text+0x2156): undefined reference to `glXGetProcAddress'
Surface.cpp:(.text+0x216c): undefined reference to `glXGetProcAddress'
Surface.cpp:(.text+0x2182): undefined reference to `glXGetProcAddress'
Surface.cpp:(.text+0x2198): undefined reference to `glXGetProcAddress'
guilib/Surface.o:Surface.cpp:(.text+0x21ae): more undefined references to `glXGetProcAddress' follow

pefdus
2008-05-20, 01:52
I'm just hunting to see where my GLX is
(a) being picked up by ./configure and
(b) why the dev files are not there ..

brb

topfs2
2008-05-20, 17:24
XBMC compiles for me both with --disable-debug and ordinary.

I had weird compile errors when I did my upgrade from gutsy to hardy, all went away when I did a clean install. Ubuntu isn't doing the upgrade really well, if you really don't want to reinstall ubuntu you can try the PPA in xbmc for linux forum. (sticky)

san
2008-05-23, 17:18
I can confirm these weird compile errors after an upgrade. It seems that some libraries are named differently if you upgrade. Tried to create a set of symbolic links but so far no luck...

So after my thesis I will reinstall my ubuntu box and xbmc will be working, with the wiimote, once again :)

pefdus
2008-06-07, 13:55
Okay, so I have resolved this issue now.

I was getting the glXGetProcAddress error on both 8.04 and 7.10 when I rolled back.
the problem was quite clearly that the method was not found in "my libGL.so".

I did a few things to work out what was wrong ..

1. "find any .so with the glXGetProcAddress method in it".

(exercise for the reader to what it is doing)

find /usr/lib -type f | xargs -l1 -ixx sh -c "(strings xx | grep glXGetProcAddress && echo xx)"

Amongst other responses, I saw this

glXGetProcAddressARB
glXGetProcAddressARB
/usr/lib/libGL.so.1.0.7185

The symlinks for libGL.so.1 eventually pointed to libGL.so.1.0.7185 (above)
lrwxrwxrwx 1 root root 10 2008-05-26 23:44 libGL.so -> libGL.so.1
lrwxrwxrwx 1 root root 17 2008-05-26 21:11 libGL.so.1 -> libGL.so.1.0.7185
-rw-r--r-- 1 root root 489028 2007-11-02 12:22 libGL.so.1.0.7185


So a quick google search of the two method names,

glXGetProcAddress glXGetProcAddressARB
gave a top entry of the "solution" (what I was expecting, the method name is different in my libGL

http://anirudhs.chaosnet.org/blog/2005.11.05.html

Developers, have a read of the above URL as the solution there seems quite tidy.

My fix was just to patch it ONLY with the #define to see if I could get past the compile error which it did.

rbuckland@saxon:~/029-XBMC/xbmc2/XBMC$ svn diff guilib/Surface.cpp
Index: guilib/Surface.cpp
================================================== =================
--- guilib/Surface.cpp (revision 13435)
+++ guilib/Surface.cpp (working copy)
@@ -24,6 +24,7 @@
\brief
*/
#include "include.h"
+#define glXGetProcAddress glXGetProcAddressARB
#include "Surface.h"
#ifdef __APPLE__
#include "CocoaUtils.h"
rb

Thanks guys ..

Temar
2008-11-25, 03:45
There is an easy fix to this problem and you don't even have to recompile the xbmc code. You can write a wrapper which wraps glXGetProcAddress() to glXGetProcAddressARB().

Save this as libwrap_gl.c

/** Wrapper to map glXGetProcAddress() to glXGetProcAddressARB()
*
* Compile : gcc -fPIC -shared -o libwrap_gl.so libwrap_gl.c
* Usage : LD_PRELOAD="/path/to/libwrap_gl.so" <executable>
**/
#define _GNU_SOURCE

extern void* glXGetProcAddressARB (const unsigned char*);

void* glXGetProcAddress (const unsigned char *procName)
{
return (glXGetProcAddressARB (procName));
}


Open a terminal and compile it with:

gcc -fPIC -shared -o libwrap_gl.so libwrap_gl.c


Preload the library and start xbmc with:

LD_PRELOAD="./libwrap_gl.so" /usr/bin/xbmc


For this to work, libwrap_gl.so has to be in the current directory. For a more permanent solution you can copy libwrap_gl.so to /usr/lib/.

Then edit /usr/bin/xbmc and change the line:
exec /usr/share/xbmc/xbmc.bin $*

to:
LD_PRELOAD="/usr/lib/libwrap_gl.so" /usr/share/xbmc/xbmc.bin $*

Temar