[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