Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 0.23.0, 0.24.0
    • Fix Version/s: None
    • Component/s: build
    • Labels:
      None
    • Environment:

      Ubuntu 14.04 ppc64le

      Description

      When trying to compile linux/fs.cpp, make failed with a following message.

      /bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DPACKAGE_NAME=\"mesos\" -DPACKAGE_TARNAME=\"mesos\" -DPACKAGE_VERSION=\"0.24.0\" -DPACKAGE_STRING=\"mesos\ 0.24.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesos\" -DVERSION=\"0.24.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_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 -DHAVE_APR_POOLS_H=1 -DHAVE_LIBAPR_1=1 -DHAVE_SVN_VERSION_H=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_SVN_DELTA_H=1 -DHAVE_LIBSVN_DELTA_1=1 -DHAVE_LIBSASL2=1 -DMESOS_HAS_JAVA=1 -DHAVE_PYTHON=\"2.7\" -DMESOS_HAS_PYTHON=1 -I. -I../../src   -Wall -Werror -DLIBDIR=\"/usr/local/lib\" -DPKGLIBEXECDIR=\"/usr/local/libexec/mesos\" -DPKGDATADIR=\"/usr/local/share/mesos\" -I../../include -I../../3rdparty/libprocess/include -I../../3rdparty/libprocess/3rdparty/stout/include -I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src -I../3rdparty/leveldb/include -I../3rdparty/zookeeper-3.4.5/src/c/include -I../3rdparty/zookeeper-3.4.5/src/c/generated -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src -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 linux/libmesos_no_3rdparty_la-fs.lo -MD -MP -MF linux/.deps/libmesos_no_3rdparty_la-fs.Tpo -c -o linux/libmesos_no_3rdparty_la-fs.lo `test -f 'linux/fs.cpp' || echo '../../src/'`linux/fs.cpp
      libtool: compile:  g++ -DPACKAGE_NAME=\"mesos\" -DPACKAGE_TARNAME=\"mesos\" -DPACKAGE_VERSION=\"0.24.0\" "-DPACKAGE_STRING=\"mesos 0.24.0\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mesos\" -DVERSION=\"0.24.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_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_LIBCURL=1 -DHAVE_APR_POOLS_H=1 -DHAVE_LIBAPR_1=1 -DHAVE_SVN_VERSION_H=1 -DHAVE_LIBSVN_SUBR_1=1 -DHAVE_SVN_DELTA_H=1 -DHAVE_LIBSVN_DELTA_1=1 -DHAVE_LIBSASL2=1 -DMESOS_HAS_JAVA=1 -DHAVE_PYTHON=\"2.7\" -DMESOS_HAS_PYTHON=1 -I. -I../../src -Wall -Werror -DLIBDIR=\"/usr/local/lib\" -DPKGLIBEXECDIR=\"/usr/local/libexec/mesos\" -DPKGDATADIR=\"/usr/local/share/mesos\" -I../../include -I../../3rdparty/libprocess/include -I../../3rdparty/libprocess/3rdparty/stout/include -I../include -I../include/mesos -I../3rdparty/libprocess/3rdparty/boost-1.53.0 -I../3rdparty/libprocess/3rdparty/picojson-4f93734 -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src -I../3rdparty/libprocess/3rdparty/glog-0.3.3/src -I../3rdparty/leveldb/include -I../3rdparty/zookeeper-3.4.5/src/c/include -I../3rdparty/zookeeper-3.4.5/src/c/generated -I../3rdparty/libprocess/3rdparty/protobuf-2.5.0/src -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 linux/libmesos_no_3rdparty_la-fs.lo -MD -MP -MF linux/.deps/libmesos_no_3rdparty_la-fs.Tpo -c ../../src/linux/fs.cpp  -fPIC -DPIC -o linux/.libs/libmesos_no_3rdparty_la-fs.o
      ../../src/linux/fs.cpp:346:2: error: #error "pivot_root is not available"
       #error "pivot_root is not available"
        ^
      ../../src/linux/fs.cpp: In function 'Try<Nothing> mesos::internal::fs::pivot_root(const string&, const string&)':
      ../../src/linux/fs.cpp:348:7: error: 'ret' was not declared in this scope
         if (ret == -1) {
             ^
      make[2]: *** [linux/libmesos_no_3rdparty_la-fs.lo] Error 1
      make[2]: *** Waiting for unfinished jobs....
      

        Activity

        Hide
        pmcfadin Patrick McFadin added a comment -

        Ran into the exact same issue compiling on a Raspberry Pi. (I know. I know. Don't judge)

        Adding #include <syscall.h> to src/linux/fs.cpp was the fix.

        Show
        pmcfadin Patrick McFadin added a comment - Ran into the exact same issue compiling on a Raspberry Pi. (I know. I know. Don't judge) Adding #include <syscall.h> to src/linux/fs.cpp was the fix.
        Hide
        marco-mesos Marco Massenzio added a comment - - edited

        As mentioned several times on the dev list, it's always good practice to find a willing shepherd so that patches can be committed (and doing so before starting the work is even better, so you can make sure your approach is sound and will make committing the patch much easier).

        Having said that, this is a one-line change, a single #include so should be easy to commit.

        Niklas Quarfot Nielsen - could you please help getting this committed?

        Jihun Kang - for future reference, could you also please make sure when you work on a task that the Jira status is correct (It was still in the "Open" state, it should be "Reviewable").
        I've already updated this one.

        Thanks.

        Show
        marco-mesos Marco Massenzio added a comment - - edited As mentioned several times on the dev list, it's always good practice to find a willing shepherd so that patches can be committed (and doing so before starting the work is even better, so you can make sure your approach is sound and will make committing the patch much easier). Having said that, this is a one-line change, a single #include so should be easy to commit. Niklas Quarfot Nielsen - could you please help getting this committed? Jihun Kang - for future reference, could you also please make sure when you work on a task that the Jira status is correct (It was still in the "Open" state, it should be "Reviewable"). I've already updated this one. Thanks.
        Hide
        neilc Neil Conway added a comment -

        If this is fixed, does "make check" pass on ppc64le?

        Show
        neilc Neil Conway added a comment - If this is fixed, does "make check" pass on ppc64le?
        Hide
        massimodanieli Massimo Danieli added a comment -

        The problem is still present in 0.25 from git repository

        #include <syscall.h>

        is not present in src/linux/fs.cpp

        Cheers

        Show
        massimodanieli Massimo Danieli added a comment - The problem is still present in 0.25 from git repository #include <syscall.h> is not present in src/linux/fs.cpp Cheers
        Hide
        ykrips Jihun Kang added a comment -

        published patch on reviewboard:
        https://reviews.apache.org/r/36610/

        Show
        ykrips Jihun Kang added a comment - published patch on reviewboard: https://reviews.apache.org/r/36610/

          People

          • Assignee:
            ykrips Jihun Kang
            Reporter:
            ykrips Jihun Kang
          • Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development