[phenixbb] MACOSX_DEPLOYMENT_TARGET mismatch between PHENIX and Coot
Ralf W. Grosse-Kunstleve
rwgk at yahoo.com
Wed Dec 29 08:59:14 PST 2010
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 <bene at hkl.hms.harvard.edu>
> To: phenixbb at phenix-online.org
> 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
> phenixbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/phenixbb
>
More information about the phenixbb
mailing list