Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-2633

Build failure in contrib/zkfuse with gcc 6.x

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.4.10, 3.5.3, 3.6.0
    • Component/s: contrib-zkfuse
    • Labels:
      None
    • Environment:

      Description

      The build in contrib/zkfuse fails with

      make
      (CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/raghu/zookeeper/src/contrib/zkfuse/missing autoheader)
      rm -f stamp-h1
      touch config.h.in
      cd . && /bin/sh ./config.status config.h
      config.status: creating config.h
      config.status: config.h is unchanged
      make  all-recursive
      make[1]: Entering directory '/home/raghu/zookeeper/src/contrib/zkfuse'
      Making all in src
      make[2]: Entering directory '/home/raghu/zookeeper/src/contrib/zkfuse/src'
      g++ -DHAVE_CONFIG_H -I. -I..    -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/include -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/generated -I../include -I/usr/include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -MT zkfuse.o -MD -MP -MF .deps/zkfuse.Tpo -c -o zkfuse.o zkfuse.cc
      g++ -DHAVE_CONFIG_H -I. -I..    -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/include -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/generated -I../include -I/usr/include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -MT zkadapter.o -MD -MP -MF .deps/zkadapter.Tpo -c -o zkadapter.o zkadapter.cc
      In file included from zkadapter.h:34:0,
                       from zkadapter.cc:24:
      event.h:216:9: error: reference to ‘shared_ptr’ is ambiguous
               shared_ptr<AbstractEventWrapper> m_eventWrapper;
               ^~~~~~~~~~
      In file included from /usr/include/boost/throw_exception.hpp:42:0,
                       from /usr/include/boost/smart_ptr/shared_ptr.hpp:27,
                       from /usr/include/boost/shared_ptr.hpp:17,
                       from event.h:30,
                       from zkadapter.h:34,
                       from zkadapter.cc:24:
      /usr/include/boost/exception/exception.hpp:148:11: note: candidates are: template<class T> class boost::shared_ptr
           class shared_ptr;
                 ^~~~~~~~~~
      In file included from /usr/include/c++/6.2.1/bits/shared_ptr.h:52:0,
                       from /usr/include/c++/6.2.1/memory:82,
                       from /usr/include/boost/config/no_tr1/memory.hpp:21,
                       from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                       from /usr/include/boost/shared_ptr.hpp:17,
                       from event.h:30,
                       from zkadapter.h:34,
                       from zkadapter.cc:24:
      /usr/include/c++/6.2.1/bits/shared_ptr_base.h:343:11: note:                 template<class _Tp> class std::shared_ptr
           class shared_ptr;
                 ^~~~~~~~~~
      In file included from zkadapter.h:34:0,
                       from zkadapter.cc:24:
      event.h: In constructor ‘zkfuse::GenericEvent::GenericEvent(int, zkfuse::AbstractEventWrapper*)’:
      event.h:189:27: error: class ‘zkfuse::GenericEvent’ does not have any field named ‘m_eventWrapper’
                   m_type(type), m_eventWrapper(eventWrapper) {
                                 ^~~~~~~~~~~~~~
      event.h: In member function ‘void* zkfuse::GenericEvent::getEvent() const’:
      event.h:204:41: error: ‘m_eventWrapper’ was not declared in this scope
               void *getEvent() const { return m_eventWrapper->getWrapee(); }
                                               ^~~~~~~~~~~~~~
      In file included from zkadapter.h:34:0,
                       from zkfuse.cc:54:
      event.h:216:9: error: reference to ‘shared_ptr’ is ambiguous
               shared_ptr<AbstractEventWrapper> m_eventWrapper;
               ^~~~~~~~~~
      In file included from /usr/include/boost/throw_exception.hpp:42:0,
                       from /usr/include/boost/smart_ptr/detail/shared_count.hpp:27,
                       from /usr/include/boost/smart_ptr/weak_ptr.hpp:17,
                       from /usr/include/boost/weak_ptr.hpp:16,
                       from zkfuse.cc:50:
      /usr/include/boost/exception/exception.hpp:148:11: note: candidates are: template<class T> class boost::shared_ptr
           class shared_ptr;
                 ^~~~~~~~~~
      In file included from /usr/include/c++/6.2.1/bits/shared_ptr.h:52:0,
                       from /usr/include/c++/6.2.1/memory:82,
                       from /usr/include/boost/smart_ptr/weak_ptr.hpp:16,
                       from /usr/include/boost/weak_ptr.hpp:16,
                       from zkfuse.cc:50:
      /usr/include/c++/6.2.1/bits/shared_ptr_base.h:343:11: note:                 template<class _Tp> class std::shared_ptr
           class shared_ptr;
                 ^~~~~~~~~~
      In file included from zkadapter.h:34:0,
                       from zkfuse.cc:54:
      event.h: In constructor ‘zkfuse::GenericEvent::GenericEvent(int, zkfuse::AbstractEventWrapper*)’:
      event.h:189:27: error: class ‘zkfuse::GenericEvent’ does not have any field named ‘m_eventWrapper’
                   m_type(type), m_eventWrapper(eventWrapper) {
                                 ^~~~~~~~~~~~~~
      event.h: In member function ‘void* zkfuse::GenericEvent::getEvent() const’:
      event.h:204:41: error: ‘m_eventWrapper’ was not declared in this scope
               void *getEvent() const { return m_eventWrapper->getWrapee(); }
                                               ^~~~~~~~~~~~~~
      zkadapter.cc: In member function ‘bool zk::ZooKeeperAdapter::deleteNode(const string&, bool, int)’:
      zkadapter.cc:676:52: error: no matching function for call to ‘zk::ZooKeeperAdapter::getNodeChildren(std::vector<std::__cxx11::basic_string<char> >&, const string&, bool)’
                   getNodeChildren( nodeList, path, false );
                                                          ^
      In file included from zkadapter.cc:24:0:
      zkadapter.h:440:14: note: candidate: void zk::ZooKeeperAdapter::getNodeChildren(std::vector<std::__cxx11::basic_string<char> >&, const string&, zk::ZKEventListener*, void*)
               void getNodeChildren(vector<string> &children,
                    ^~~~~~~~~~~~~~~
      zkadapter.h:440:14: note:   no known conversion for argument 3 from ‘bool’ to ‘zk::ZKEventListener* {aka zkfuse::EventListener<zk::ZKWatcherEvent>*}’
      make[2]: *** [Makefile:310: zkadapter.o] Error 1
      make[2]: *** Waiting for unfinished jobs....
      make[2]: *** [Makefile:310: zkfuse.o] Error 1
      make[2]: Leaving directory '/home/raghu/zookeeper/src/contrib/zkfuse/src'
      make[1]: *** [Makefile:352: all-recursive] Error 1
      make[1]: Leaving directory '/home/raghu/zookeeper/src/contrib/zkfuse'
      make: *** [Makefile:293: all] Error 2
         
         
      =================================================================================================================
      
      
      make
      make  all-recursive
      make[1]: Entering directory '/home/raghu/zookeeper/src/contrib/zkfuse'
      Making all in src
      make[2]: Entering directory '/home/raghu/zookeeper/src/contrib/zkfuse/src'
      g++ -DHAVE_CONFIG_H -I. -I..    -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/include -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/generated -I../include -I/usr/include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -MT zkfuse.o -MD -MP -MF .deps/zkfuse.Tpo -c -o zkfuse.o zkfuse.cc
      g++ -DHAVE_CONFIG_H -I. -I..    -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/include -I/home/raghu/zookeeper/src/contrib/zkfuse/../../c/generated -I../include -I/usr/include -D_FILE_OFFSET_BITS=64 -D_REENTRANT -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -MT zkadapter.o -MD -MP -MF .deps/zkadapter.Tpo -c -o zkadapter.o zkadapter.cc
      zkadapter.cc: In member function ‘bool zk::ZooKeeperAdapter::deleteNode(const string&, bool, int)’:
      zkadapter.cc:676:52: error: no matching function for call to ‘zk::ZooKeeperAdapter::getNodeChildren(std::vector<std::__cxx11::basic_string<char> >&, const string&, bool)’
                   getNodeChildren( nodeList, path, false );
                                                          ^
      In file included from zkadapter.cc:24:0:
      zkadapter.h:440:14: note: candidate: void zk::ZooKeeperAdapter::getNodeChildren(std::vector<std::__cxx11::basic_string<char> >&, const string&, zk::ZKEventListener*, void*)
               void getNodeChildren(vector<string> &children,
                    ^~~~~~~~~~~~~~~
      zkadapter.h:440:14: note:   no known conversion for argument 3 from ‘bool’ to ‘zk::ZKEventListener* {aka zkfuse::EventListener<zk::ZKWatcherEvent>*}’
      make[2]: *** [Makefile:310: zkadapter.o] Error 1
      make[2]: *** Waiting for unfinished jobs....
      mv -f .deps/zkfuse.Tpo .deps/zkfuse.Po
      make[2]: Leaving directory '/home/raghu/zookeeper/src/contrib/zkfuse/src'
      make[1]: *** [Makefile:352: all-recursive] Error 1
      make[1]: Leaving directory '/home/raghu/zookeeper/src/contrib/zkfuse'
      make: *** [Makefile:293: all] Error 2
         
      

      in two different places.

      Fixed here: https://github.com/ronin13/zookeeper/commit/726a8eda08e4022fcbcb0581ec2650e07e39910b

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rprabhu Raghavendra Prabhu
                Reporter:
                rprabhu Raghavendra Prabhu
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: