dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #08454
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