On Fri, Nov 29, 2013 at 9:20 PM, Jan Blechta <[email protected]> wrote:
> When configuring DOLFIN against CHOLMOD library from SuiteSparse,
> following error is issued in build/CMakeFiles/CMakeError.log
>
>  /usr/bin/c++     -O2 -mfpmath=sse -fexpensive-optimizations
>  -DCHOLMOD_TEST_RUNS  -fopenmp
>  CMakeFiles/cmTryCompileExec.dir/src.cxx.o  -o cmTryCompileExec
>  -rdynamic -Wl,-Bstatic -lcholmod -lamd -lcamd -lcolamd -lccolamd
>  -lsuitesparseconfig -Wl,-Bdynamic -lparmetis -lmetis -Wl,-Bstatic
>  -llapack -lblas -Wl,-Bdynamic
>  -lgfortran
>
>  /usr/local/pkg/suitesparse/4.2.1/gnu/lib/../lib/libsuitesparseconfig.a
>  (SuiteSparse_config.o): In function `SuiteSparse_tic':
>  SuiteSparse_config.c:(.text+0x131): undefined reference to
>  `clock_gettime'
>
> Setting
>
>   -DCHOLMOD_LIBRARIES:STRING='-lrt'
>
> or even
>
>   -DCHOLMOD_LIBRARIES:STRING='$(shell pkg-config --libs suitesparse) -lrt'
>
> does not help. Where can be a problem?

You can try something like the attached patch.

Johannes
diff --git a/cmake/modules/FindCHOLMOD.cmake b/cmake/modules/FindCHOLMOD.cmake
index 94d8e43..655f9cb 100644
--- a/cmake/modules/FindCHOLMOD.cmake
+++ b/cmake/modules/FindCHOLMOD.cmake
@@ -89,6 +89,13 @@ find_library(SUITESPARSE_LIBRARY suitesparseconfig
   DOC "The SUITESPARSECONFIG library"
   )
 
+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND NOT APPLE)
+  # Check for rt library
+  find_library(RT_LIBRARY rt
+    DOC "The RT library"
+    )
+endif()
+
 # Collect libraries (order is important)
 if (AMD_FOUND)
   set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARY} ${AMD_LIBRARIES})
@@ -105,6 +112,9 @@ endif()
 if (SUITESPARSE_LIBRARY)
   set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${SUITESPARSE_LIBRARY})
 endif()
+if (RT_LIBRARY)
+  set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${RT_LIBRARY})
+endif()
 
 if (PARMETIS_FOUND)
   set(CHOLMOD_LIBRARIES ${CHOLMOD_LIBRARIES} ${PARMETIS_LIBRARIES})
_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to