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

ASF GitHub Bot commented on ZOOKEEPER-2633:
-------------------------------------------

GitHub user ronin13 opened a pull request:

    https://github.com/apache/zookeeper/pull/110

    ZOOKEEPER-2633: contrib/zkfuse build fix with gcc 6.2.

    The build fails in two places: 
https://gist.github.com/ronin13/3e08569dd6c69bf2ad92fa39fa85f7ee
    
    One is boost related, and other is due to false being passed where NULL is
    required.
    
    JIRA: https://issues.apache.org/jira/browse/ZOOKEEPER-2633
    
    Author: Raghavendra Prabhu <m...@rdprabhu.com>

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ronin13/zookeeper c++-build-fix

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/zookeeper/pull/110.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #110
    
----
commit 726a8eda08e4022fcbcb0581ec2650e07e39910b
Author: Raghavendra Prabhu <m...@rdprabhu.com>
Date:   2016-11-16T01:06:00Z

    ZOOKEEPER-2633: contrib/zkfuse build fix with gcc 6.2.
    
    The build fails in two places: 
https://gist.github.com/ronin13/3e08569dd6c69bf2ad92fa39fa85f7ee
    
    One is boost related, and other is due to false being passed where NULL is
    required.
    
    JIRA: https://issues.apache.org/jira/browse/ZOOKEEPER-2633
    
    Author: Raghavendra Prabhu <m...@rdprabhu.com>

----


> Build failure in contrib/zkfuse with gcc 6.x
> --------------------------------------------
>
>                 Key: ZOOKEEPER-2633
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2633
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: contrib-zkfuse
>         Environment: gcc --version
> gcc (GCC) 6.2.1 20160830
> 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.
> g++ --version
> g++ (GCC) 6.2.1 20160830
> 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.
> CFLAGS, CXXFLAGS, and LDFLAGS are unset, hence default.
> uname -a
> Linux lative 4.8.8-1-ARCH #1 SMP PREEMPT Tue Nov 15 08:25:24 CET 2016 x86_64 
> GNU/Linux
>            Reporter: Raghavendra Prabhu
>            Priority: Minor
>
> The build in contrib/zkfuse fails with
> {noformat}
> 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
>    
> {noformat}
> in two different places.
> Fixed here: 
> https://github.com/ronin13/zookeeper/commit/726a8eda08e4022fcbcb0581ec2650e07e39910b
>  



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

Reply via email to