← Back to team overview

dolfin team mailing list archive

Re: libboost_program_options is not included during linking process

 

Den 11.11.10 18.50, skrev Anders Logg:
On Thu, Nov 11, 2010 at 06:34:38PM +0100, Andre Massing wrote:
Den 11.11.10 17.23, skrev Johannes Ring:
On Thu, Nov 11, 2010 at 3:35 PM, Andre Massing<massing@xxxxxxxxx>   wrote:
Den 11.11.10 15.23, skrev Johannes Ring:
On Thu, Nov 11, 2010 at 3:14 PM, Andre Massing<massing@xxxxxxxxx>     wrote:
Den 11.11.10 15.04, skrev Johannes Ring:
On Thu, Nov 11, 2010 at 2:58 PM, Andre Massing<massing@xxxxxxxxx>
  wrote:
Hi!

I just encountered another strange error during compilation of the
latest
dolfin development
version on a Mac OS X platform. I got the error

Linking CXX shared library libdolfin.dylib
[..]
Undefined symbols:


  "boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::basic_string<char, std::char_traits<char>, std::allocator<char>
  >
const&, std::basic_string<char, std::char_traits<char>,
std::allocator<char>
const&)", referenced from:
Switching VERBOSE=1 reveals that libboost_program_options was not
included
in the list of libs to link with.
Any clue how to fix that?
I had a similar problem a few days ago. I think it was after I did a
clean build of DOLFIN that the problem went away. Have you tried that?

Johannes
Actually I started with a clean build in the first place :)
Okay, could you attach your CMakeCache.txt file?

Attached.
Thanks. It looks okay so I don't really know. You could try to specify
the Boost libraries manually, like this:

   -DBoost_PROGRAM_OPTIONS_LIBRARY:FILEPATH=/opt/local/lib/libboost_program_options-mt.dylib

Are you sure you have the latests DOLFIN? And does it work if you
revert back to revision 5236?
I have tried both, and neither one helped. I am really stuck now,
since I can not compile any of my dolfin libs :(
Install Ubuntu Maverick on your MacBook. Not only will you escape your
Boost troubles but you will get algebraic multigrid, a working package
manager, and a free/open-source OS. ;-)
As my last investigation showed, might run into the same trouble as soon as ubuntu updates cmake, maybe you will be saved from this because the brave Mac users hit it first :) And I have to admit that I am very happy with my battery time, suspend and hibernate modus ;) and a working graphic card. (Old issue wasn't
resolved with Maverick!)
BTW, I just checked the changelog of cmake
and it seems there were quite some changes in the cmake findBoost.cmake from 2.8.2 to 2.8.3.
So it seems, that is really cmake related
An concerning the last argument about petsc and amg: Fresh news from my *Mac OS X* , just ran NS demo:

Computing tentative velocity
  Applying boundary conditions to linear system.
  Solving linear system of size 3874 x 3874 (PETSc Krylov solver).
  PETSc Krylov solver (gmres, ilu) converged in 6 iterations.
Computing pressure correction
  Applying boundary conditions to linear system.
  Applying boundary conditions to linear system.
  Solving linear system of size 505 x 505 (PETSc Krylov solver).
  PETSc Krylov solver (gmres, hypre) converged in 5 iterations.
  PETSc Krylov solver Hypre preconditioner method: boomeramg
Computing velocity correction
  Applying boundary conditions to linear system.
  Solving linear system of size 3874 x 3874 (PETSc Krylov solver).
  PETSc Krylov solver (gmres, ilu) converged in 6 iterations.
Time-stepping [=======================================================] 100.0%

So finally I got openmpi running with fortran and have a full petsc installation on my Mac. :-D

--
Andre

--
Anders


I don't get it. At least find_package(BOOST) command in CMakeList
find all the libs, the Boost_LIBRARIES contains also
libboost_program_options, but somehow it goes lost on the way, e.g.
in all the link.txt and build.make the entry is missing
(it exists in a older installation). No clue what is going on... Has
anybody else from the CMake experts an idea about what is going
on??






Follow ups

References