I use 2.0.10. On 2013-09-20, at 11:08 AM, Johan Hake <[email protected]> wrote:
> That is a strange SWIG related linking error... What version of SWIG do you > use? I would recommend version 2.0.9 or later. > > Johan > > > On Fri, Sep 20, 2013 at 4:12 PM, Dominique Orban <[email protected]> > wrote: > > 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 > > > > Dominique _______________________________________________ fenics-support mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics-support
