On 2013-09-19, at 4:21 PM, Garth N. Wells <[email protected]> wrote:

> On 19 September 2013 21:13, Dominique Orban <[email protected]> wrote:
>> 
>> On 2013-09-18, at 4:03 PM, Garth N. Wells <[email protected]> wrote:
>> 
>>> On 18 September 2013 20:33, Johan Hake <[email protected]> wrote:
>>>> There are no documentation of what software versions you need. This should
>>>> be taken care of by CMake. If you for example need a higher version of some
>>>> software CMake should tell you that. You should also be able to look at:
>>>> 
>>>> build/CMakeFiles/CMakeError.log
>>>> 
>>>> to check why the SLEPC/PASTIX tests did not pass.
>>>> 
>>> 
>>> Unfortunately the SLEPc CMake tests are not very verbose - they do not
>>> leave a trail in CMakeError.log.
>>> 
>>> PaStiX is notoriously difficult (I have also seen your message on the
>>> PaStiX list ;)), but should leave some info behind CMakeError.log.
>> 
>> Actually, I missed this bit in the screen output:
>> 
>> -- Performing Test PASTIX_TEST_RUNS
>> CMake Error: The following variables are used in this project, but they are 
>> set to NOTFOUND.
>> Please set them or make sure they are set and tested correctly in the CMake 
>> files:
>> RT_LIBRARY
>>    linked by target "cmTryCompileExec4032762153" in directory 
>> /tmp/dolfin/build/CMakeFiles/CMakeTmp
>> 
>> 
>> It looks like CMake is looking for librt. A quick search reveals that it may 
>> not be relevant on OSX:
>> 
>> https://github.com/wjwwood/serial/issues/24
>> http://dev.deluge-torrent.org/ticket/37
>> http://goo.gl/X2LVXu (see the answer with 8 points).
>> 
>> That may explain why PaSTiX isn't detected... ?!
>> 
> 
> Very likely. You could try putting a test in FindPaStiX.cmake to only
> look for librt on non-OSX systems.


I don't speak CMake but this seems to do it:

diff --git a/cmake/modules/FindPaStiX.cmake b/cmake/modules/FindPaStiX.cmake
index 1b53fa7..be2f60a 100644
--- a/cmake/modules/FindPaStiX.cmake
+++ b/cmake/modules/FindPaStiX.cmake
@@ -24,7 +24,7 @@ find_library(PASTIX_LIBRARY pastix

 set(PASTIX_LIBRARIES ${PASTIX_LIBRARY})

-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND NOT APPLE)
   # Check for rt library
   find_library(RT_LIBRARY rt
     DOC "The RT library"


Now everything is correctly detected and compilation almost completes. It gets 
stuck here:

--
[ 95%] Swig source
Scanning dependencies of target _la
[ 97%] Building CXX object 
dolfin/swig/modules/la/CMakeFiles/_la.dir/modulePYTHON_wrap.cxx.o
Linking CXX shared module _la.so
Undefined symbols for architecture x86_64:
  "dolfin::LinearOperator::LinearOperator(void const**)", referenced from:
      SwigDirector_LinearOperator::SwigDirector_LinearOperator(_object*) in 
modulePYTHON_wrap.cxx.o
      SwigDirector_LinearOperator::SwigDirector_LinearOperator(_object*) in 
modulePYTHON_wrap.cxx.o
  "dolfin::LinearOperator::LinearOperator(void const**, dolfin::GenericVector 
const&, dolfin::GenericVector const&)", referenced from:
      SwigDirector_LinearOperator::SwigDirector_LinearOperator(_object*, 
dolfin::GenericVector const&, dolfin::GenericVector const&) in 
modulePYTHON_wrap.cxx.o
      SwigDirector_LinearOperator::SwigDirector_LinearOperator(_object*, 
dolfin::GenericVector const&, dolfin::GenericVector const&) in 
modulePYTHON_wrap.cxx.o
  "dolfin::PETScLinearOperator::PETScLinearOperator(void const**)", referenced 
from:
      
SwigDirector_PETScLinearOperator::SwigDirector_PETScLinearOperator(_object*) in 
modulePYTHON_wrap.cxx.o
      
SwigDirector_PETScLinearOperator::SwigDirector_PETScLinearOperator(_object*) in 
modulePYTHON_wrap.cxx.o
  "dolfin::uBLASLinearOperator::uBLASLinearOperator(void const**)", referenced 
from:
      
SwigDirector_uBLASLinearOperator::SwigDirector_uBLASLinearOperator(_object*) in 
modulePYTHON_wrap.cxx.o
      
SwigDirector_uBLASLinearOperator::SwigDirector_uBLASLinearOperator(_object*) in 
modulePYTHON_wrap.cxx.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [dolfin/swig/modules/la/_la.so] Error 1
make[1]: *** [dolfin/swig/modules/la/CMakeFiles/_la.dir/all] Error 2
make: *** [all] Error 2
---

Looks like some libraries may be missing. I'm using the latest of everything 
from the git repos.

Thanks!

Dominique



_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to