Message-ID: <bb33b74c-b88b-5494-2eba-06c566082198@roswellpark.org>
Date: 2017-04-02T14:01:58Z
From: Martin Morgan
Subject: [Bioc-devel] R CMD check without WARNING: g++ and STL issue for xcms and mzR
In-Reply-To: <assp.026527191a.1491130352.23852.19.camel@ipb-halle.de>
On 04/02/2017 06:52 AM, Neumann, Steffen wrote:
> Hi,
>
> in preparation for the release, we are hunting down WARNINGS
> "Found ?abort?, possibly from ?abort? (C)" in xcms/mzR.
> The abort() call is not coming from XCMS, but rather
> from the C++ code in the STL, and we have no idea
> how to get rid of it.
>
> We are tracking this in: https://github.com/sneumann/xcms/issues/150
>
> In a nutshell, the standard tenplate library (STL) that comes
> with g++-5.4.0 has a snippet:
>
> https://github.com/gcc-mirror/gcc/blob/1cb6c2eb3b8361d850be8e8270c59727
> 0a1a7967/libstdc%2B%2B-v3/include/bits/stl_list.h#L1825
>
> ...
> # 1770 "/usr/include/c++/5/bits/stl_list.h"
> void _M_check_equal_allocators(list& __x) {
> if (_M_get_Node_allocator())
> __builtin_abort();
> }
>
> You can also check this by looking at the compiler output
> after the preprocess step:
>
> g++ -I/usr/share/R/include -DNDEBUG -fpic -g -O2 -fstack-
> protector-strong -Wformat -Werror=format-security -Wdate-time
> -D_FORTIFY_SOURCE=2 -g -c massifquant/TrMgr.cpp -E | less
>
> The same applies to mzR, where the same stl_list.h is included
> in two files (Found ?abort?, possibly from ?abort? (C)
> Objects: ?./boost/libs/regex/src/instances.o?,
> ?./boost/libs/regex/src/winstances.o?)
>
> => Since we don't want to patch the STL, we have no idea
> how to fix that WARNING. Is there a way to get an exception,
> or patch/whitelist this call in R CMD check ?
I don't think Bioconductor can help with this; maybe the Rcpp or R-devel
mailing lists?
Presumably there is a minimal example that generates the warning? It
would be convenient to communicate that (maybe a package as github
repo?) rather than the prospect of mzR / xcms installation & debugging.
Martin
>
> Yours,
> Steffen Neumann
>
This email message may contain legally privileged and/or...{{dropped:2}}