[gmx-developers] Problems building for OS X with threads

Mark Abraham Mark.Abraham at anu.edu.au
Sun Apr 1 11:19:21 CEST 2012


On 1/04/2012 6:55 PM, Dommert Florian wrote:
> On Sun, 2012-04-01 at 03:50 +0000, Shirts, Michael (mrs5pt) wrote:
>> Hi, all-
>>
>> I'm very recently (with 4.6 updates in the last couple of weeks) having
>> issues with building gromacs with threads on OS X.  When I try to compile
>> with shared libraries, I get:
>>
>> ld: warning: in /usr/local/lib/libgomp.dylib, file was built for i386 which
>> is not the architecture being linked (x86_64)
>>
>> When I build without shared libraries, it compiles, but crashes when run
>> with -nt more than 1.
>>
>> Currently using OS X 10.6.8, gcc 4.1.2 to compile.
>>
>> Everything works fine with 4.5.5, and with earlier versions of 4.6.
>>
>> Anyone else having similar problems, or know what changes could have caused
>> this?
>>
> I have a similar problem, but it is related to building with OpenMPI on
> Ubuntu. For the releases so far, my MPI Compiler was found without any
> problems. For the 4-6-release I have to explicitly declare the C and CXX
> compilers as mpicc and mpic++, respectively. I am using gcc4.4.3 and
> OpenMPI 1.4.3 on a 64bit Ubuntu 10.4 machine.
>
> I would also be interest why this happens now ?

I changed the way MPI is detected and used in commit hash 417d0affff. In 
the commit message there I said:

commit 417d0affff5485d10f905aa3581f14602aca873a
Author: Mark Abraham <mark.j.abraham at gmail.com>
Date:   Mon Jan 9 20:38:33 2012 +1100

     Remove use of FindMPI.cmake

     The functionality of FindMPI.cmake should not be needed for GROMACS,
     since the wrapper compiler will do the complete job. This already
     worked for Cray and BlueGene, and so far this new version is known
     to work for OpenMPI wrapping icc and gcc.

     CMake now warns the user about possible unsuitable versions of
     OpenMPI and MVAPICH2.

     The process of managing MPI is more modular than it used to be.

     To use:

     cmake .. -DGMX_MPI=ON -DCMAKE_C_COMPILER=`which mpicc`

     or with bash

     CC=mpicc cmake .. -DGMX_MPI=ON

     and whatever else suits your setup.

     Fixes #851 and #636.

     Change-Id: Ibe41206bed8b70b83a25da1e4e29dd87b61ea17d

I have no idea whether this has any bearing on Michael's problem - what 
is libgomp anyway?

Mark



More information about the gromacs.org_gmx-developers mailing list