I think you must compile metis in dynamic version with option -fPIC.

You'd better to try to recompile with this option.



On Sat, November 28, 2009 7:21 am, Huan Sun wrote:
> Hi all,
>
>
> I was trying to install deal.II 6.2.1 together with Petsc and Metis on a
> parallel computer but I have the following error message when compiling
> 'make all':
>
> /usr/bin/ld: /ima/home/hsun/metis/libmetis.a(pmetis.o): relocation
> R_X86_64_32 against `a local symbol' can not be used when making a
> shared object; recompile with -fPIC
> /ima/home/hsun/metis/libmetis.a: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[1]: *** [/ima/home/hsun/deal.II/lib/liblac.so] Error 1
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/lac'
> make: *** [laco] Error 2
>
> Any suggestions how I can fix this problem?
>
> Thanks a lot!
>
> Huan
>
>
>
>
> The whole compiling info is attached below:
>
>
> cd /ima/home/hsun/deal.II/common/scripts && /usr/bin/make
> make_dependencies
> cd /ima/home/hsun/deal.II/common/scripts && /usr/bin/make
> expand_instantiations
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/contrib'
> make[1]: Entering directory
> `/ima/imavisitor/hsun/deal.II/common/scripts'
> make[1]: `make_dependencies' is up to date.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/common/scripts'
> make[1]: Entering directory
> `/ima/imavisitor/hsun/deal.II/common/scripts'
> make[1]: `expand_instantiations' is up to date.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/common/scripts'
> cd /ima/home/hsun/deal.II/base && /usr/bin/make  Makefile.dep
> make[2]: Entering directory
> `/ima/imavisitor/hsun/deal.II/contrib/functionparser'
> make[2]: `/ima/home/hsun/deal.II/lib/contrib/functionparser/fparser.o'
> is up to date.
> make[2]: Leaving directory
> `/ima/imavisitor/hsun/deal.II/contrib/functionparser'
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/contrib'
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/base'
> make[1]: `Makefile.dep' is up to date.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/base'
> cd /ima/home/hsun/deal.II/lac && /usr/bin/make  Makefile.dep
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/lac'
> make[1]: `Makefile.dep' is up to date.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/lac'
> cd /ima/home/hsun/deal.II/deal.II && /usr/bin/make  Makefile.dep
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/deal.II'
> make[1]: `Makefile.dep' is up to date.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/deal.II'
> cd /ima/home/hsun/deal.II/lib && /usr/bin/make  external-links
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/lib'
> make[1]: Nothing to be done for `external-links'.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/lib'
> cd /ima/home/hsun/deal.II/contrib && /usr/bin/make
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/contrib'
> make[2]: Entering directory
> `/ima/imavisitor/hsun/deal.II/contrib/functionparser'
> make[2]: `/ima/home/hsun/deal.II/lib/contrib/functionparser/fparser.o'
> is up to date.
> make[2]: Leaving directory
> `/ima/imavisitor/hsun/deal.II/contrib/functionparser'
> make[2]: Entering directory `/ima/imavisitor/hsun/deal.II/contrib/tbb'
> make[3]: Entering directory
> `/ima/imavisitor/hsun/deal.II/contrib/tbb/tbb22_20090809oss'
> make[4]: Entering directory
> `/ima/imavisitor/hsun/deal.II/lib/contrib/tbb/linux_intel64_gcc_cc4.2.4_libc2.7_kernel2.6.24_debug'
> sh
> /ima/imavisitor/hsun/deal.II/contrib/tbb/tbb22_20090809oss/./build/generate_tbbvars.sh
> =====tbb=========================MT== debug/libtbb_debug.so.2
> make[4]: Leaving directory
> `/ima/imavisitor/hsun/deal.II/lib/contrib/tbb/linux_intel64_gcc_cc4.2.4_libc2.7_kernel2.6.24_debug'
> make[4]: Entering directory
> `/ima/imavisitor/hsun/deal.II/lib/contrib/tbb/linux_intel64_gcc_cc4.2.4_libc2.7_kernel2.6.24_release'
> sh
> /ima/imavisitor/hsun/deal.II/contrib/tbb/tbb22_20090809oss/./build/generate_tbbvars.sh
> =====tbb=========================MT== release/libtbb.so.2
> make[4]: Leaving directory
> `/ima/imavisitor/hsun/deal.II/lib/contrib/tbb/linux_intel64_gcc_cc4.2.4_libc2.7_kernel2.6.24_release'
> make[3]: Leaving directory
> `/ima/imavisitor/hsun/deal.II/contrib/tbb/tbb22_20090809oss'
> make[2]: Leaving directory `/ima/imavisitor/hsun/deal.II/contrib/tbb'
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/contrib'
> cd /ima/home/hsun/deal.II/base && /usr/bin/make  libg
> cd /ima/home/hsun/deal.II/base && /usr/bin/make  libo
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/base'
> make[1]: Nothing to be done for `libo'.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/base'
> cd /ima/home/hsun/deal.II/lac && /usr/bin/make  libo
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/base'
> make[1]: Nothing to be done for `libg'.
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/base'
> cd /ima/home/hsun/deal.II/lac && /usr/bin/make  libg
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/lac'
> =====lac==============optimized==MT== block_matrix_array.cc
> =====lac==============optimized==MT== block_sparse_matrix.cc
> =====lac==============optimized==MT== block_sparse_matrix_ez.cc
> =====lac==============optimized==MT== block_sparsity_pattern.cc
> make[1]: Entering directory `/ima/imavisitor/hsun/deal.II/lac'
> =====lac==============optimized==MT== block_vector.cc
> =====lac==============debug======MT== Linking library:   liblac.g.so
> =====lac==============optimized==MT== chunk_sparse_matrix.cc
> =====lac==============optimized==MT== chunk_sparsity_pattern.cc
> =====lac==============optimized==MT== compressed_set_sparsity_pattern.cc
> =====lac==============optimized==MT==
> compressed_simple_sparsity_pattern.cc
> =====lac==============optimized==MT== compressed_sparsity_pattern.cc
> =====lac==============optimized==MT== constraint_matrix.cc
> =====lac==============optimized==MT== full_matrix.cc
> =====lac==============optimized==MT== lapack_full_matrix.cc
> /usr/bin/ld: /ima/home/hsun/metis/libmetis.a(pmetis.o): relocation
> R_X86_64_32 against `a local symbol' can not be used when making a
> shared object; recompile with -fPIC
> /ima/home/hsun/metis/libmetis.a: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[1]: *** [/ima/home/hsun/deal.II/lib/liblac.g.so] Error 1
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/lac'
> make: *** [lacg] Error 2
> make: *** Waiting for unfinished jobs....
> =====lac==============optimized==MT== matrix_lib.cc
> =====lac==============optimized==MT== matrix_out.cc
> =====lac==============optimized==MT== petsc_block_sparse_matrix.cc
> =====lac==============optimized==MT== petsc_full_matrix.cc
> =====lac==============optimized==MT== petsc_matrix_base.cc
> In file included
> from /ima/home/hsun/deal.II/lac/include/lac/petsc_sparse_matrix.h:19,
>
> from
> /ima/home/hsun/deal.II/lac/include/lac/petsc_block_sparse_matrix.h:20,
>
> from
> /ima/home/hsun/deal.II/lac/include/lac/constraint_matrix.templates.h:25,
>                  from source/constraint_matrix.cc:16:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h: In
> member function ‘void dealii::FullMatrix<number>::gauss_jordan() [with
> number = double]’:
> source/full_matrix.inst:1:   instantiated from here
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h:1840:
> warning: unused variable ‘typical_diagonal_element’
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h: In
> member function ‘void dealii::FullMatrix<number>::gauss_jordan() [with
> number = float]’:
> source/full_matrix.inst:29:   instantiated from here
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h:1840:
> warning: unused variable ‘typical_diagonal_element’
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h: In
> member function ‘void dealii::FullMatrix<number>::gauss_jordan() [with
> number = long double]’:
> source/full_matrix.inst:57:   instantiated from here
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h:1840:
> warning: unused variable ‘typical_diagonal_element’
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h: In
> member function ‘void dealii::FullMatrix<number>::gauss_jordan() [with
> number = std::complex<double>]’:
> source/full_matrix.inst:994:   instantiated from here
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h:1840:
> warning: unused variable ‘typical_diagonal_element’
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h: In
> member function ‘void dealii::FullMatrix<number>::gauss_jordan() [with
> number = std::complex<float>]’:
> source/full_matrix.inst:1001:   instantiated from here
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h:1840:
> warning: unused variable ‘typical_diagonal_element’
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h: In
> member function ‘void dealii::FullMatrix<number>::gauss_jordan() [with
> number = std::complex<long double>]’:
> source/full_matrix.inst:1008:   instantiated from here
> /ima/home/hsun/deal.II/lac/include/lac/full_matrix.templates.h:1840:
> warning: unused variable ‘typical_diagonal_element’
> In file included
> from /ima/home/hsun/deal.II/lac/include/lac/petsc_sparse_matrix.h:19,
>
> from
> /ima/home/hsun/deal.II/lac/include/lac/petsc_block_sparse_matrix.h:20,
>                  from source/petsc_block_sparse_matrix.cc:14:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> =====lac==============optimized==MT==
> petsc_parallel_block_sparse_matrix.cc
> In file included
> from /ima/home/hsun/deal.II/lac/include/lac/petsc_full_matrix.h:19,
>                  from source/petsc_full_matrix.cc:15:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> =====lac==============optimized==MT== petsc_parallel_block_vector.cc
> =====lac==============optimized==MT== petsc_parallel_sparse_matrix.cc
> =====lac==============optimized==MT== petsc_parallel_vector.cc
> In file included from source/petsc_matrix_base.cc:15:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> =====lac==============optimized==MT== petsc_precondition.cc
> =====lac==============optimized==MT== petsc_solver.cc
> =====lac==============optimized==MT== petsc_sparse_matrix.cc
> =====lac==============optimized==MT== petsc_vector.cc
> =====lac==============optimized==MT== petsc_vector_base.cc
> =====lac==============optimized==MT== precondition_block.cc
> =====lac==============optimized==MT== precondition_block_ez.cc
> In file included
> from
> /ima/home/hsun/deal.II/lac/include/lac/petsc_parallel_sparse_matrix.h:20,
>
> from
> /ima/home/hsun/deal.II/lac/include/lac/petsc_parallel_block_sparse_matrix.h:20,
>                  from source/petsc_parallel_block_sparse_matrix.cc:14:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> In file included
> from
> /ima/home/hsun/deal.II/lac/include/lac/petsc_parallel_sparse_matrix.h:20,
>                  from source/petsc_parallel_sparse_matrix.cc:15:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> In file included from source/petsc_precondition.cc:15:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> In file included from source/petsc_solver.cc:16:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> In file included
> from /ima/home/hsun/deal.II/lac/include/lac/petsc_sparse_matrix.h:19,
>                  from source/petsc_sparse_matrix.cc:15:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> =====lac==============optimized==MT== slepc_solver.cc
> =====lac==============optimized==MT== slepc_spectral_transformation.cc
> =====lac==============optimized==MT== solver.cc
> =====lac==============optimized==MT== solver_control.cc
> =====lac==============optimized==MT== sparse_decomposition.cc
> =====lac==============optimized==MT== sparse_direct.cc
> =====lac==============optimized==MT== sparse_ilu.cc
> =====lac==============optimized==MT== sparse_matrix.cc
> =====lac==============optimized==MT== sparse_matrix_ez.cc
> In file included from source/slepc_solver.cc:15:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> =====lac==============optimized==MT== sparse_mic.cc
> In file included from source/slepc_spectral_transformation.cc:15:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h: In member
> function ‘void dealii::PETScWrappers::MatrixBase::add(unsigned int,
> unsigned int, const unsigned int*, const PetscScalar*, bool, bool)’:
> /ima/home/hsun/deal.II/lac/include/lac/petsc_matrix_base.h:1682:
> warning: unused variable ‘ierr’
> =====lac==============optimized==MT== sparse_vanka.cc
> =====lac==============optimized==MT== sparsity_pattern.cc
> =====lac==============optimized==MT== sparsity_tools.cc
> =====lac==============optimized==MT== swappable_vector.cc
> =====lac==============optimized==MT== tridiagonal_matrix.cc
> =====lac==============optimized==MT== trilinos_block_sparse_matrix.cc
> =====lac==============optimized==MT== trilinos_block_vector.cc
> =====lac==============optimized==MT== trilinos_precondition.cc
> =====lac==============optimized==MT== trilinos_precondition_block.cc
> =====lac==============optimized==MT== trilinos_solver.cc
> =====lac==============optimized==MT== trilinos_solver_block.cc
> =====lac==============optimized==MT== trilinos_sparse_matrix.cc
> =====lac==============optimized==MT== trilinos_sparsity_pattern.cc
> =====lac==============optimized==MT== trilinos_vector.cc
> =====lac==============optimized==MT== trilinos_vector_base.cc
> =====lac==============optimized==MT== vector.cc
> =====lac==============optimized==MT== vector_memory.cc
> =====lac==============optimized==MT== vector_view.cc
> =====lac==============optimized==MT== Linking library:   liblac.so
> /usr/bin/ld: /ima/home/hsun/metis/libmetis.a(pmetis.o): relocation
> R_X86_64_32 against `a local symbol' can not be used when making a
> shared object; recompile with -fPIC
> /ima/home/hsun/metis/libmetis.a: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[1]: *** [/ima/home/hsun/deal.II/lib/liblac.so] Error 1
> make[1]: Leaving directory `/ima/imavisitor/hsun/deal.II/lac'
> make: *** [laco] Error 2
>
>
> _______________________________________________
> dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
>


_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to