← Back to team overview

dorsal team mailing list archive

Re: Other problems building DOLFIN on Snow Leopard

 

Den 21. aug. 2010 kl. 12.11 skrev Harish Narayanan:

> On 8/21/10 1:54 PM, Garth N. Wells wrote:
>> On Aug 21 2010, Anders Logg wrote:
>> 
>>> Armadillo worked for me last time I checked (before adding Trilinos).
>>> 
>>> Garth mentioned something about the mpfr problem but I didn't
>>> understand what the solution was.
>>> 
>> 
>> 
>> The solution is straightforward: install mpfr.
> 
> I had mpfr installed via MacPorts.
> 

Same applies for me. mpfr is installed and was recognized before.
Error messages starts with 
Undefined symbols:
  "_mpfr_init2", referenced from:

and I leave out the 10 pages of template related error messages which follows afterwards.

Error messages appears after executing
cd /Users/andre/Work/software/src/FEniCS/tmp/dolfin/dorsal_build_dir/dolfin && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/dolfin.dir/link.txt --verbose=1
during the run of cmake.
Strangely the mpfr related error disappears if I add /opt/local/lib/libmpfr.dylib *directly* to the link.txt, although it is already linked to the libCGAL.dylib.
Maybe libCGAL.dylib can not load libmpfr.dylib when linked under cmake, some missing paths?

If I added libmpfr.dylib it runs further but stops  now with:

Undefined symbols:
  "operator<<(std::basic_ostream<char, std::char_traits<char> >&, __mpf_struct const*)", referenced from:
      dolfin::PythonFile::operator<<(std::tr1::tuple<unsigned int, __gmp_expr<__mpf_struct [1], __mpf_struct [1]>, __gmp_expr<__mpf_struct [1], __mpf_struct [1]>*, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass> const&)in PythonFile.cpp.o
      dolfin::PythonFile::operator<<(std::tr1::tuple<unsigned int, __gmp_expr<__mpf_struct [1], __mpf_struct [1]>, __gmp_expr<__mpf_struct [1], __mpf_struct [1]>*, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass, std::tr1::_NullClass> const&)in PythonFile.cpp.o
      dolfin::PythonFile::operator<<(dolfin::Sample const&)in PythonFile.cpp.o
      dolfin::PythonFile::operator<<(dolfin::Sample const&)in PythonFile.cpp.o
      dolfin::PythonFile::operator<<(dolfin::Sample const&)in PythonFile.cpp.o
      dolfin::PythonFile::operator<<(dolfin::Sample const&)in PythonFile.cpp.o
      dolfin::cGqMethod::str(bool) constin cGqMethod.cpp.o
      dolfin::cGqMethod::str(bool) constin cGqMethod.cpp.o
      dolfin::dGqMethod::str(bool) constin dGqMethod.cpp.o
      dolfin::dGqMethod::str(bool) constin dGqMethod.cpp.o
      dolfin::MonoAdaptiveTimeSlab::str(bool) constin MonoAdaptiveTimeSlab.cpp.o
      dolfin::MonoAdaptiveTimeSlab::str(bool) constin MonoAdaptiveTimeSlab.cpp.o
      dolfin::ODESolution::save_to_file()      in ODESolution.cpp.o
      dolfin::ODESolution::save_to_file()      in ODESolution.cpp.o
      dolfin::ODESolution::save_to_file()      in ODESolution.cpp.o
      dolfin::ODESolution::save_to_file()      in ODESolution.cpp.o
      dolfin::ODESolution::save_to_file()      in ODESolution.cpp.o
      dolfin::ODESolution::str(bool) constin ODESolution.cpp.o
      dolfin::ODESolution::str(bool) constin ODESolution.cpp.o
      dolfin::ODESolution::str(bool) constin ODESolution.cpp.o
      dolfin::TimeSlab::write(unsigned int, __gmp_expr<__mpf_struct [1], __mpf_struct [1]> const*)in TimeSlab.cpp.o
      dolfin::RealParameter::value_str() constin Parameter.cpp.o
      dolfin::RealParameter::str() constin Parameter.cpp.o
      dolfin::RealParameter::range_str() constin Parameter.cpp.o
      dolfin::RealParameter::range_str() constin Parameter.cpp.o
  "boost::detail::get_tss_data(void const*)", referenced from:
      CGAL::Lazy<CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o
      CGAL::Lazy<CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o
      CGAL::Lazy<CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o
      CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o
      CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o
      CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o
  "operator>>(std::basic_istream<char, std::char_traits<char> >&, __mpf_struct*)", referenced from:
      dolfin::ODESolution::open_and_read_header(std::basic_ifstream<char, std::char_traits<char> >&, unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::open_and_read_header(std::basic_ifstream<char, std::char_traits<char> >&, unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::open_and_read_header(std::basic_ifstream<char, std::char_traits<char> >&, unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::read_file(unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::read_file(unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::read_file(unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::ODESolution(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::ODESolution(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)in ODESolution.cpp.o
      dolfin::ODESolution::ODESolution(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)in ODESolution.cpp.o


Adding libgmpxx and libgmp to the link.txt also resolves the issue, now stopping at


  "boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)", referenced from:
      ___tcf_8 in BarycenterQuadrature.cpp.o
      ___tcf_7 in BarycenterQuadrature.cpp.o
      CGAL::Lazy<CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Plane_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o
      CGAL::Lazy<CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Interval_nt<false> > >, CGAL::Point_3<CGAL::Simple_cartesian<CGAL::Gmpq> >, CGAL::Gmpq, CGAL::Cartesian_converter<CGAL::Simple_cartesian<CGAL::Gmpq>, CGAL::Simple_cartesian<CGAL::Interval_nt<false> >, CGAL::NT_converter<CGAL::Gmpq, CGAL::Interval_nt<false> > > >::zero()in BarycenterQuadrature.cpp.o

So it looks like that cmake can somehow can not load the shared libs which are required by shared libs we are using...?
Andre


> Harish
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dorsal
> Post to     : dorsal@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dorsal
> More help   : https://help.launchpad.net/ListHelp

--
André Massing       				email: massing@xxxxxxxxx
Ph.D. student					mobile: +47 469 57 401
Simula Research Laboratory
NO-1367 Fornebu, Norway




References