I fixed the problem! Looks like there's some sort of bug in gcc
4.2.0 on Mac OS X 10.4 when using -force_flat_namespace. For those
searching the list with the same problem, see here: http://
gcc.gnu.org/ml/gcc-bugs/2006-05/msg00273.html
Instead of using mpif77, I ran gfortran without the linker and
excluded -force_flat_namespace manually. Is there any way I can
change the arguments that mpif77 uses without recompiling?
Thanks,
Aaron Thompson
Vanderbilt University
aaron.p.thompson_at_[hidden]
On Jun 9, 2007, at 11:38 PM, Aaron Thompson wrote:
> Greg,
> I tried using those flags, but I got the same error. If this helps,
> here's my output from mpif77 -showme:
>
> /usr/local/bin/gfortran -I/usr/local/lammpi/include -Wl,-u -
> Wl,_lam_darwin_malloc_linker_hack -Wl,-multiply_defined,suppress -Wl,-
> force_flat_namespace -Wl,-flat_namespace -Wl,-multiply_defined -
> Wl,suppress -L/usr/local/lammpi/lib -llammpio -llamf77mpi -lmpi -llam
> -ldl
>
> Any ideas?
>
> Thank you!
>
> Aaron Thompson
> Vanderbilt University
> aaron.p.thompson_at_[hidden]
>
>
>
> On Jun 9, 2007, at 9:41 PM, Gregory J. Orris wrote:
>
>> Aaron,
>>
>> If you are using it in 64-bit mode you'll need to do a bit more work.
>> But it looks like you're using it in 32, so...
>> Try
>> LDFLAGS = "-Wl,-multiply_defined -Wl,suppress"
>>
>> Regards,
>> Greg
>>
>> On Jun 9, 2007, at 2:37 PM, Aaron Thompson wrote:
>>
>>> Hi,
>>> I've got LAM-MPI compiled and running, and C programs compile and
>>> run great. However, I'm trying to compile a Fortran-based program
>>> and I'm getting a linking error about "multiple definitions of
>>> symbol
>>> _atexit". Could this be due to some linker flags I set wrong? Here
>>> are my linker flags:
>>>
>>> LD="/usr/local/lammpi/bin/mpif77 -o" \
>>> LDFLAGS="-O2 -ffast-math --allow-multiple-definition" \
>>>
>>>
>>> Here's the exact error I'm getting:
>>>
>>> /usr/local/lammpi/bin/mpif77 -o DLPOLY.X setup_module.o .......
>>> /usr/bin/ld: multiple definitions of symbol _atexit
>>> /usr/local/lib/gcc/powerpc-apple-darwin8.6.0/4.2.0/crt3.o private
>>> external definition of _atexit in section (__TEXT,__text)
>>> /usr/lib/libdl.dylib(atexit.So) definition of _atexit
>>> /usr/bin/ld: multiple definitions of symbol ___cxa_atexit
>>> /usr/local/lib/gcc/powerpc-apple-darwin8.6.0/4.2.0/crt3.o private
>>> external definition of ___cxa_atexit in section (__TEXT,__text)
>>> /usr/lib/libdl.dylib(atexit.So) definition of ___cxa_atexit
>>> collect2: ld returned 1 exit status
>>>
>>> Thank you!
>>>
>>> Aaron Thompson
>>> Vanderbilt University
>>> aaron.p.thompson_at_[hidden]
>>>
>>>
>>> _______________________________________________
>>> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>>>
>>
>> _______________________________________________
>> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
|