Installing Swig 2.0.11 seems to have resolved the previous issue.

I'm now using the most recent TAO 2.2 and that doesn't get detected anymore. 
CMakeFiles/CMakeErrors.log doesn't say a thing about TAO and this is all I see 
during the configuration:

-- Checking for package 'TAO'
-- TAO_DIR is /usr/local/Cellar/tao/2.2
/tmp/dolfin/build/Makefile.tao:7: warning: overriding commands for target `show'
/usr/local/Cellar/tao/2.2/conf/tao_rules:25: warning: ignoring old commands for 
target `show'
/tmp/dolfin/build/Makefile.tao:7: warning: overriding commands for target `show'
/usr/local/Cellar/tao/2.2/conf/tao_rules:25: warning: ignoring old commands for 
target `show'
-- Performing test TAO_TEST_RUNS - Failed
-- Performing test TAO_TEST_3RD_PARTY_LIBS_RUNS - Failed
-- TAO could not be found. Be sure to set TAO_DIR, PETSC_DIR, and PETSC_ARCH. 
(missing:  TAO_TEST_RUNS)

Any idea?

Also, any chance to merge my patch for FindPaSTiX.cmake below? It's still 
necessary. Shall I submit a pull request?

Thanks.

Dominique


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
> 
> 
> 
> 





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

Reply via email to