Hi Ben, Thanks for the great analysis of the problem. Could you try editing the file $PHENIX/phenix/phenix/command_line/start_coot.sh It is a short file. In the middle you'll see a list of "unset" statement. Does it solve the original problem if you add unset MACOSX_DEPLOYMENT_TARGET to that list? If it does I'll add the line in our sources so that it will be in all future phenix installers. Ralf ----- Original Message ----
From: Ben Eisenbraun
To: [email protected] Sent: Wed, December 29, 2010 8:04:36 AM Subject: [phenixbb] MACOSX_DEPLOYMENT_TARGET mismatch between PHENIX and Coot 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 | _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb