Cross compiled Fuppes

Hi All,

I’m a new Drobo owner and was a little dissapointed to discover that it does not play nicely with my XBox 360. I can get the existing package running on my machine, but i routinely die when fuppes is rebuilding its local DB.

I’m a software developer by trade, so i figured i’d at least try to address the situation rather than moping about it.

I’ve been reading the posts here about setting up a VM and getting cross compiling to work. I was hoping it wouldn’t be too much difficulty to go through those steps, get the fuppes sources, and build them.

However, something seems amiss here. If this was simple to do, i would have expected that someone would have done it by now. However, i don’t see any posts from anyone trying this at all. So i figured i’d ask here first to see if thre was some reason this hadn’t been done. Are there complexities here that prevent this? Is there something i’m missing?

Thanks much!

That could be a memory problem, unrelated to fuppes version. This kind of stuff is hard to pinpoint, but can you give us an idea of how many files are you indexing right now? Maybe increasing the FS swap space will help.

Funny that you ask, I have been working on getting the latest fuppes cross-compiled. But let’s go back to the reasons why you probably don’t see any posts about it:
[]Most people here stream media content from the FS using the embedded AFP and SMB protocols. Works fine with most (all?) HTPCs, and needs no extra setup.
]Only some devices allow only UPnP streaming (such as Xbox260 and PS3). Even for those devices, the available version of fuppes seems to work (in some capacity).
There are a few forum members that are in the same position as yourself: they have a device that needs UPnP streaming, but the current version does not work for them. And getting fuppes cross-compiled ain’t a walk in the park, I can tell you.

I do have a preliminary version of fuppes 0.660 cross compiled, but here is a summary of the problems I found:
[]Fuppes requires (it does not even compile without those):
]pcre requires zlib, but otherwise compiles easily
[]libxml2 requires python on the VM to compile, but otherwise compiles easily
]sqlite3 compiles easily
[]Optionally, you also need (I’m only listing the metadata parsing stuff, since transcoding on the FS would be crazy - not nearly enough CPU for that):
]taglib (mp3, ogg, flac & mpc), which compiles easily
[]mpeg4ip/mp4v2 (mp4/m4a), which I haven’t tried yet
]Exiv2 (exif and iptc metadata), which I haven’t tried yet
[]ImageMagick-Wand (any kind of image for which you care to compile the dependency), which is a pain due to its own dependencies (one for each type of image), but otherwise compiles easily:
]libjpeg (JPEG), which compiles easily
[]simage (jpeg, png, gif, tiff, rgb, pic, tga, eps), which I haven’t tried yet
]libavformat, which is a part of ffmpeg (any kind of video for which you care to compile the dependency), which is a pain to cross compile, and I haven’t quite really managed to get it right
[*]ffmpegthumbnailer, which relies also on ffmpeg, and thus I was not able to get it right.

In summary, what do I have so far? My compiled version of fuppes 0.660 does work, and can be accessed by an UPnP client (I’m testing with a WDTV Live HD). However, I haven’t compiled any metadata parsing add-ons with it. In other words, I can browse the shared files, but virtual folders that rely on metadata don’t show anything.

It is kinda of funny that because of this the indexing goes way faster than the DRI-sanctioned version… :slight_smile:

Anyway, the version I have relies on DroboLib versions of zlib, pcre, libxml2 and sqlite3. By itself not a problem, it just makes the DroboApps folder a bit messy. So I’m working to compile either a static version of the setup I have (i.e., without metadata parsing), or to recompile all the libs to reside inside the fuppes DroboApp folder.

It would be nice to have the people interested in fuppes to weigh in and let us know how they use fuppes and what features do they need.


First off, you have my sincere thanks for the thoughtful and in depth reply. I truly appreciate it.

My response is inlined:

That could very well be it. I have about 5k files totally about 3.5TB. I’m not sure if that’s low, medium, or high for fuppes.

I’ve also taken a look at the fuppes.log file. It all seems fine except for the last line of:
fuppes: utils.c:640: update_initial_durations: Assertion `pkt->duration && !st->cur_dts’ failed

I’m not sure if it dies at that point, or if it is unrelated.

That’s great to hear. I’m glad someone with knowledge and experience is investigating this.

What would actually be A-OK with me. I’ve always just used my NAS as a simple file share to be browsed AFP/SMB style. I didn’t realize that the XBox didn’t support that when i bought the drobo unfortunately.

This sounds like it would be perfect for my needs. I would happily take either the staticly linked approach, or the lib approach.

Please let me know if you’d like someone to test this out for you.

Many thanks,

     -- Cyrus

I have some polishing yet to do and I’ll release a version as soon as possible.

Sounds good. I’m set to be notified if this thread is posted to. So if you could post here when you’re set, that would be terrific.


I just posted the how-to compile, package, install and a link to a precompiled version here.