Neil Conway created MESOS-4963:
----------------------------------

             Summary: Compile error with GCC 6
                 Key: MESOS-4963
                 URL: https://issues.apache.org/jira/browse/MESOS-4963
             Project: Mesos
          Issue Type: Bug
          Components: stout
            Reporter: Neil Conway


{noformat}
$ ~/local/gcc/bin/g++ --version
g++ (GCC) 6.0.0 20160227 (experimental)
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ make V=0
make[2]: Entering directory '/home/vagrant/build-mesos-2-gcc6/src'
  CXX      appc/libmesos_no_3rdparty_la-spec.lo
In file included from 
/mesos-2/3rdparty/libprocess/3rdparty/stout/include/stout/os/shell.hpp:22:0,
                 from 
/mesos-2/3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp:56,
                 from /mesos-2/src/appc/spec.cpp:17:
/mesos-2/3rdparty/libprocess/3rdparty/stout/include/stout/os/posix/shell.hpp: 
In instantiation of ‘int os::execlp(const char*, T ...) [with T = {const char*, 
const char*, const char*, char*}]’:
/mesos-2/3rdparty/libprocess/3rdparty/stout/include/stout/os/posix/fork.hpp:371:52:
   required from here
/mesos-2/3rdparty/libprocess/3rdparty/stout/include/stout/os/posix/shell.hpp:151:18:
 error: missing sentinel in function call [-Werror=format=]
   return ::execlp(file, t...);
          ~~~~~~~~^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Makefile:5584: recipe for target 'appc/libmesos_no_3rdparty_la-spec.lo' failed
{noformat}

I'll verify this with a more recent GCC6 snapshot, but assuming it repros, I 
think we have a few options:

* Have {{os::execlp}} *not* specify a NULL sentinel, and instead have the 
implementation of {{os::execlp}} always pass {{static_cast<T>(NULL)}} as the 
last argument to the {{execlp}} call.
* Disable the GCC warning via a pragma or similar means.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to