Issues Compiling
#1
Hey all,
I had a go at compiling xbmc for osx today with the aim being getting set up to aid the development effort going on. I am a little bit of a noob when it comes to osx development so I'm hoping someone can help. (I'm a unix/linux dev by trade).

I started with a virgin install of leopard and basically did the following: (may not be optimal but was a bit of trial and error to get things going)
Installed Xcode
Installed MacPorts

sudo port install glew freetype fribidi libcdio lzo
sudo port install python24
sudo port install libsdl-framework libsdl libsdl_gfx libsdl_image libsdl_mixer mysql5-devel libogg
sudo port install pcre
sudo ln -s /opt/local/var/macports/software/python24/2.4.5_0+darwin_9/opt/local/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4/ /opt/local/include/python2.4

sudo ln -s /opt/local/var/macports/software/mysql5-devel/5.1.23-rc_2/opt/local/include/mysql5
/opt/local/include/mysql5-devel

After all of that I was able to compile all the files, but during linking the build fails on the -lcdio. I double checked that the macport of libcdio was installed, but I still cannot build.

Can someone point me in the right direction here?
Pundy
Reply
#2
I feel your pain...I too would love to be able to build from SVN, but it just doesn't seem possible for Mac OS X. I've given up for now (the next few weeks anyways). I'd love to have helped in the development/testing as well Sad
Reply
#3
Quote:After all of that I was able to compile all the files, but during linking the build fails on the -lcdio. I double checked that the macport of libcdio was installed, but I still cannot build.

You have to add /opt/local/lib to the XCode projects Library search path! But I'm stuck at libsmbclient for the moment. I can only find it in /Developer/SDKs/MacOSX10.5.sdk/usr/lib/samba. But when symlinking to /opt/local/lib I still get this error...
Reply
#4
OK so I added the /opt/local/lib into the xcode lib search path and got past there.

The next problem was the missing samba library. A port install of the samba3 library has that one covered.
i.e sudo port install samba3

So from here I had a few lib issues due to the relative paths and where I'd checked out the linuxport dir from subversion. Basically I went through the broken paths in XCode and fixed them to be one level back up the tree. This may or may not be an issue for others.

With some temp fiddling to fix/diasble a couple compile errors (KaiItem.cpp:130 and DVDaudio.cpp:79) I was ready to link but ran into the next issue:

Undefined symbols:
"CDVDSubtitleParserMicroDVD::CDVDSubtitleParserMicroDVD(CDVDSubtitleStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
CDVDFactorySubtitle::CreateParser(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)in DVDFactorySubtitle.o
ld: symbol(s) not found

Ahh so close yet so far! Anyone got any ideas on this one? Too late for more looking at the moment so I'll leave it for another time.
Reply
#5
If I recall correctly, the file xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitleParserMicroDVD.cpp is not included in the XCode Project and thus is not built. Adding this file (which contains the referenced function) should fix your problem.
Reply
#6
I came on tonight to put on here about needing to add the DVDSubtitleParserMicroDVD.cpp/.h in the xcode setup, but looks like you beat me to the punch. Thanks for the help.

Woohoo finally a build! Hopefully the instructions above will help others getting things going also.

Now to get my head around what does what where!
Reply
#7
Thanks Pundy for the help/advice...What SVN release did you successfully build against?

I have tried today, with the lastest rev of 12360 from svn and get this error at:

Ld /Users/gordon/Public/linuxport/XBMC/build/Debug/XBMC normal i386
cd /Users/gordon/Public/linuxport/XBMC
/Developer/usr/bin/g++-4.0 -o /Users/gordon/Public/linuxport/XBMC/build/Debug/XBMC -L/Users/gordon/Public/linuxport/XBMC/build/Debug -L/Users/gordon/Public/linuxport/XBMC/guilib/freetype2 -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/filezilla -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libcdio -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libCDRip -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libfribidi -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libGoAhead -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libiconv -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/liblzo -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libPython/linux/tmp -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libRTV -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libshout -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libSpeex -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libUPnP -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libXBMS -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libXDAAP -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libXenium -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/mikxbox -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/sqLite -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/zlib -L/Users/gordon/Public/linuxport/XBMC/../../../../../opt/local/lib -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libportaudio -L/Users/gordon/Public/linuxport/XBMC/xbmc/lib/libffmpeg-OSX -L/opt/local/lib/mysql5/mysql -L/Users/gordon/Public/linuxport/XBMC/../../../../../opt/local/lib/mysql5-devel/mysql -L/Users/gordon/Public/linuxport/XBMC/../../../../../opt/local/lib/samba3 -L/Users/gordon/Public/linuxport/XBMC/../../../../../Source/samba-3.0.28/source/bin -F/Users/gordon/Public/linuxport/XBMC/build/Debug -filelist /Users/gordon/Public/linuxport/XBMC/build/XBMC.build/Debug/XBMC.build/Objects-normal/i386/XBMC.LinkFileList -framework CoreFoundation -framework AudioToolbox -framework AudioUnit -framework Cocoa -framework CoreAudio -framework CoreServices -framework Foundation -framework OpenGL -lcdio -lfreetype -lfribidi -lGLEW -liconv -llzo -lz -framework AppKit -framework ApplicationServices -lstdc++.6 -lxdaap-osx -lrtv-osx -lportaudio-osx -lGoAhead-osx -framework IOKit -framework QuickTime -framework Carbon -lavutil-osx -lavcodec-osx -lavformat-osx -lswscale-osx -lpostproc-osx -lmad.0.2.1 -logg.0.5.3 -lvorbis -lsqlite3.0 -lSDL -lSDL_image -lSDL_mixer -lSDLmain -lShout-osx -lmysqlclient.16.0.0 -lsmbclient -lpcre.0.0.1 -lpython -arch i386 -mmacosx-version-min=10.5 -header-pad_max_install_names -isysroot /Developer/SDKs/MacOSX10.5.sdk
Undefined symbols:
"_ControlRadioButton_Type", referenced from:
_ControlRadioButton_Type$non_lazy_ptr in GUIPythonWindow.o
_ControlRadioButton_Type$non_lazy_ptr in window.o
_ControlRadioButton_Type$non_lazy_ptr in xbmcguimodule.o
"_ControlRadioButton_Create", referenced from:
_Window_AddControl in window.o
"_initControlRadioButton_Type", referenced from:
_InitGUITypes in xbmcguimodule.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
** BUILD FAILED **
Reply
#8
I managed to build against SVN version 12282. Looks like the latest is broken.
You should be able to do a svn update -r 12282 to go back to the prev version.
Reply
#9
How can i add the /opt/local/lib into the xcode lib search path?
Reply

Logout Mark Read Team Forum Stats Members Help
Issues Compiling0