[Bioc-devel] R CMD check without WARNING: g++ and STL issue for xcms and mzR
Martin Morgan
martin.morgan at roswellpark.org
Sun Apr 2 16:01:58 CEST 2017
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}}
More information about the Bioc-devel
mailing list