mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benno Evers (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MESOS-7699) "stdlib.h: No such file or directory" when building with GCC 6 (Debian stable freshly released)
Date Wed, 30 Aug 2017 10:20:00 GMT

    [ https://issues.apache.org/jira/browse/MESOS-7699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16147024#comment-16147024
] 

Benno Evers commented on MESOS-7699:
------------------------------------

I also  experienced this, and I think the correct way to handle it is to revert the usage
of `-isystem` back to `-I`, and then to either disable building with `-Werror` by default
(my preferred choice) or to add `-Wno-deprecated-declarations` to the default build flags.

The reasoning here is that using `-Werror` implies that we're committing to fix at least all
warnings that occur with our supported list of compilers and dependencies, but as the original
boost bug showed we are not willing and don't have the resources to do that. (I think the
fact that we have a `--disable-werror` configure flag also shows that this would be a useful
thing to do)

Alternatively, while I agree with the view that `-Wno-deprecated-declarations` will potentially
hide useful warnings, having these warnings is in my opinion less important than being able
to build with non-bundled versions of boost and protobuf.

> "stdlib.h: No such file or directory" when building with GCC 6 (Debian stable freshly
released)
> -----------------------------------------------------------------------------------------------
>
>                 Key: MESOS-7699
>                 URL: https://issues.apache.org/jira/browse/MESOS-7699
>             Project: Mesos
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.2.0
>            Reporter: Adam Cecile
>              Labels: autotools
>
> Hi,
> It seems the issue comes from a workaround added a while ago:
> https://reviews.apache.org/r/40326/
> https://reviews.apache.org/r/40327/
> When building with external libraries it turns out creating build commands line with
-isystem /usr/include which is clearly stated as being wrong, according to GCC guys:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129
> I'll do some testing by reverting all -isystem to -I and I'll let it know if it gets
built.
> Regards, Adam.
> {noformat}
> configure:21642: result: no
> configure:21642: checking glog/logging.h presence
> configure:21642: g++ -E -I/usr/include -I/usr/include/apr-1 -I/usr/include/apr-1.0 -Wdate-time
-D_FORTIFY_SOURCE=2 -isystem /usr/include -I/usr/include conftest.cpp
> In file included from /usr/include/c++/6/ext/string_conversions.h:41:0,
>                  from /usr/include/c++/6/bits/basic_string.h:5417,
>                  from /usr/include/c++/6/string:52,
>                  from /usr/include/c++/6/bits/locale_classes.h:40,
>                  from /usr/include/c++/6/bits/ios_base.h:41,
>                  from /usr/include/c++/6/ios:42,
>                  from /usr/include/c++/6/ostream:38,
>                  from /usr/include/glog/logging.h:43,
>                  from conftest.cpp:32:
> /usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
>  #include_next <stdlib.h>
>                          ^
> compilation terminated.
> configure:21642: $? = 1
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME "mesos"
> | #define PACKAGE_TARNAME "mesos"
> | #define PACKAGE_VERSION "1.2.0"
> | #define PACKAGE_STRING "mesos 1.2.0"
> | #define PACKAGE_BUGREPORT ""
> | #define PACKAGE_URL ""
> | #define PACKAGE "mesos"
> | #define VERSION "1.2.0"
> | #define STDC_HEADERS 1
> | #define HAVE_SYS_TYPES_H 1
> | #define HAVE_SYS_STAT_H 1
> | #define HAVE_STDLIB_H 1
> | #define HAVE_STRING_H 1
> | #define HAVE_MEMORY_H 1
> | #define HAVE_STRINGS_H 1
> | #define HAVE_INTTYPES_H 1
> | #define HAVE_STDINT_H 1
> | #define HAVE_UNISTD_H 1
> | #define HAVE_DLFCN_H 1
> | #define LT_OBJDIR ".libs/"
> | #define HAVE_CXX11 1
> | #define HAVE_PTHREAD_PRIO_INHERIT 1
> | #define HAVE_PTHREAD 1
> | #define HAVE_LIBZ 1
> | #define HAVE_FTS_H 1
> | #define HAVE_APR_POOLS_H 1
> | #define HAVE_LIBAPR_1 1
> | #define HAVE_BOOST_VERSION_HPP 1
> | #define HAVE_LIBCURL 1
> | /* end confdefs.h.  */
> | #include <glog/logging.h>
> configure:21642: result: no
> configure:21642: checking for glog/logging.h
> configure:21642: result: no
> configure:21674: error: cannot find glog
> -------------------------------------------------------------------
> You have requested the use of a non-bundled glog but no suitable
> glog could be found.
> You may want specify the location of glog by providing a prefix
> path via --with-glog=DIR, or check that the path you provided is
> correct if you're already doing this.
> -------------------------------------------------------------------
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message