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

Reply via email to