Ubuntu 8.04 (Hardy Heron) 32-bit packages dependencies
#46
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".
Reply
#47
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.
Reply
#48
rodalpho Wrote: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
Reply
#49
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.
Reply
#50
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 ?

Code:
[font=Courier New]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[/font]
Reply
#51
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
Reply
#52
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)
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#53
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 Smile
Reply
#54
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)
Code:
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)
Code:
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,
Code:
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.

Code:
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 ..
Reply
#55
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
Code:
/** 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:
Code:
gcc -fPIC -shared -o libwrap_gl.so libwrap_gl.c

Preload the library and start xbmc with:
Code:
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:
Code:
exec /usr/share/xbmc/xbmc.bin $*

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

Temar
Reply

Logout Mark Read Team Forum Stats Members Help
Ubuntu 8.04 (Hardy Heron) 32-bit packages dependencies0