[Cmb-users] Error starting CMB v4 from superbuild

Yumin Yuan yumin.yuan at kitware.com
Thu Jun 18 15:38:45 EDT 2015


Hi Amanda,

Not sure if this is the same cause for your problem, but I just encountered
the same problem for my cmb build when I start building the meshing
support. Basically, the boost::filesystem::current_path() returns an empty
path, and it crashed while trying to parse the empty path. Rob (and Dave)
helped me to figure out what's the root cause of the problem.

I have a 10.10 machine and I set the build target to 10.8 in the
superbuild. In this scenario, all the libraries in cmb/smtk and their
dependencies will link against libstdc++, except boost libraries, which
will link against libc++, and the mixed linking of libstdc++ and libc++
causes the crash. Setting target to 10.9 and 10.10 does not have this
problem, and I will file an issue with cmbsuperbuild for this bug.

Yumin

On Mon, Jun 8, 2015 at 1:24 PM, Robert Maynard <robert.maynard at kitware.com>
wrote:

> This smells like a mismatch of boost versions.
>
> On Mon, Jun 8, 2015 at 12:23 PM, David Thompson
> <david.thompson at kitware.com> wrote:
> > Hi Amanda,
> >
> >> 3. It appears to be a boost problem. It looks like I am getting junk for
> >> my path ...
> >>
> >> frame #9: 0x00000001125f5388
> >>
> libRemusServer.dylib`remus::server::detail::WorkerFinder::WorkerFinder(this
> >> =0x00007fff5fbfc3b0, parser=0x000000012059c0c8, ext=0x000000012059c0b0)
> +
> >> 648 at WorkerFinder.cxx:35
> >> -> 35           this->parseDirectory(cwd);
> >> (lldb) p cwd
> >> (boost::filesystem::path) $1 = (m_pathname = "?Y \x01")
> >>
> >> I have several versions of boost on my machine so I wonder if it is
> trying
> >> to use the wrong one (I have cmv v3 and data browser which both have
> their
> >> own builds of boost and then I have v3 and v4 installed in the
> >> applications directory using mac installers).
> >
> > There are at least 2 ways boost libraries can get confused:
> >
> > 1. Run-time selection of a different boost from the one used during
> compilation.
> > 2. Build-time compilation of different libraries against different boost
> libraries (i.e., headers from one boost used but the application linked to
> another).
> >
> > The former usually prints messages to the terminal when different
> dependent libraries ask the linker to load multiple versions of the same
> library. But to double-check, you can run "image list" in lldb and verify
> that (a) there is only one version of boost_filesystem and (b) it is the
> correct boost for your application.
> >
> > The latter can be more subtle. If "image list" seems correct, then you
> might verify that your Remus, SMTK, and CMB build directories all have
> CMakeCache.txt references to Boost pointing to the same boost *and* that
> the include-directory paths match the Boost_FILESYSTEM_LIBRARY_* paths.
> >
> >         David
> _______________________________________________
> Cmb-users mailing list
> Cmb-users at computationalmodelbuilder.org
> http://public.kitware.com/mailman/listinfo/cmb-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmb-users/attachments/20150618/648328cd/attachment.html>


More information about the Cmb-users mailing list