Neil Conway created MESOS-6013:
----------------------------------

             Summary: Consider avoiding readdir_r
                 Key: MESOS-6013
                 URL: https://issues.apache.org/jira/browse/MESOS-6013
             Project: Mesos
          Issue Type: Bug
          Components: stout
         Environment: Linux archlinux.vagrant.vm 4.6.4-1-ARCH #1 SMP PREEMPT 
Mon Jul 11 19:12:32 CEST 2016 x86_64 GNU/Linux
            Reporter: Neil Conway


Mesos doesn't build on recent Arch Linux:

{noformat}
/bin/sh ../libtool  --tag=CXX   --mode=compile ccache g++ 
-DPACKAGE_NAME=\"mesos\" -DPACKAGE_TARNAME=\"mesos\" 
-DPACKAGE_VERSION=\"1.1.0\" -DPACKAGE_STRING=\"mesos\ 1.1.0\" 
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesos\" 
-DVERSION=\"1.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 
-DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 
-DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_FTS_H=1 -DHAVE_APR_POOLS_H=1 
-DHAVE_LIBAPR_1=1 -DHAVE_LIBCURL=1 -DMESOS_HAS_JAVA=1 -DHAVE_LIBSASL2=1 
-DHAVE_SVN_VERSION_H=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_SVN_DELTA_H=1 
-DHAVE_LIBSVN_DELTA_1=1 -DHAVE_LIBZ=1 -I. -I../../mesos/src   -Wall -Werror 
-Wsign-compare -DLIBDIR=\"/usr/local/lib\" 
-DPKGLIBEXECDIR=\"/usr/local/libexec/mesos\" 
-DPKGDATADIR=\"/usr/local/share/mesos\" 
-DPKGMODULEDIR=\"/usr/local/lib/mesos/modules\" -I../../mesos/include 
-I../include -I../include/mesos -DPICOJSON_USE_INT64 -D__STDC_FORMAT_MACROS 
-isystem ../3rdparty/boost-1.53.0 -I../3rdparty/elfio-3.1 
-I../3rdparty/glog-0.3.3/src -I../3rdparty/leveldb-1.4/include 
-I../../mesos/3rdparty/libprocess/include -I../3rdparty/nvml-352.79 
-I../3rdparty/picojson-1.3.0 -I../3rdparty/protobuf-2.6.1/src 
-I../../mesos/3rdparty/stout/include 
-I../3rdparty/zookeeper-3.4.8/src/c/include 
-I../3rdparty/zookeeper-3.4.8/src/c/generated -DHAS_AUTHENTICATION=1 
-I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0  
-pthread -g1 -O0 -Wno-unused-local-typedefs -std=c++11 -MT 
appc/libmesos_no_3rdparty_la-spec.lo -MD -MP -MF 
appc/.deps/libmesos_no_3rdparty_la-spec.Tpo -c -o 
appc/libmesos_no_3rdparty_la-spec.lo `test -f 'appc/spec.cpp' || echo 
'../../mesos/src/'`appc/spec.cpp
libtool: compile:  ccache g++ -DPACKAGE_NAME=\"mesos\" 
-DPACKAGE_TARNAME=\"mesos\" -DPACKAGE_VERSION=\"1.1.0\" 
"-DPACKAGE_STRING=\"mesos 1.1.0\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" 
-DPACKAGE=\"mesos\" -DVERSION=\"1.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_CXX11=1 
-DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_FTS_H=1 
-DHAVE_APR_POOLS_H=1 -DHAVE_LIBAPR_1=1 -DHAVE_LIBCURL=1 -DMESOS_HAS_JAVA=1 
-DHAVE_LIBSASL2=1 -DHAVE_SVN_VERSION_H=1 -DHAVE_LIBSVN_SUBR_1=1 
-DHAVE_SVN_DELTA_H=1 -DHAVE_LIBSVN_DELTA_1=1 -DHAVE_LIBZ=1 -I. 
-I../../mesos/src -Wall -Werror -Wsign-compare -DLIBDIR=\"/usr/local/lib\" 
-DPKGLIBEXECDIR=\"/usr/local/libexec/mesos\" 
-DPKGDATADIR=\"/usr/local/share/mesos\" 
-DPKGMODULEDIR=\"/usr/local/lib/mesos/modules\" -I../../mesos/include 
-I../include -I../include/mesos -DPICOJSON_USE_INT64 -D__STDC_FORMAT_MACROS 
-isystem ../3rdparty/boost-1.53.0 -I../3rdparty/elfio-3.1 
-I../3rdparty/glog-0.3.3/src -I../3rdparty/leveldb-1.4/include 
-I../../mesos/3rdparty/libprocess/include -I../3rdparty/nvml-352.79 
-I../3rdparty/picojson-1.3.0 -I../3rdparty/protobuf-2.6.1/src 
-I../../mesos/3rdparty/stout/include 
-I../3rdparty/zookeeper-3.4.8/src/c/include 
-I../3rdparty/zookeeper-3.4.8/src/c/generated -DHAS_AUTHENTICATION=1 
-I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/apr-1.0 
-pthread -g1 -O0 -Wno-unused-local-typedefs -std=c++11 -MT 
appc/libmesos_no_3rdparty_la-spec.lo -MD -MP -MF 
appc/.deps/libmesos_no_3rdparty_la-spec.Tpo -c ../../mesos/src/appc/spec.cpp  
-fPIC -DPIC -o appc/.libs/libmesos_no_3rdparty_la-spec.o
In file included from ../../mesos/3rdparty/stout/include/stout/os.hpp:52:0,
                 from ../../mesos/src/appc/spec.cpp:17:
../../mesos/3rdparty/stout/include/stout/os/ls.hpp: In function 
‘Try<std::__cxx11::list<std::__cxx11::basic_string<char> > > os::ls(const 
string&)’:
../../mesos/3rdparty/stout/include/stout/os/ls.hpp:56:19: error: ‘int 
readdir_r(DIR*, dirent*, dirent**)’ is deprecated 
[-Werror=deprecated-declarations]
   while ((error = readdir_r(dir, temp, &entry)) == 0 && entry != nullptr) {
                   ^~~~~~~~~
In file included from ../../mesos/3rdparty/stout/include/stout/os/ls.hpp:19:0,
                 from ../../mesos/3rdparty/stout/include/stout/os.hpp:52,
                 from ../../mesos/src/appc/spec.cpp:17:
/usr/include/dirent.h:183:12: note: declared here
 extern int readdir_r (DIR *__restrict __dirp,
            ^~~~~~~~~
In file included from ../../mesos/3rdparty/stout/include/stout/os.hpp:52:0,
                 from ../../mesos/src/appc/spec.cpp:17:
../../mesos/3rdparty/stout/include/stout/os/ls.hpp:56:46: error: ‘int 
readdir_r(DIR*, dirent*, dirent**)’ is deprecated 
[-Werror=deprecated-declarations]
   while ((error = readdir_r(dir, temp, &entry)) == 0 && entry != nullptr) {
                                              ^
In file included from ../../mesos/3rdparty/stout/include/stout/os/ls.hpp:19:0,
                 from ../../mesos/3rdparty/stout/include/stout/os.hpp:52,
                 from ../../mesos/src/appc/spec.cpp:17:
/usr/include/dirent.h:183:12: note: declared here
 extern int readdir_r (DIR *__restrict __dirp,
            ^~~~~~~~~
cc1plus: all warnings being treated as errors
{noformat}

Seems like {{readdir_r}} is deprecated; manpage suggests using {{readdir}} 
instead.



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

Reply via email to