Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

Mac OS X On FATE

October 1st, 2008 by Multimedia Mike

Okay, FATE is back online, somewhat. First and foremost, you will notice that Mac OS X autobuilds are at the top of the page. I know it doesn’t look like much is different but I changed a whole lot of stuff under the covers to get to that point. I have not re-instated the x86_32 or x86_64 build/test cycles for Linux yet because I would like to see this new script bake for a day or 2 before copying it to other systems. The PPC build/test cycles are running because I can’t figure out how to make the new script run on that machine (hi Gentoo!), so it gets to stick to the older, still functional script for now.

If you will indulge a little self back-patting, I’m rather pleased with how this new system is shaping up. I set out to solve one problem but I wound up realizing solutions and better approaches for a whole lot more things. The new system is already faster and more resilient to intermittent network problems (that will never go away completely no matter what availability and bandwidth guarantees we have). Going forward, I have new ideas about how to make the system easier to administer, and to allow co-administrators to help out as well. Look for more platforms on FATE in the near future as it should be much easier for others to run the client program and automatically submit data back to the server. And it may even be possible to adapt the system for other projects.

I look forward to writing up more notes about the infrastructure changes. Most of them boil down to my new love affair with SQLite.

Posted in FATE Server | 10 Comments »

10 Responses

  1. dconrad Says:

    Are you sure you’re building for 64-bit and not 32-bit on OS X? AFAIK Apple’s compiler defaults to 32-bit unless you add -m64 to c and ldflags.

  2. Multimedia Mike Says:

    hmm…

    $ file ffmpeg
    ffmpeg: Mach-O executable i386

    So that means 32-bit, right? I’ll go change that.

    Does that mean that my humble Mac Mini (with OS 10.5.5) could perform FATE duty for both 32- and 64-bit? Is it even worthwhile to do 32-bit?

  3. dconrad Says:

    Yep, 64-bit will give “ffmpeg: Mach-O 64-bit executable x86_64”

    Both 32 and 64 bit OS X are worthwhile IMO because 32-bit far more likely to break due to register pressure than 64-bit is, while 64-bit is more likely to break due to global variable asm accesses, both of which Mach-O/Apple’s gcc are much less forgiving than Linux is.

  4. Multimedia Mike Says:

    Is there an easy way to tell the compiler to do 64-bit from the ./configure command line? I don’t see a problem with having the Mac do both configurations (especially considering that all other platforms do at least 5 each).

  5. dconrad Says:

    configure –arch=x86_64 –extra-cflags=”-m64″ –extra-ldflags=”-m64″

    should work (the –arch is needed because uname -m returns i386 regardless of 64-bit capabilities on OS X)

  6. Multimedia Mike Says:

    Thanks very much. I will test that and hopefully get it into the farm in the next day or 2.

  7. Mans Says:

    What’s your quarrel with Gentoo? Maybe I can help negotiate a truce.

  8. Multimedia Mike Says:

    In order for this script to work, Python 2.5+ must be installed since it includes support for sqlite3. Gentoo finally packaged Python 2.5 but the sqlite3 support doesn’t seem to be present.

    I need to get the machine into a state where I can invoke the Python interpreter and type “import sqlite3” and it works.

  9. Reimar Says:

    Hm, just add the sqlite use flag?
    E.g. add to /etc/portage/package.use the line
    dev-lang/python sqlite

    And then do
    emerge -1av python
    which should allow you to verify that everything is as you like.

  10. Multimedia Mike Says:

    I see there’s a Python package upgrade ready to go (in ’emerge -uDp world’) so I will try adding the flag and upgrade the package.