On Wed, May 24, 2017 at 7:15 PM, Roy Stogner <[email protected]>
wrote:
>
> On Wed, 24 May 2017, Boyce Griffith wrote:
>
> (Elijah, it might be a good idea to have an optional flag that lets
>> users say which libMesh method to use, and to default to dbg for
>> debugging builds and to opt for non-debugging builds.)
>>
>
> Be careful, if you're not just scarfing our CXXFLAGS and CPPFLAGS:
> libmesh dbg builds are *not* typically ABI-compatible with opt builds!
>
I suppose we are "scarfing" them, libMesh is built with the same compiler
flags as each build of IBAMR in this system.
> 1. If you build against libstdc++ and you don't configure with
> --disable-glibcxx-debugging, then half the standard library container
> classes get different ABIs in dbg mode. In theory I think this should
> result in a link-time failure, but in practice I've never seen a mixed
> build produce a link error and I have seen mixed builds produce plenty
> of segfaults.
>
>
What I am understanding is:
If using debugging flags:
1) Use "--with-methods=dbg"
2) Use "--disable-glibcxx-debugging"
If doing optimized build:
1) use "--with-methods=opt"
2. If you don't configure with --disable-reference-counting, then the
> struct layout of ReferenceCounter and subclasses (a.k.a. practically
> every heavyweight libMesh object) depends on whether or not the
> preprocessor macro DEBUG is defined.
>
3. The error in (2) is just the only one I can name off the top of my
> head, because it was the first one that caused a mixed build to
> segfault on clang. Since we don't strive for ABI consistency between
> build options, I wouldn't be surprised to find other ABI changes that
> the failing application just never reached.
>
>
So, in which case do we need to make sure "--disable-reference-counting" is
used?
Thanks!
Elijah
> 4. Matt, if any of the above makes it into a future version of you
> guys' "Firetran" parody, try to strip off embarrassing identifying
> details? Thanks.
> ---
> Roy
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users