← Back to team overview

dolfin team mailing list archive

Re: Trilinos-8.0.7

 

Johan Hake wrote:
> On Thursday 26 June 2008 16:49:41 Garth N. Wells wrote:
>> Johan Hake wrote:
>>> Hello!
>>>
>>> There have been reported some trubles with compiling trilinos. Especially
>>> version 8.0.5. I have now downloaded 8.0.7 and compiled this without
>>> problems, on Ubuntu Hardy.
>>>
>>> Both with and without mpi.
>>>
>>> Compile flags for MPI:
>>> ../configure --prefix=<install_dir> --enable-shared --enable-pytrilinos\
>>>  --enable-pliris --enable-didasko --enable-amesos --enable-anasazi\
>>>  --enable-default-packages --enable-galeri --with-cflags=-fPIC\
>>>  --with-cxxflags=-fPIC --with-fflags=-fPIC --with-ldflags=-fPIC\
>>>  --with-ccflags=-fPIC --enable-triutils --enable-aztecoo-teuchos\
>>>  --enable-mpi --with-mpi-compilers --with-gnumake -C
>> Unfortunately this didn't work for me. I get a bunch of errors.
> 
> To bad!
> 
> I remembered that I had some problems with the Teuchos package. It is 
> unfortunately almost impossible to debug the swig generated wrapper code.
> 
> I used the swig version that comes with hardy, i.e., 1.3.33 and for the MPI 
> version I used the updated openmpi package that comes with hardy.
> 
> Johan
> 
>> Garth
>>
>> Teuchos_wrap.o: In function `typecode_string(int)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3124: multiple definition of `typecode_string(int)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:3877: first defined here
>> Teuchos_wrap.o: In function `type_match(int, int)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3141: multiple definition of `type_match(int, int)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:3894: first defined here
>> Teuchos_wrap.o: In function `SWIG_TypePrettyName':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:486: multiple definition of `PyTrilinos'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:487: first defined here
>> Teuchos_wrap.o: In function `make_contiguous(PyArrayObject*, int*, int,
>> int)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3211: multiple definition of
>> `make_contiguous(PyArrayObject*, int*, int, int)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:3964: first defined here
>> Teuchos_wrap.o: In function `require_native(PyArrayObject*)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3278: multiple definition of
>> `require_native(PyArrayObject*)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:4031: first defined here
>> Teuchos_wrap.o: In function `require_contiguous(PyArrayObject*)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3262: multiple definition of
>> `require_contiguous(PyArrayObject*)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:4015: first defined here
>> Teuchos_wrap.o: In function `require_dimensions(PyArrayObject*, int)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3295: multiple definition of
>> `require_dimensions(PyArrayObject*, int)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:4048: first defined here
>> Teuchos_wrap.o: In function `obj_to_array_allow_conversion(_object*,
>> int, int*)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3185: multiple definition of
>> `obj_to_array_allow_conversion(_object*, int, int*)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:3938: first defined here
>> Teuchos_wrap.o: In function
>> `obj_to_array_contiguous_allow_conversion(_object*, int, int*)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3237: multiple definition of
>> `obj_to_array_contiguous_allow_conversion(_object*, int, int*)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:3990: first defined here
>> Teuchos_wrap.o: In function `Finalize()':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:4341: multiple definition of `Finalize()'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:4764: first defined here
>> Teuchos_wrap.o: In function `Init_Argv(_object*)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:4298: multiple definition of `Init_Argv(_object*)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:4721: first defined here
>> Teuchos_wrap.o: In function `require_size(PyArrayObject*, int*, int)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3346: multiple definition of `require_size(PyArrayObject*,
>> int*, int)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:4099: first defined here
>> Teuchos_wrap.o: In function `require_dimensions_n(PyArrayObject*, int*,
>> int)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3313: multiple definition of
>> `require_dimensions_n(PyArrayObject*, int*, int)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:4066: first defined here
>> Teuchos_wrap.o: In function `pytype_string(_object*)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3105: multiple definition of `pytype_string(_object*)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:3858: first defined here
>> Teuchos_wrap.o: In function `obj_to_array_no_conversion(_object*, int)':
>> /home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos/shared/../src
>> /Teuchos_wrap.cpp:3150: multiple definition of
>> `obj_to_array_no_conversion(_object*, int)'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/PyTrilinos
>> /shared/../src/Epetra_wrap.cpp:3903: first defined here
>> Teuchos_wrap.o: In function `SWIG_TypePrettyName':
>> /usr/local/include/openmpi/ompi/mpi/cxx/win_inln.h:118: multiple
>> definition of `NumPyImporter::m_singleton'
>> Epetra_wrap.o:/home/garth/code/libraries/trilinos-8.0.7/packages/epetra/src
>> /Epetra_Util.h:179: first defined here
>> collect2: ld returned 1 exit status
>> Traceback (most recent call last):
>>    File "./setup.py", line 172, in <module>
>>      ###################
>>    File "./setup.py", line 148, in main
>>      # Build the init file
>>    File "../util/SharedUtils.py", line 475, in buildShared
>>      SharedTrilinosBuilder.buildShared(self)
>>    File "../util/SharedUtils.py", line 330, in buildShared
>>      runCommand(self.linkCmd)
>>    File "../util/SharedUtils.py", line 97, in runCommand
>>      if status: raise RuntimeError, "Exit status = %d" % status
>> RuntimeError: Exit status = 256

