XCode changes for svn-17279
#1
Big news here.

XBMC for Mac can now be built with all codecs/libs in addition to the main XBMC binary. There are two ways to build, both REQUIRE that autoconf/configure be run once before building. You now have the choice of

a) make from the command-line.

b) build from Xcode (as before).

See readme.osx for more details.

For the first time, the build process will build ALL codecs and libs required by XBMC for Mac except LibCurl and LibSDL. These two libs will be added at a later time.

This change means that now the build process will build all required binaries and thus will track svn much better than the previous build process.

Remember, you will need to run autoconf and configure from the command-line before building using either method. And see readme.osx for more details.
Reply
#2
Hi,

After the update of the compilation runtine I am unable to get it going. Yesterday, with revision 17299 I got the following error when doing ./configure (as stated in the readme.osx):

---------
Macintosh:~ cfa$ cd XBMC/
Macintosh:XBMC cfa$ autoconf
Macintosh:XBMC cfa$ ./configure
configure: Ensuring config.guess and config.sub exist and is executable
...
checking for main in -ljasper... no
configure: error: ERROR: Could not find a required library. Please see README.linux
---------

This morning I retrieve revision 17325. Now I get:

---------
Macintosh:~ cfa$ cd XBMC/
Macintosh:XBMC cfa$ autoconf
Macintosh:XBMC cfa$ ./configure
configure: Ensuring config.guess and config.sub exist and is executable
...
checking for main in -lportaudio... yes
== PulseAudio support manually disabled. ==
== FAAC support manually disabled. ==
== XRandR support disabled. SDL will be used for resolution support. ==
checking for gawk... no
configure: error: ERROR: Could not find a required program. Please see README.linux.
---------

I cant find any info on this. What am I doing wrong?
Reply
#3
Quote:checking for main in -ljasper... no
configure: error: ERROR: Could not find a required library. Please see README.linux

this was fixed in svn r17324

Quote:checking for gawk... no
configure: error: ERROR: Could not find a required program. Please see README.linux.

configure can't find the binary called "gawk". It should be located at

/opt/local/bin/gawk

Since this is off the /opt directory, how did you install MacPorts?
Reply
#4
I didnt.. I used the "fast forward" 3.1 Option A "Install the pre-built MacPort packages" from the readme.osx Big Grin

But that was back in December. Do I need to download MacPorts-mpkgs-1.1.zip and reinstall the packages?
Reply
#5
alxgarder Wrote:I didnt.. I used the "fast forward" 3.1 Option A "Install the pre-built MacPort packages" from the readme.osx Big Grin

But that was back in December. Do I need to download MacPorts-mpkgs-1.1.zip and reinstall the packages?

ok, the makefile stuff is new and gawk might be required under osx.

It will take me a bit to verify but

To build gawk from source, if you aren't using MacPorts:

Download gawk: http://ftp.gnu.org/gnu/gawk/gawk-3.1.6.tar.gz

Install via:

./configure
make
sudo make install
Reply
#6
Update on the missing gawk:

It's not needed on osx builds, awk is present and works fine when used. This dependency has been removed from configure/configure.in for osx builds and is in svn r17329
Reply
#7
I've had the old build system working fine for a few months now but have not had any luck since this latest change was implemented.

Below is the output from when i run ./configure (SVN 17331) any suggestions on how to fix the errors/warnings that I'm getting?


Configure: Ensuring config.guess and config.sub exist and is executable
checking build system type... i386-apple-darwin9.6.0
checking host system type... i386-apple-darwin9.6.0
checking for ccache... none
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking how to run the C preprocessor... g++ -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking boost/shared_ptr.hpp usability... yes
checking boost/shared_ptr.hpp presence... no
configure: WARNING: boost/shared_ptr.hpp: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result
checking for boost/shared_ptr.hpp... yes
checking for main in -lGLEW... yes
checking mad.h usability... yes
checking mad.h presence... no
configure: WARNING: mad.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: mad.h: proceeding with the compiler's result
checking for mad.h... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... no
configure: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: jpeglib.h: proceeding with the compiler's result
checking for jpeglib.h... yes
checking for main in -lmad... yes
checking for main in -logg... yes
checking for main in -lvorbis... yes
checking for main in -lfreetype... yes
checking for main in -lfontconfig... yes
checking for main in -lbz2... yes
checking for main in -lfribidi... yes
checking for main in -lsqlite3... yes
checking for main in -lmysqlclient... yes
checking for main in -lasound... no
checking for clock_gettime in -lrt... no
checking for main in -lpng12... yes
checking for main in -ljpeg... yes
checking for main in -lpcre... yes
checking for main in -llzo2... no
checking for main in -llzo... yes
checking for main in -lz... yes
checking for main in -liconv... yes
checking for main in -lsmbclient... yes
checking for main in -lportaudio... yes
== PulseAudio support manually disabled. ==
== FAAC support manually disabled. ==
== XRandR support disabled. SDL will be used for resolution support. ==
checking for cmake... no
configure: error: ERROR: Could not find a required program. Please see README.linux.
Reply
#8
leigh_munro Wrote:== XRandR support disabled. SDL will be used for resolution support. ==
checking for cmake... no
configure: error: ERROR: Could not find a required program. Please see README.linux.[/COLOR]

