#1429 Linker fails for external grids with CMake

Metadata

Property Value
Reported by Christoph Grüninger (gruenich@iws.uni-stuttgart.de)
Reported at Feb 5, 2014 13:52
Type Bug Report
Version Git (pre2.4) [autotools]
Operating System Unspecified / All
Last edited by Christoph Grüninger (gruenich@iws.uni-stuttgart.de)
Last edited at Feb 7, 2014 10:55

Description

With current trunk I get the following error message:

[ 77%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/blocks/projection.cc.o
[ 88%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/blocks/simplex.cc.o
[ 88%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/blocks/simplexgeneration.cc.o
[100%] Building CXX object lib/CMakeFiles/dunegrid.dir/__/dune/grid/io/file/dgfparser/blocks/vertex.cc.o
Linking CXX shared library libdunegrid.so
/usr/bin/ld: /temp/gruenich/dune/cmake/dune-geometry/build-cmake/lib/libdunegeometry.a(referencedomain.cc.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/temp/gruenich/dune/cmake/dune-geometry/build-cmake/lib/libdunegeometry.a: error adding symbols: Bad value
clang-3.4: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libdunegrid.so] Error 1
make[1]: *** [lib/CMakeFiles/dunegrid.dir/all] Error 2

Same happened with UG and ALBERTA instead of ALUGrid.

I assume this was introduced by commit core/dune-common@75e2716b. Adding -DBUILD_SHARED_LIBS:BOOL=OFF to my CMAKE_FLAGS fixes the issue as it is like reverting the mentioned commit.