On Mon, Apr 4, 2011 at 11:10 AM, Ben Eisenbraun
For the time being, we're just checking for 32-bit only CPUs and then forcing them to use an older version of CNS. I tried building a 32-bit CNS and lipo'ing the 32 and 64-bit binaries into a two-way fat binary, but the default CNS optimizations seem to cause the 32-bit version to blow up.
Unfortunately, this would be much more difficult with PHENIX, since it isn't a monolithic program like CNS.
You should be able to use the hw.optional.x86_64 sysctl to tweak the phenix_env scripts to allow for a dual branch 32/64 bit installation in the same directory, but it seems like you're not yet recommending the 64-bit PHENIX on OS X Intel for general consumption. You could also do something hackish like default to 32-bit but read $1 on the "source phenix_env" command line to enable the 64-bit version.
I think the sysctl command will at least let me distinguish between CPU types, so that takes care of the 64-bit detection problem. How to allow 32-bit and 64-bit versions to coexist is a separate issue; environment variables are another way, but neither of these options is intuitive. However, I think I figured out how to make them coexist in the same base directory, but only for the command-line installation; the graphical installers will still overlap. One clarification: for people who only use the command line, the 64-bit build is recommended - we haven't noticed any problems with program behavior so far and it will potentially save a lot of time and trouble to have access to all available memory. It's the GUI that's the problem, but I'm going to see if I can tackle that this week. -Nat