Install cmake via

Code:
port install cmake


I have another problem: Since rev17325 the compile with xcode fails when reaching Utils.cpp.
When reverting back the file to the previous rev the compile works just fine.

I get the following error:

Code:
/Users/as/Documents/XBMC/xbmc/Util.cpp:3416: error: 'g_RemoteControl' was not declared in this scope
Reply
#9
Found another one:

Mediastream doesn't display any textures because "imgeLib-osx.so" isn't copied into xbmc.app.
After inserting the file into the application package, Mediastream starts to work again.
Reply
#10
Hi again..

Installed gawk and cmake and got a little further. Now the configure exists at:

-------
checking for ogg >= 1.0... checking for Ogg... no
*** Could not run Ogg test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means Ogg was incorrectly installed
*** or that you have moved Ogg since it was installed. In the latter case, you
*** may want to edit the ogg-config script:
configure: error: must have Ogg installed!
~/XBMC
configure: error: Submodule xbmc/cores/paplayer/vorbisfile/libvorbis failed to configure
Macintosh:XBMC cfa$
-------

I have tried/guess at reinstalled the macports for libogg (sudo port install libogg) but it had no effect. Also checked out lastest revision (17341) but its still the same??

Any ideas?
Reply
#11
Perhaps try reinstalling libvorbis. Maybe that helps.
Reply
#12
You are right Z3rO, that worked like a charm. Thanks man Wink
Reply
#13
Thanks to all for finding these issues, just to review.

1) need the following installed (missing from readme.osx):

Quote:yasm
cmake
libvorbis

2) The error with xbmc/Util.cpp is strange, builds fine here but I'll check into why g_RemoteControl popped up, sounds like something with LIRC which is not present on OSX. (EDIT found this one, r17325 broke osx build, fixed in 17343)

3) "imgeLib-osx.so" issue is also strange, the spelling is wrong, it should be "ImageLib-osx.so" and the XBMC.app build step copies all *-osx.so files into XBMC.app. So I'd like to see a pastebin post of the contents of xbmc/system and XBMC.app/Contents/Resources/XBMC/system. "ls -la" will show what I want to see.

Since we are now building everything, there are more dependencies showing up. While this might seem troublesome, it's actually very good. XBMC for Mac has never been able to be build completely from source to XBMC.app and these changes enable this. We feel it's very important for anyone to be able to build XBMC for Mac from scratch.
Reply
#14
Any just an FYI, if you are sticking close to svn, check http://trac.xbmc.org/timeline peridically for changes to configure/configure.in or any Makefile.in.

If you see changes, then you need to repeat the following or these changes will NOT be picked up.

Quote:autoconf
./configure
make clean

And just an FYI for those building completely from command-line. There are make dependency problem with the main Makefile. These effect builds on both OSX and Linux. Typically doing a make twice fixes them and everything gets built. Do not do a "make distclean", that's very problematic right now.
Reply
#15
davilla Wrote:3) "imgeLib-osx.so" issue is also strange, the spelling is wrong, it should be "ImageLib-osx.so" and the XBMC.app build step copies all *-osx.so files into XBMC.app. So I'd like to see a pastebin post of the contents of xbmc/system and XBMC.app/Contents/Resources/XBMC/system. "ls -la" will show what I want to see.

Sorry it was a spelling mistake on my side. I didnt copy/paste.

I just did a fresh build of rev17341 (commented out the lirc thing). Now the ImageLib-osx.so file IS present in my app package, but Mediastream doesnt display any Textures. My xbmc logfile

http://pastebin.com/m5658632c

And a screenshot

Image
Reply

Logout Mark Read Team Forum Stats Members Help
XCode changes for svn-172790