Although I have not yet tried to compile coot or CCP4, I have found that the GNU provided packages (gcc, g77) do not make life convenient (how is that for a euphamism for 'banging your head against the wall)? Things worked better with gfortran than g77 and again better with the Intel compilers (both fortran and C(++)). When I say 'worked better' this means 'less effort to get it working' and also (particularly in case of Intel) 'faster'. My experience was not with Fedora but with RHEL (similar problems as described below, not the same though). In my humble opinion it is worth to spend the money, get the paid-for compiler, and get around the problems like the one you describe. Life gets even better: if you want to try, you can get a free trial license for either fortran or C(++) or both and convince yourself that it is better. The Intel compilers are a one-time expense with an indefinite license, but you must pay annually if you want support. Academic licenses are (appropriately) inexpensive. My 2 cents worth. Mark -----Original Message----- From: [EMAIL PROTECTED] To: CCP4BB@JISCMAIL.AC.UK Sent: Wed, 14 Feb 2007 1:09 PM Subject: Re: [ccp4bb] x86-64 Dear Phil,
Good luck . . . I have been fighting an x86_64 system for some time, and have just figured out what some of the problems are. I am running Fedora Core 5. I believe that if you use the -m32 flag for gcc you can compile 32-bit code for 32-bit libraries. The default is to compile 64-bit and link 64-bit. The real joker in the deck is the file system layout: /usr Default root prefix /usr/include Used for both 32 and 64 bit systems /usr/lib Libraries for 32-bit code /usr/lib64 Libraries for 64-bit code /usr/bin For both -- the operating environment is encoded in the file This breaks the standard prefix scheme for prefix/{include,lib,src,...} because it is not easy to tell when you need lib and when you need lib64. I was unable to compile Coot from source until the last day or so because the linker kept putting the 32-bit libGL.so in the search path. This is a fatal error. I finally tracked this to a bug in libtool, which figures out about the 32/64 bit issues *nearly* all of the time. Sigh. Short answer: get the latest, bleeding-edge Autoconf package from the GNU web site and install it. It is alpha, but seems to work, and the configure scripts once generated can be run almost anywhere. (Oh, you may also have to upgrade M4.) *Note* I got Autoconf 2.61, but the real key seems to be the version number on the libtool macros. Version 1.2248 does not work, but Version 1.2381 does work on my system. Unfortunately the latest versions are also more picky about the macros, so if autoupdate can't fix them, you have to do some hand editing. I will be happy to follow up on this off-line, and expect to post a summary on the Coot bulletin board once I have some loose ends tidied up. I suspect this may be why I have had problems trying to build ccp4mg from source on this machine, as well. Overall the machine runs really well, but you do hit the occasional package that is not 64-bit clean. Best regards, Lynn Ten Eyck On 2/14/07 10:00 AM, "Phil Evans" <[EMAIL PROTECTED]> wrote: > I'm just starting to use a 64-bit Linux machine (running some sort of > RedHat Enterprise system) as a development machine > > Our general CCP4 installation is from the binary download (redHat > option) (presumably built on a 32-bit machine), which seems to run OK > on a range of different Linux machines > > However if I compile on the 64-bit machine & try to link with these > libraries, it doesn't work > > r/bin/ld: skipping incompatible /public/xtal/ccp4-6.0/ccp4-6.0.2- > linux/lib/libccp4f.a when searching for -lccp4f > /usr/bin/ld: cannot find -lccp4f > collect2: ld returned 1 exit status > make: *** [scala] Error 1 > > > Is it possible to set compile flags to produce something (.o) which > will link with th distributed libraries, and produce an executable > which will run on other (32-bit) Linux machines? > > In the mean time, I'm doing a complete source build on the 64-bit > machine > > Phil -- Lynn F. Ten Eyck [EMAIL PROTECTED] San Diego Supercomputer Center (858) 534-5141 (Voice) University of California, San Diego (858) 822-3610 (Fax) 9500 Gilman Drive #0444 Office: 3131 Atkinson Hall La Jolla, CA 92093-0444 ________________________________________________________________________ Check Out the new free AIM(R) Mail -- 2 GB of storage and industry-leading spam and email virus protection.