[phenixbb] MACOSX_DEPLOYMENT_TARGET mismatch between PHENIX and Coot

Ben Eisenbraun bene at hkl.hms.harvard.edu
Wed Dec 29 08:04:36 PST 2010


Howdy PHENIXians,

One of my users reported this error:

  File "/programs/i386-mac/coot/coot-latest/lib/python2.7/sysconfig.py", line 300, in _init_posix
    raise IOError(msg)
IOError: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.4" but "10.5" during configure

The person is running on OS X Intel, using a PHENIX nightly and trying to
call Coot.  It looks like the PHENIX nightlies are built with
MACOSX_DEPLOYMENT_TARGET=10.4, and the Coot I built used M_D_T=10.5 and
Python is unhappy about this.

It's easy to test this:

 $ export MACOSX_DEPLOYMENT_TARGET=10.3
 $ phenix.python
Traceback (most recent call last):
  File "/programs/i386-mac/phenix/dev-606/phenix-dev-606/build/mac-intel-osx/base/Python.framework/Versions/Current/lib/python2.7/site.py", line 553, in <module>
<snip>
IOError: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.3" but "10.4" during configure

Or if you have access to one of our installations:

 $ phenix.python
import os
os.system('coot')

Results in the original error pasted above.  After playing a bit, I came up
with a workaround.  If you just set the M_D_T to 10.5 before starting Coot
and _after_ starting PHENIX, it all seems to work. E.g. I can start Coot
using this script:

 $ cat coot.py 
#!/usr/bin/env phenix.python
import os
os.putenv('MACOSX_DEPLOYMENT_TARGET', '10.5')
os.system('coot')

And since the 'coot' binary in the PATH is a wrapper script, I can just set
it in the environment there.  

My question is: does Python actually need this?  Is my workaround going to
break something?  I'm not enough of a Pythonista to be able to tell from
looking at the sysconfig code if this will be an issue.  There is a comment
in the source:

    # On MacOSX we need to check the setting of the environment variable
    # MACOSX_DEPLOYMENT_TARGET: configure bases some choices on it so
    # it needs to be compatible.

But it's not clear to me when it's going to be used.  I'm almost certainly
going to implement the workaround, so I'm mostly posting this for the list
archives and to see if anyone has a better idea.

Thanks.

-ben

--
| Ben Eisenbraun
| SBGrid Consortium                          | http://sbgrid.org       |
| Harvard Medical School                     | http://hms.harvard.edu  |



More information about the phenixbb mailing list