Posts: 6
Joined: Mar 2008
Reputation:
0
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
Posts: 6
Joined: Mar 2008
Reputation:
0
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.
Posts: 14
Joined: Mar 2008
Reputation:
0
frain
Junior Member
Posts: 14
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.
Posts: 6
Joined: Mar 2008
Reputation:
0
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!
Posts: 96
Joined: Oct 2003
Reputation:
-10
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 **
Posts: 6
Joined: Mar 2008
Reputation:
0
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.
Posts: 3
Joined: Apr 2008
Reputation:
0
How can i add the /opt/local/lib into the xcode lib search path?