Jul 26

Compiling Blender svn on OSX Lion (with SCONS and Xcode 4.1)

Tue, 07/26/2011 - 19:11 — peter

The Problem

I upgraded to OSX Lion with the now free again Xcode 4.1 and no longer can compile Blender from SVN... again!

The Solution

To get your SVN Blender-fu back you will need to do 2 somewhat simple things:

  1. Change your user-config.py file.
    • Add Lion to the MAC_CUR_VER list (last 2 lines below):
      ...
      if cmd_res[0]=='7':
              MAC_CUR_VER='10.3'
      elif cmd_res[0]=='8':
              MAC_CUR_VER='10.4'
      elif cmd_res[0]=='9':
              MAC_CUR_VER='10.5'
      elif cmd_res[0]=='10':
              MAC_CUR_VER='10.6'
      elif cmd_res[0]=='11':
              MAC_CUR_VER='10.7'
    • Keep the x86_64 architecture - hopefully you did this already, if not, change your MACOSX_ARCHITECTURE line to the following:
      if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64':
              USE_QTKIT=True # Carbon quicktime is not available for 64bit
    • Finally, change or comment out+add lines on the SDK location variable to the following.
      #else :
      #       MAC_MIN_VERS = '10.5'
      #       MACOSX_DEPLOYMENT_TARGET = '10.5'
      #       MACOSX_SDK='/Developer-old/SDKs/MacOSX10.5.sdk'
      #       LCGDIR = '#../lib/darwin-9.x.universal'
      #       CC = 'gcc-4.2'
      #       CXX = 'g++-4.2'
      else :
              MAC_MIN_VERS = '10.7'
              MACOSX_DEPLOYMENT_TARGET = '10.7'
              MACOSX_SDK='/Developer/SDKs/MacOSX10.7.sdk'
              LCGDIR = '#../lib/darwin-9.x.universal'
              CC = 'gcc-4.2'
              CXX = 'g++-4.2'
  2. Now, if you try to compile with python2.7 scons/scons.py -j8,you will get an error similar to the following:
    Compiling ==> 'buildinfo.c'
    Install file: "release/text/copyright.txt" as "/Users/peter/workspace/blender-build/install/darwin/copyright.txt"
    Install file: "release/text/GPL-license.txt" as "/Users/peter/workspace/blender-build/install/darwin/GPL-license.txt"
    Install file: "release/text/Python-license.txt" as "/Users/peter/workspace/blender-build/install/darwin/Python-license.txt"
    Install file: "release/text/readme.html" as "/Users/peter/workspace/blender-build/install/darwin/readme.html"
    Linking program ==> 'blender'
    ld: library not found for -lSystemStubs
    collect2: ld returned 1 exit status
    scons: *** [/Users/peter/workspace/blender-build/build/darwin/bin/blender] Error 1
    scons: building terminated because of errors.

    To fix that, run the following command (which assumes you have xcode installed on the usual place, /Developer
    for i in `find /Developer/SDKs/MacOSX10.6.sdk -iname libsystemstubs*`; do  sudo ln -s $i /Developer/SDKs/MacOSX10.7.sdk/usr/lib/; done

Voila! You can now continue to compile Blender under OSX Lion!

Easy Peasy!

-PCP