Hello,

I got a bit further on debian/sid/amd64/openmpi. Make fails when linking
with a similar error:

/usr/bin/ld: Epetra_NumPyFEVector.o: relocation R_X86_64_32 against `a
local symbol' can not be used when making a shared object; recompile
with -fPIC
Epetra_NumPyFEVector.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
Traceback (most recent call last):
  File "../../../../packages/PyTrilinos/shared/setup.py", line 172, in
<module>
    main()
  File "../../../../packages/PyTrilinos/shared/setup.py", line 148, in main
    builder.buildShared()
  File "../util/SharedUtils.py", line 475, in buildShared
    SharedTrilinosBuilder.buildShared(self)
  File "../util/SharedUtils.py", line 330, in buildShared
    runCommand(self.linkCmd)
  File "../util/SharedUtils.py", line 97, in runCommand
    if status: raise RuntimeError, "Exit status = %d" % status
RuntimeError: Exit status = 256

I got over it with setting CFLAGS=-fPIC instead of --with-cflags=-fPIC,
etc. Here's the configure options:

../configure --prefix=/opt/trilinos/8 --enable-shared
--enable-pytrilinos --enable-pliris --enable-didasko --enable-amesos
--enable-anasazi --enable-default-packages --enable-galeri
--enable-triutils --enable-aztecoo-teuchos --enable-mpi
--with-mpi-compilers --with-gnumake -C CFLAGS=-fPIC FFLAGS=-fPIC
CXXFLAGS=-fPIC

Don't know if it will work in your case.

Regards,
ST
--






>>
>>> Compile flags for serial:
>>> ../configure --prefix=<install_dir> --enable-shared --enable-pytrilinos\
>>>  --enable-pliris --enable-didasko --enable-amesos --enable-anasazi\
>>>  --enable-default-packages --enable-galeri --with-cflags=-fPIC\
>>>  --with-cxxflags=-fPIC --with-fflags=-fPIC --with-ldflags=-fPIC\
>>>  --with-ccflags=-fPIC --enable-triutils --enable-aztecoo-teuchos\
>>>  --with-gnumake -C
>>>
>>> Have fun!
>>>
>>> Johan
>>> _______________________________________________
>>> DOLFIN-dev mailing list
>>> DOLFIN-dev@xxxxxxxxxx
>>> http://www.fenics.org/mailman/listinfo/dolfin-dev
> 
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
> 



References