Fuppes on OS X

Dr. Finkopolous put me on to fuppes last night. Basically it is a way to stream content to your xbox 360 via uPnP, yay! So, no more huddling around the laptop watching movies. The fat Sony tube tele gets a stay of execution and that puts off the NEED for the huge LCD monitor. It appears to be fairly easy to install on linux, but my linux box is on its own internet connection, and the xbox and two mac laptops are on another. So, begins the joy of getting this thing to compile in Leopard 10.5.5, and MacPorts 1.700. First thing is first if you are trying to set this up in OS X, make sure you have MacPorts installed AND you’ll need to have X11 installed to install MacPorts.

Go to the fuppes site, and download the tar file, and follow their Linux instructions to get going. I’m assuming you’ll get to make and it just fails. After some digging through a couple fuppes forums posts, most of it is dependancies, and then correcting includes in source files.

Make sure your up to date with MacPorts: sudo port selfupdate

You’ll probably need these packages: pcre, sqlite3 for ./configure to work so: sudo port install pcre

I ended up installing a bunch of other dependancies, gawk, mawk, FLAC, ffmpeg, faad2, twolame, simage. ./configure should work now, with the ffmpeg option. Make should fail spitting out something like this:

lib/ContentDirectory/FileDetails.cpp:46:24: error: avformat.h: No such file or directory
lib/ContentDirectory/FileDetails.cpp:47:23: error: avcodec.h: No such file or directory
lib/ContentDirectory/FileDetails.cpp: In member function 'bool CFileDetails::GetVideoDetails(std::string, SVideoItem*)':
lib/ContentDirectory/FileDetails.cpp:319: error: 'AVFormatContext' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:319: error: 'pFormatCtx' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:321: error: 'av_open_input_file' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:326: error: 'av_find_stream_info' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:328: error: 'av_close_input_file' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:333: error: 'AV_NOPTS_VALUE' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:337: error: 'AV_TIME_BASE' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:368: error: 'AVStream' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:368: error: 'pStream' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:369: error: 'AVCodec' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:369: error: 'pCodec' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:371: error: 'avcodec_find_decoder' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:375: error: 'CODEC_ID_MP3' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:381: error: 'CODEC_ID_MPEG2TS' was not declared in this scope
lib/ContentDirectory/<em>FileDetails.cpp</em>:405: error: 'CODEC_TYPE_VIDEO' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:410: error: 'CODEC_TYPE_AUDIO' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:414: error: 'CODEC_TYPE_DATA' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:416: error: 'CODEC_TYPE_SUBTITLE' was not declared in this scope
lib/ContentDirectory/FileDetails.cpp:424: error: 'av_close_input_file' was not declared in this scope
make[2]: *** [FileDetails.lo] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

So, time to find some files. Check out the output, it can’t find avcodec.h and avcodec.h in FileDetails.cpp. So what you’ll need to do if find the right path to the suspect files. locate avcodec.h

Copy the path, then: vim ../src/lib/ContentDirectory/FileDetails.cpp

Find the include, and add the path, save and quit. Run make again, it will probably fail again. Just look at the output, find the files it is complaining about, locate them, edit the file that calls them, and include the path. Once you have done all of that make should run fine. The rock sudo make, and you should be able to run fuppes!

Avatar
Nick Ruest
Associate Librarian