Re: Unable to build ceph: Ubuntu 15.04 Ceph master

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2016-03-05 at 13:05 -0500, Shehbaz Jaffer wrote:
> Hello,
> 
> The command --with-radosgw helped in building the code. The compile
> error and the solution to solve the problem (adding the aforementioned
> option) is very unintuitive to user. Should this option be there by
> default? Shall I report a bug?

please open a tracker issue.

> An ideal fix will add --with-radosgw as default config file, unless
> --without-radosgw is a switch given by the user.
> 

It is a bug in the makefile, probably we are missing a check to see if
the radosgw was enabled. I don't think we need to change the configure
defaults.

> Also, I had to install the following other packages on Ubuntu 15.04,
> for successful compilation. I think these should also be checked by
> configure script:
> 
> python-setuptools
> python-pip python-dev build-essential
> virtualenv
> 
> Please let me know if it would be appropriate to report bug and commit
> fix for the same.

I don't think this is an issue,

Orit
> Thanks,
> Shehbaz
> 
> 
> On Fri, Mar 4, 2016 at 1:45 PM, Orit Wasserman <owasserm@xxxxxxxxxx> wrote:
> > What configure command did you use?
> > can you try adding --with-radosgw?
> >
> > Orit
> >
> > On Fri, 2016-03-04 at 09:41 -0500, Shehbaz Jaffer wrote:
> >> Hi,
> >>
> >> I have cloned ceph from git master branch. I am getting the following
> >> errors while build:
> >>
> >> ENVIRONMENT
> >> ----------------------
> >>
> >> $ uname -a
> >> Linux donjaffer 4.3.0-dev #1 SMP Sun Dec 6 13:56:49 EST 2015 x86_64
> >> x86_64 x86_64 GNU/Linux
> >>
> >> $ g++ -v
> >> Using built-in specs.
> >> COLLECT_GCC=g++
> >> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
> >> Target: x86_64-linux-gnu
> >> Configured with: ../src/configure -v --with-pkgversion='Ubuntu
> >> 4.9.2-10ubuntu13'
> >> --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs
> >> --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
> >> --program-suffix=-4.9 --enable-shared --enable-linker-build-id
> >> --libexecdir=/usr/lib --without-included-gettext
> >> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9
> >> --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
> >> --enable-libstdcxx-debug --enable-libstdcxx-time=yes
> >> --enable-gnu-unique-object --disable-vtable-verify --enable-plugin
> >> --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
> >> --enable-gtk-cairo
> >> --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre
> >> --enable-java-home
> >> --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64
> >> --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64
> >> --with-arch-directory=amd64
> >> --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc
> >> --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64
> >> --with-multilib-list=m32,m64,mx32 --enable-multilib
> >> --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
> >> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> >> Thread model: posix
> >> gcc version 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
> >>
> >> BUILD ERROR
> >> ---------------------
> >>
> >> $make
> >> ...
> >>   CXXLD    ceph-dencoder
> >> rgw/ceph_dencoder-rgw_dencoder.o: In function
> >> `RGWZoneGroup::generate_test_instances(std::list<RGWZoneGroup*,
> >> std::allocator<RGWZoneGroup*> >&)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1095: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> rgw/ceph_dencoder-rgw_dencoder.o: In function
> >> `RGWZoneParams::generate_test_instances(std::list<RGWZoneParams*,
> >> std::allocator<RGWZoneParams*> >&)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:870: undefined
> >> reference to `vtable for RGWZoneParams'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function
> >> `decode_zonegroups(std::map<std::string, RGWZoneGroup,
> >> std::less<std::string>, std::allocator<std::pair<std::string const,
> >> RGWZoneGroup> > >&, JSONObj*)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1095: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function
> >> `RGWSystemMetaObj::~RGWSystemMetaObj()':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:763: undefined
> >> reference to `vtable for RGWSystemMetaObj'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function
> >> `RGWSystemMetaObj::~RGWSystemMetaObj()':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:763: undefined
> >> reference to `vtable for RGWSystemMetaObj'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function `RGWZoneGroup::~RGWZoneGroup()':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1096: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:763: undefined
> >> reference to `vtable for RGWSystemMetaObj'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function `RGWZoneGroup::~RGWZoneGroup()':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1096: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:763: undefined
> >> reference to `vtable for RGWSystemMetaObj'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function
> >> `std::_Rb_tree<std::string, std::pair<std::string const,
> >> RGWZoneGroup>, std::_Select1st<std::pair<std::string const,
> >> RGWZoneGroup> >, std::less<std::string>,
> >> std::allocator<std::pair<std::string const, RGWZoneGroup> >
> >> >::_M_erase(std::_Rb_tree_node<std::pair<std::string const,
> >> RGWZoneGroup> >*)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1096: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:763: undefined
> >> reference to `vtable for RGWSystemMetaObj'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function
> >> `std::_Rb_tree_iterator<std::pair<std::string const, RGWZoneGroup> >
> >> std::_Rb_tree<std::string, std::pair<std::string const, RGWZoneGroup>,
> >> std::_Select1st<std::pair<std::string const, RGWZoneGroup> >,
> >> std::less<std::string>, std::allocator<std::pair<std::string const,
> >> RGWZoneGroup> > >::_M_emplace_hint_unique<std::piecewise_construct_t
> >> const&, std::tuple<std::string const&>, std::tuple<>
> >> >(std::_Rb_tree_const_iterator<std::pair<std::string const,
> >> RGWZoneGroup> >, std::piecewise_construct_t const&,
> >> std::tuple<std::string const&>&&, std::tuple<>&&)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1095: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:763: undefined
> >> reference to `vtable for RGWSystemMetaObj'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function `bool
> >> JSONDecoder::decode_json<RGWZoneGroup>(char const*, RGWZoneGroup&,
> >> JSONObj*, bool)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1095: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function `void
> >> decode_json_obj<std::string, RGWZoneGroup>(std::map<std::string,
> >> RGWZoneGroup, std::less<std::string>,
> >> std::allocator<std::pair<std::string const, RGWZoneGroup> > >&,
> >> JSONObj*)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1095: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> rgw/ceph_dencoder-rgw_json_enc.o: In function
> >> `std::_Rb_tree_iterator<std::pair<std::string const, RGWZoneGroup> >
> >> std::_Rb_tree<std::string, std::pair<std::string const, RGWZoneGroup>,
> >> std::_Select1st<std::pair<std::string const, RGWZoneGroup> >,
> >> std::less<std::string>, std::allocator<std::pair<std::string const,
> >> RGWZoneGroup> > >::_M_insert_<std::pair<std::string const,
> >> RGWZoneGroup>&>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*,
> >> std::pair<std::string const, RGWZoneGroup>&)':
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:733: undefined
> >> reference to `vtable for RGWSystemMetaObj'
> >> /home/shehbaz/gsoc/ceph/ceph/src/rgw/rgw_rados.h:1063: undefined
> >> reference to `vtable for RGWZoneGroup'
> >> collect2: error: ld returned 1 exit status
> >> Makefile:15392: recipe for target 'ceph-dencoder' failed
> >> make[3]: *** [ceph-dencoder] Error 1
> >> make[3]: Leaving directory '/home/shehbaz/gsoc/ceph/ceph/src'
> >> Makefile:29913: recipe for target 'all-recursive' failed
> >> make[2]: *** [all-recursive] Error 1
> >> make[2]: Leaving directory '/home/shehbaz/gsoc/ceph/ceph/src'
> >> Makefile:12277: recipe for target 'all' failed
> >> make[1]: *** [all] Error 2
> >> make[1]: Leaving directory '/home/shehbaz/gsoc/ceph/ceph/src'
> >> Makefile:689: recipe for target 'all-recursive' failed
> >> make: *** [all-recursive] Error 1
> >> shehbaz@donjaffer:~/gsoc/ceph/ceph$
> >>
> >>
> >> INITIAL DIAGNOSTICS
> >> -------------------------------
> >>
> >> In src/rgw/rgw_rados.h
> >>
> >> struct RGWZoneGroup : public RGWSystemMetaObj
> >>
> >> all pure virtual functions in base class should be overriden in derived class.
> >>
> >> In RGWSystemMetaObj, the following functions are defined pure virtual:
> >>
> >>  virtual const string& get_pool_name(CephContext *cct) = 0;
> >>   virtual const string get_default_oid(bool old_format = false) = 0;
> >>   virtual const string& get_names_oid_prefix() = 0;
> >>   virtual const string& get_info_oid_prefix(bool old_format = false) = 0;
> >>   virtual const string& get_predefined_name(CephContext *cct) = 0;
> >>
> >> All these functions have been declared and overridden in struct RGWZoneGroup:
> >>
> >>  const string& get_pool_name(CephContext *cct);
> >>   const string get_default_oid(bool old_region_format = false);
> >>   const string& get_info_oid_prefix(bool old_region_format = false);
> >>   const string& get_names_oid_prefix();
> >>   const string& get_predefined_name(CephContext *cct);
> >>
> >> I also found a similar report here:
> >>
> >> http://ceph.predictor.org.pl/rgw_vtable.txt
> >>
> >> But a solution to the problem is not provided.
> >>
> >> Any help is much appreciated.
> >>
> >
> >
> 
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux