Using DistCC and Fink

While it’s not officially supported, and can cause breakage when building certain packages, it’s possible to use distcc with Fink if you’re careful.

I finally got around to documenting setting MAKEFLAGS in Fink on the wiki. Heed the warnings, but for the most part it works pretty smoothly.

Also, I’m in the process of starting down the road of updating kde.opendarwin.org now that there’s some decent progress on KDE/Mac. I’m making Installer.app packages of universal Qt and “kdesupport” (the tarball documented on the Building KDE/Mac from Source wiki page.) There won’t be universal kdelibs and stuff until I figure out how to get such integrated into the cmake build, but in the meantime, it will save some folks some building, and set the groundwork for getting some real snapshot stuff packaged up nicely.

Share on Facebook

8 comments to Using DistCC and Fink

  • Hiro

    Hey Rick. Love your work on Fink. I honestly think you’ve done a really great job with it.
    However, there’s one thing I’ve been trying to figure out. I understand that Fink has successfully worked when cross-compiling stuff on different OSes, but can it do the same thing on different hardware platforms? I have an iBook and a brand new Intel Mac Mini and would love to distribute some of the heavy lifting between them.
    Thanks, and keep up the good work!

  • Yup, Hiro, you don’t even need to use the DISTCC_TRANS (translation) stuff to just go from mac to mac. I distcc from my powerbook to an intel mac mini all the time.

  • Hiro

    Cool. It seems like my cross compilations work up until the point where Fink needs to do object linking. Specifically, this error keeps popping up:
    /usr/bin/ld: warning test-resizing.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
    Is this related to the odcctools issue? I’m running Darwin 8.6.0 with gcc 4.0 and XCode 2.0, and I don’t have odcctools installed.
    Thanks again for your help.

  • Oop, I stand corrected, for different arches you do need to use the DISTCC_TRANS stuff. Edit /sw/etc/distcc.conf and set DISTCC_TRANS=true and it should work.

  • Hiro

    I have the DISTCC_TRANS parameter set to true, but it’s still throwing the aforementioned error. For instance, this is what I get when trying to build wget:
    /usr/bin/ld: warning cmpt.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
    /usr/bin/ld: warning convert.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
    /usr/bin/ld: warning cookies.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
    /usr/bin/ld: warning http://ftp.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)
    /usr/bin/ld: warning ftp-basic.o cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (file not loaded)

    Is there anything else I’m missing?

  • Well, now that you have poisoned ccache entries, you probably need to delete /sw/var/ccache/* before you can do anymore with it. Then it should start working.

  • Hiro

    Unfortunately the errors still persist. I think I’m gonna try upgrading to XCode 2.2.1 and see what happens.
    BTW do you know if XCode can be downloaded from somewhere other than the ADC site? I’ve been trying to download it since yesterday and it crawlssss…. yawn….

  • Dang, well, my blog is not the best place to try to work out bugs anyways. If you still have problems, give me an e-mail and we’ll figure out what’s going wrong. 🙂
    I’ve done it myself, plenty, so I know it works, but I did a lot of tinkering to get it that far. I *thought* all that tinkering got distilled into the distcc package, but it’s quite likely that I’ve missed something.