https://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2017-03-01T19:31:56ZCeph rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=869552017-03-01T19:31:56ZRomain Gobinet
<ul></ul><p>Hello,</p>
<p>I almost have the same problem but on an ARM platform.</p>
<pre>
dpkg-buildpackage -j8
[...]
[ 3%] Building CXX object src/cls/CMakeFiles/cls_rgw_client.dir/rgw/cls_rgw_types.cc.o
/usr/bin/ranlib ../../lib/libcls_statelog_client.a
cd /mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf/src/cls && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph/src -isystem /mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/cls_rgw_client.dir/rgw/cls_rgw_types.cc.o -c /mnt/sda1/ceph-build/ceph/src/cls/rgw/cls_rgw_types.cc
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf'
In file included from /mnt/sda1/ceph-build/ceph/src/include/encoding.h:25:0,
from /mnt/sda1/ceph-build/ceph/src/include/uuid.h:8,
from /mnt/sda1/ceph-build/ceph/src/include/types.h:21,
from /mnt/sda1/ceph-build/ceph/src/msg/Message.h:26,
from /mnt/sda1/ceph-build/ceph/src/msg/Messenger.h:23,
from /mnt/sda1/ceph-build/ceph/src/osdc/ObjectCacher.cc:6:
/mnt/sda1/ceph-build/ceph/src/include/denc.h: In instantiation of ‘typename std::enable_if<((traits:: supported == 1) && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::__cxx11::basic_string<char>; traits = denc_traits<std::__cxx11::basic_string<char> >; typename std::enable_if<((traits:: supported == 1) && (! traits:: featured))>::type = void; size_t = unsigned int]’:
/mnt/sda1/ceph-build/ceph/src/messages/MOSDOp.h:397:41: required from here
/mnt/sda1/ceph-build/ceph/src/include/denc.h:1337:24: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::__cxx11::basic_string<char> >’
traits::decode_nohead(num, o, cp);
^
[...]
[ 3%] Linking CXX static library ../../lib/libcls_rgw_client.a
cd /mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf/src/cls && /usr/bin/cmake -P CMakeFiles/cls_rgw_client.dir/cmake_clean_target.cmake
cd /mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf/src/cls && /usr/bin/cmake -E cmake_link_script CMakeFiles/cls_rgw_client.dir/link.txt --verbose=1
/usr/bin/ar qc ../../lib/libcls_rgw_client.a CMakeFiles/cls_rgw_client.dir/rgw/cls_rgw_client.cc.o CMakeFiles/cls_rgw_client.dir/rgw/cls_rgw_types.cc.o CMakeFiles/cls_rgw_client.dir/rgw/cls_rgw_ops.cc.o
/usr/bin/ranlib ../../lib/libcls_rgw_client.a
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf'
[ 3%] Built target cls_rgw_client
make[3]: Leaving directory '/mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf'
Makefile:141: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/mnt/sda1/ceph-build/ceph/obj-arm-linux-gnueabihf'
cd /mnt/sda1/ceph-build/ceph
dh_auto_build: make -j8 returned exit code 2
debian/rules:29: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/mnt/sda1/ceph-build/ceph'
debian/rules:22: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
</pre>
<p>Romain</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=877052017-03-20T09:43:51ZKefu Chaitchaikov@gmail.com
<ul></ul><p>Sebastien and Romain, have you tried with the latest master? the denc part of the source have change a considerably since then.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=877182017-03-20T17:57:24ZRomain Gobinet
<ul></ul><p>Hello Kefu,</p>
<p>Just to be accurate, here are some details :</p>
<p>- arch: armv7l<br />- bitness: 32bits</p>
<p>I failed to compile with this :</p>
<pre>
git branch -v
* kraken 98a87fa Merge pull request #13501 from shinobu-x/wip-18371-kraken
</pre>
<p>And with this too:</p>
<pre>
https://download.ceph.com/tarballs/ceph_11.2.0.orig.tar.gz
</pre>
<p>Everytime it is related with "denc" part.</p>
<p>In my case i want to compile Kraken because i can't find any version of Ceph for ARM 32bits, only Jewel and arm64.</p>
<p>I will try with the "master" branch, just in case, but i think that the "denc" refactoring appends before the actual state of the branch "kraken".</p>
<p>Romain</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=877192017-03-20T19:07:12ZRomain Gobinet
<ul></ul><p>With the "master" branch (wich compile Luminous and not Kraken by the way) i ended with the same error :</p>
<pre>
[ 4%] Building CXX object src/global/CMakeFiles/libglobal_objs.dir/signal_handler.cc.o
cd /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/global && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master/src -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/libglobal_objs.dir/signal_handler.cc.o -c /mnt/sda1/ceph-build/ceph-master/src/global/signal_handler.cc
-- Performing Test WARNING_UNDEF_ALLOWED - Success
Compiler flag -Wundef allowed
-- Performing Test WARNING_SHADOW_ALLOWED
-- Performing Test WARNING_SHADOW_ALLOWED - Success
Compiler flag -Wshadow allowed
-- Performing Test WARNING_CAST_ALIGN_ALLOWED
In file included from /mnt/sda1/ceph-build/ceph-master/src/include/encoding.h:25:0,
from /mnt/sda1/ceph-build/ceph-master/src/include/uuid.h:8,
from /mnt/sda1/ceph-build/ceph-master/src/include/types.h:21,
from /mnt/sda1/ceph-build/ceph-master/src/msg/msg_types.h:21,
from /mnt/sda1/ceph-build/ceph-master/src/osd/osd_types.h:31,
from /mnt/sda1/ceph-build/ceph-master/src/crush/CrushWrapper.cc:4:
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h: In instantiation of ‘typename std::enable_if<(traits:: supported && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::__cxx11::basic_string<char>; traits = denc_traits<std::__cxx11::basic_string<char>, void>; typename std::enable_if<(traits:: supported && (! traits:: featured))>::type = void; size_t = unsigned int]’:
/mnt/sda1/ceph-build/ceph-master/src/crush/CrushWrapper.cc:1410:40: required from here
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h:1385:24: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::__cxx11::basic_string<char>, void>’
traits::decode_nohead(num, o, cp);
</pre>
<p>So i think there is a compiling issue on armhf/armv7l whether for Kraken or Luminous.</p>
<p>Romain</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=878812017-03-23T01:59:02ZSebastien Luttringer
<ul></ul><p>I have tried with the 12.0.0 release (not the latest master) with the same error.</p>
<p>The issue seems to be triggered by the call of decode_nohead function in CrushWrapper.cc. The git blame of the line give a commit back to 2012.</p>
<p>Sage Weil, is the developer who commited the decode_nohead function in denc.h and also in previous definition in encoding_btree.h in 10.2.x.<br />Maybe he could help to understand what's happening if he's arround.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=878902017-03-23T07:55:16ZKefu Chaitchaikov@gmail.com
<ul></ul><p>could you give <a class="external" href="https://github.com/ceph/ceph/pull/14099">https://github.com/ceph/ceph/pull/14099</a> a try?</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=878972017-03-23T11:10:36ZRomain Gobinet
<ul></ul><pre>
[ 4%] Building CXX object src/CMakeFiles/crush.dir/crush/CrushWrapper.cc.o
cd /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master/src -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/crush.dir/crush/CrushWrapper.cc.o -c /mnt/sda1/ceph-build/ceph-master/src/crush/CrushWrapper.cc
[...]
arm-linux-gnueabihf-g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
src/CMakeFiles/crush.dir/build.make:161: recipe for target 'src/CMakeFiles/crush.dir/crush/CrushWrapper.cc.o' failed
make[4]: *** [src/CMakeFiles/crush.dir/crush/CrushWrapper.cc.o] Error 4
</pre>
<p>The pull request 14099 doesn't solve the issue. (I try with the master branch)</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879032017-03-23T14:00:46ZRomain Gobinet
<ul></ul><p>Anyway, depending on the compilations ("dpkg-buildpackage -j8" or "dpkg-buildpackage") we reach differents errors linked with encoding and "decode_nohead". And not only in CrushWrapper.cc.</p>
<pre>
[ 4%] Building CXX object src/CMakeFiles/common-objs.dir/msg/Message.cc.o
cd /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master/src -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/common-objs.dir/msg/Message.cc.o -c /mnt/sda1/ceph-build/ceph-master/src/msg/Message.cc
In file included from /mnt/sda1/ceph-build/ceph-master/src/include/encoding.h:25:0,
from /mnt/sda1/ceph-build/ceph-master/src/include/uuid.h:8,
from /mnt/sda1/ceph-build/ceph-master/src/include/types.h:21,
from /mnt/sda1/ceph-build/ceph-master/src/msg/Message.cc:12:
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h: In instantiation of ‘typename std::enable_if<(traits:: supported && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::__cxx11::basic_string<char>; traits = denc_traits<std::__cxx11::basic_string<char>, void>; typename std::enable_if<(traits:: supported && (! traits:: featured))>::type = void; size_t = unsigned int]’:
/mnt/sda1/ceph-build/ceph-master/src/messages/MOSDOp.h:435:46: required from here
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h:1385:24: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::__cxx11::basic_string<char>, void>’
traits::decode_nohead(num, o, cp);
^
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h: In instantiation of ‘typename std::enable_if<(traits:: supported && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = ceph::buffer::list; traits = denc_traits<ceph::buffer::list>; typename std::enable_if<(traits:: supported && (! traits:: featured))>::type = void; size_t = unsigned int]’:
/mnt/sda1/ceph-build/ceph-master/src/messages/MClientCaps.h:240:51: required from here
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h:1385:24: error: ‘decode_nohead’ is not a member of ‘denc_traits<ceph::buffer::list>’
src/CMakeFiles/common-objs.dir/build.make:1530: recipe for target 'src/CMakeFiles/common-objs.dir/msg/Message.cc.o' failed
make[4]: *** [src/CMakeFiles/common-objs.dir/msg/Message.cc.o] Error 1
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879352017-03-24T06:37:36ZKefu Chaitchaikov@gmail.com
<ul></ul><p>Romain,</p>
<blockquote>
<p>arm-linux-gnueabihf-g++: internal compiler error: Killed (program cc1plus)</p>
</blockquote>
<p>hmm, this is an issue of GCC. but i updated <a class="external" href="https://github.com/ceph/ceph/pull/14099">https://github.com/ceph/ceph/pull/14099</a> to address <a class="issue tracker-1 status-8 priority-4 priority-default closed" title="Bug: Unable to build 11.2.0 under i686 (Won't Fix)" href="https://tracker.ceph.com/issues/18938#note-8">#18938-8</a></p>
<p>could you give it another shot? thanks!</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879362017-03-24T06:38:18ZKefu Chaitchaikov@gmail.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Fix Under Review</i></li><li><strong>Assignee</strong> set to <i>Kefu Chai</i></li></ul> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879412017-03-24T11:32:18ZRomain Gobinet
<ul></ul><p>Sorry, it doesn't work :</p>
<pre>
[ 4%] Building CXX object src/CMakeFiles/common-objs.dir/msg/Message.cc.o
cd /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master/src -isystem /mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/common-objs.dir/msg/Message.cc.o -c /mnt/sda1/ceph-build/ceph-master/src/msg/Message.cc
In file included from /mnt/sda1/ceph-build/ceph-master/src/include/encoding.h:25:0,
from /mnt/sda1/ceph-build/ceph-master/src/include/uuid.h:8,
from /mnt/sda1/ceph-build/ceph-master/src/include/types.h:21,
from /mnt/sda1/ceph-build/ceph-master/src/msg/Message.cc:12:
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h: In instantiation of ‘typename std::enable_if<(traits:: supported && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = ceph::buffer::list; traits = denc_traits<ceph::buffer::list>; typename std::enable_if<(traits:: supported && (! traits:: featured))>::type = void; size_t = unsigned int]’:
/mnt/sda1/ceph-build/ceph-master/src/messages/MClientCaps.h:240:51: required from here
/mnt/sda1/ceph-build/ceph-master/src/include/denc.h:1396:24: error: ‘decode_nohead’ is not a member of ‘denc_traits<ceph::buffer::list>’
traits::decode_nohead(num, o, cp);
^
src/CMakeFiles/common-objs.dir/build.make:1530: recipe for target 'src/CMakeFiles/common-objs.dir/msg/Message.cc.o' failed
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879552017-03-24T23:22:36ZSebastien Luttringer
<ul></ul><p>Hi, is it possible to get a patch for the 11.2.0?</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879592017-03-25T04:08:34ZKefu Chaitchaikov@gmail.com
<ul></ul><blockquote>
<p>Sorry, it doesn't work :</p>
</blockquote>
<p>no, it does not. but if we look at the error messages closer. we have progress! i updated <a class="external" href="https://github.com/ceph/ceph/pull/14099">https://github.com/ceph/ceph/pull/14099</a> to address the new errors.</p>
<p>Romain, could you try it again? thanks!</p>
<blockquote>
<p>Hi, is it possible to get a patch for the 11.2.0?</p>
</blockquote>
<p>it's possible and we are working on it.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879772017-03-25T12:16:35ZRomain Gobinet
<ul></ul><p>It seems good for the "encoding" issues ! But ...</p>
<pre>
Scanning dependencies of target build_version
make[8]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/rocksdb'
make[8]: Entering directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/rocksdb'
[ 0%] Building CXX object CMakeFiles/build_version.dir/build_version.cc.o
arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-momit-leaf-frame-pointer’
CMakeFiles/build_version.dir/build.make:62: recipe for target 'CMakeFiles/build_version.dir/build_version.cc.o' failed
make[8]: *** [CMakeFiles/build_version.dir/build_version.cc.o] Error 1
make[8]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/rocksdb'
CMakeFiles/Makefile2:1818: recipe for target 'CMakeFiles/build_version.dir/all' failed
make[7]: *** [CMakeFiles/build_version.dir/all] Error 2
make[7]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/rocksdb'
CMakeFiles/Makefile2:2424: recipe for target 'CMakeFiles/rocksdb.dir/rule' failed
make[6]: *** [CMakeFiles/rocksdb.dir/rule] Error 2
make[6]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/rocksdb'
Makefile:896: recipe for target 'rocksdb' failed
make[5]: *** [rocksdb] Error 2
make[5]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf/src/rocksdb'
src/CMakeFiles/rocksdb_ext.dir/build.make:115: recipe for target 'src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-build' failed
make[4]: *** [src/rocksdb_ext-prefix/src/rocksdb_ext-stamp/rocksdb_ext-build] Error 2
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf'
CMakeFiles/Makefile2:1544: recipe for target 'src/CMakeFiles/rocksdb_ext.dir/all' failed
make[3]: *** [src/CMakeFiles/rocksdb_ext.dir/all] Error 2
make[3]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf'
Makefile:141: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/mnt/sda1/ceph-build/ceph-master/obj-arm-linux-gnueabihf'
cd /mnt/sda1/ceph-build/ceph-master
dh_auto_build: make -j1 returned exit code 2
debian/rules:29: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/mnt/sda1/ceph-build/ceph-master'
debian/rules:22: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
</pre>
<p>Another GCC issue probably :(</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879782017-03-25T15:39:11ZKefu Chaitchaikov@gmail.com
<ul></ul><blockquote>
<p>arm-linux-gnueabihf-g++: error: unrecognized command line option ‘-momit-leaf-frame-pointer’</p>
</blockquote>
<p>not it's not, this option is not supported on all architectures, let me fix it. hold on!</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879792017-03-25T15:48:00ZKefu Chaitchaikov@gmail.com
<ul></ul><p>Romain, have you updated the rocksdb submodule?<br />could you post the output of following command?</p>
<pre>
cd src/rocksdb
git describe
</pre>
<p>in my source tree, it's</p>
<pre>
$ git describe
v4.9-728-g3b4ac807
</pre>
<p>and could you run this command under your ceph source tree?<br /><pre>
git submodule update --init --recursive --force
</pre></p>
<p>it will sync up the submodules.</p>
<p>because we do check the availability of "-momit-leaf-frame-pointer" before using it.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879802017-03-25T19:04:39ZRomain Gobinet
<ul></ul><p>It's a little bit weird :</p>
<pre>
# cd src/rocksdb/
# git describe
2.7.fb-4804-g3b4ac80
# cd -
# git submodule update --init --recursive --force
[...]
Submodule path 'src/rocksdb': checked out '3b4ac8076bff9fd6a8b4ccbc37a1995d08981840'
[...]
# cd src/rocksdb
# git describe
2.7.fb-4804-g3b4ac80
</pre>
<p>I've already synced the submodules when i switched from "kraken" to "master" branch. (since <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: BUG at fs/ceph/caps.c:2178 (Closed)" href="https://tracker.ceph.com/issues/2">#2</a> you asked me to test with "master")</p>
<pre>
# git describe
v12.0.0-1660-g72097c7
# git branch -v
kraken 98a87fa Merge pull request #13501 from shinobu-x/wip-18371-kraken
* master 72097c7 Merge pull request #14004 from liewegas/wip-osd-full-failsafe
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879822017-03-26T10:23:16ZKefu Chaitchaikov@gmail.com
<ul></ul><p>if the rocksdb is at 3b4ac8076bff9fd6a8b4ccbc37a1995d08981840, then we are good. could you try again after you ran "git submodule update --init --recursive --force"?</p>
<p>if it does not work, could you nuke your build directory and try again? i believe the commit of rocksdb referenced by ceph's master does contain <a class="external" href="https://github.com/facebook/rocksdb/commit/4e35ffdfab1c86487cdad33d8eebf29ee3ceee04">https://github.com/facebook/rocksdb/commit/4e35ffdfab1c86487cdad33d8eebf29ee3ceee04</a>, which addresses the issue you run into.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879832017-03-26T10:27:19Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Hi,</p>
<p>I'm happy that found this bug thread :) not I'm the only crazy to try build on arm.</p>
$ git branch -v
<ul>
<li>kraken 98a87fa Merge pull request <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: github closes PRs spookily at a distance (Closed)" href="https://tracker.ceph.com/issues/13501">#13501</a> from shinobu-x/wip-18371-kraken<br />$ git describe <br />v11.2.0-67-g98a87fa<br />/src/rocksdb $ git describe <br />2.7.fb-4607-ga0deec9</li>
</ul>
<p>But I have a little different error message on end:</p>
<p>I gave a ./run-make-check.sh from copied git. This is a correct way?</p>
<p>[ 4%] Building CXX object src/librados/CMakeFiles/librados_objs.dir/IoCtxImpl.cc.o<br />In file included from /home/pi/ceph_kraken/ceph/src/include/encoding.h:25:0,<br /> from /home/pi/ceph_kraken/ceph/src/include/uuid.h:8,<br /> from /home/pi/ceph_kraken/ceph/src/include/types.h:21,<br /> from /home/pi/ceph_kraken/ceph/src/msg/Message.h:26,<br /> from /home/pi/ceph_kraken/ceph/src/msg/Messenger.h:23,<br /> from /home/pi/ceph_kraken/ceph/src/osdc/ObjectCacher.cc:6:<br />/home/pi/ceph_kraken/ceph/src/include/denc.h: In instantiation of ‘typename std::enable_if<((traits:: supported 1) && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::basic_string&lt;char&gt;; traits = denc_traits&lt;std::basic_string&lt;char&gt; >; typename std::enable_if<((traits:: supported 1) && (! traits:: featured))>::type = void; size_t = unsigned int]’:<br />/home/pi/ceph_kraken/ceph/src/messages/MOSDOp.h:397:41: required from here<br />/home/pi/ceph_kraken/ceph/src/include/denc.h:1337:35: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::basic_string<char> >’<br /> traits::decode_nohead(num, o, cp);<br /> ^<br />In file included from /home/pi/ceph_kraken/ceph/src/include/encoding.h:25:0,<br /> from /home/pi/ceph_kraken/ceph/src/common/entity_name.h:22,<br /> from /home/pi/ceph_kraken/ceph/src/common/config.h:26,<br /> from /home/pi/ceph_kraken/ceph/src/common/dout.h:20,<br /> from /home/pi/ceph_kraken/ceph/src/include/Context.h:19,<br /> from /home/pi/ceph_kraken/ceph/src/common/Cond.h:22,<br /> from /home/pi/ceph_kraken/ceph/src/librados/IoCtxImpl.h:18,<br /> from /home/pi/ceph_kraken/ceph/src/librados/IoCtxImpl.cc:17:<br />/home/pi/ceph_kraken/ceph/src/include/denc.h: In instantiation of ‘typename std::enable_if<((traits:: supported 1) && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::basic_string&lt;char&gt;; traits = denc_traits&lt;std::basic_string&lt;char&gt; >; typename std::enable_if<((traits:: supported 1) && (! traits:: featured))>::type = void; size_t = unsigned int]’:<br />/home/pi/ceph_kraken/ceph/src/messages/MOSDOp.h:397:41: required from here<br />/home/pi/ceph_kraken/ceph/src/include/denc.h:1337:35: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::basic_string<char> >’<br /> traits::decode_nohead(num, o, cp);<br /> ^<br />src/osdc/CMakeFiles/osdc_rbd_objs.dir/build.make:62: recipe for target 'src/osdc/CMakeFiles/osdc_rbd_objs.dir/ObjectCacher.cc.o' failed<br />make<sup><a href="#fn3">3</a></sup>: <b>* [src/osdc/CMakeFiles/osdc_rbd_objs.dir/ObjectCacher.cc.o] Error 1<br />CMakeFiles/Makefile2:3471: recipe for target 'src/osdc/CMakeFiles/osdc_rbd_objs.dir/all' failed<br />make<sup><a href="#fn2">2</a></sup>: <strong></b> [src/osdc/CMakeFiles/osdc_rbd_objs.dir/all] Error 2<br />make<sup><a href="#fn2">2</a></sup>: <b></strong> Waiting for unfinished jobs....<br />[ 4%] Building CXX object src/librados/CMakeFiles/librados_objs.dir/RadosXattrIter.cc.o<br />[ 4%] Building CXX object src/librados/CMakeFiles/librados_objs.dir/RadosClient.cc.o<br />src/librados/CMakeFiles/librados_objs.dir/build.make:62: recipe for target 'src/librados/CMakeFiles/librados_objs.dir/IoCtxImpl.cc.o' failed<br />make<sup><a href="#fn3">3</a></sup>: <strong></b> [src/librados/CMakeFiles/librados_objs.dir/IoCtxImpl.cc.o] Error 1<br />make<sup><a href="#fn3">3</a></sup>: <b></strong> Waiting for unfinished jobs....<br />In file included from /home/pi/ceph_kraken/ceph/src/include/encoding.h:25:0,<br /> from /home/pi/ceph_kraken/ceph/src/common/entity_name.h:22,<br /> from /home/pi/ceph_kraken/ceph/src/common/config.h:26,<br /> from /home/pi/ceph_kraken/ceph/src/librados/RadosClient.cc:26:<br />/home/pi/ceph_kraken/ceph/src/include/denc.h: In instantiation of ‘typename std::enable_if<((traits:: supported 1) && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::basic_string&lt;char&gt;; traits = denc_traits&lt;std::basic_string&lt;char&gt; >; typename std::enable_if<((traits:: supported 1) && (! traits:: featured))>::type = void; size_t = unsigned int]’:<br />/home/pi/ceph_kraken/ceph/src/messages/MOSDOp.h:397:41: required from here<br />/home/pi/ceph_kraken/ceph/src/include/denc.h:1337:35: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::basic_string<char> >’<br /> traits::decode_nohead(num, o, cp);<br /> ^<br />src/librados/CMakeFiles/librados_objs.dir/build.make:110: recipe for target 'src/librados/CMakeFiles/librados_objs.dir/RadosClient.cc.o' failed<br />make<sup><a href="#fn3">3</a></sup>: <strong></b> [src/librados/CMakeFiles/librados_objs.dir/RadosClient.cc.o] Error 1<br />CMakeFiles/Makefile2:3552: recipe for target 'src/librados/CMakeFiles/librados_objs.dir/all' failed<br />make<sup><a href="#fn2">2</a></sup>: <b></strong> [src/librados/CMakeFiles/librados_objs.dir/all] Error 2<br />CMakeFiles/Makefile2:243: recipe for target 'CMakeFiles/tests.dir/rule' failed<br />make<sup><a href="#fn1">1</a></sup>: <strong></b> [CMakeFiles/tests.dir/rule] Error 2<br />Makefile:186: recipe for target 'tests' failed<br />make: *</strong>* [tests] Error 2</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879842017-03-26T10:35:59Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Oh sorry, I'm not formatted correctly my last message. Shame on me.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879942017-03-26T15:36:36ZRomain Gobinet
<ul></ul><p>Kefu,</p>
<p>There was an issue with my source tree, so i create a fresh one (with <a class="external" href="https://github.com/ceph/ceph/pull/14099">https://github.com/ceph/ceph/pull/14099</a> applied). I confirm that the commit of rocksdb referenced by ceph's master does contain <a class="external" href="https://github.com/facebook/rocksdb/commit/4e35ffdfab1c86487cdad33d8eebf29ee3ceee04">https://github.com/facebook/rocksdb/commit/4e35ffdfab1c86487cdad33d8eebf29ee3ceee04</a> .</p>
<p>But i can't explain why a "git submodule ... --force" doesn't to the trick.</p>
<p>By the way there is another issue with ARM compilation ;)</p>
<p>Here are the output :</p>
<pre>
[ 20%] Building CXX object src/osd/CMakeFiles/osd.dir/OSD.cc.o
cd /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/osd && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/osd.dir/OSD.cc.o -c /mnt/sda1/ceph-build/ceph-master-reloaded/src/osd/OSD.cc
arm-linux-gnueabihf-g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
src/osd/CMakeFiles/osd.dir/build.make:65: recipe for target 'src/osd/CMakeFiles/osd.dir/OSD.cc.o' failed
</pre>
<p>It seems to be a GCC problem :(</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=879952017-03-26T15:43:28ZRomain Gobinet
<ul></ul><p>Ok ... shame on me, after reading the kernel log :</p>
<pre>
Out of memory: Kill process 15983 (cc1plus) score 671 or sacrifice child
</pre>
<p>I try to compile on a small SBC and i forgot to setup a swap ...</p>
<p>I will do what is necessary and keep you informed.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880082017-03-26T19:02:35ZRomain Gobinet
<ul></ul><p>It's better with swap :) It takes a very long time to compile on such a small device.</p>
<p>And it failed again (sig) but in a diferent way this time and further than before (39% !!) :</p>
<pre>
[ 39%] Building CXX object src/librbd/CMakeFiles/rbd_internal.dir/io/ImageRequest.cc.o
cd /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/librbd && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/rbd_internal.dir/io/ImageRequest.cc.o -c /mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/io/ImageRequest.cc
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/io/ImageRequest.cc: In instantiation of ‘int librbd::io::ImageRequest<ImageCtxT>::clip_request() [with ImageCtxT = librbd::ImageCtx]’:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/io/ImageRequest.cc:832:28: required from here
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/io/ImageRequest.cc:184:20: error: cannot convert ‘size_t* {aka unsigned int*}’ to ‘uint64_t* {aka long long unsigned int*}’ for argument ‘3’ to ‘int librbd::clip_io(librbd::ImageCtx*, uint64_t, uint64_t*)’
int r = clip_io(get_image_ctx(&m_image_ctx), image_extent.first, &clip_len);
^
src/librbd/CMakeFiles/rbd_internal.dir/build.make:1025: recipe for target 'src/librbd/CMakeFiles/rbd_internal.dir/io/ImageRequest.cc.o' failed
make[4]: *** [src/librbd/CMakeFiles/rbd_internal.dir/io/ImageRequest.cc.o] Error 1
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
CMakeFiles/Makefile2:19974: recipe for target 'src/librbd/CMakeFiles/rbd_internal.dir/all' failed
make[3]: *** [src/librbd/CMakeFiles/rbd_internal.dir/all] Error 2
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880092017-03-26T19:57:27Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Hi Romain, Kefu,</p>
<p>I have made a total new local source:</p>
<pre>
git clone git://github.com/ceph/ceph
git submodule update --init --recursive --force
git apply --stat {path}/14099.patch
</pre>
<p>but as far I see, something different on end:</p>
<pre>
ceph $ git describe
v12.0.0-1788-gb894dc6
ceph/src/rocksdb $ git describe
2.7.fb-4804-g3b4ac80
</pre>
<p>Can you help me, what have I made wrong?</p>
<p>Thanks</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880102017-03-26T20:35:57ZRomain Gobinet
<ul></ul><p>Nothing wrong, i've almost the same here !</p>
<p>v12.0.0-1739-g9de1f1a and 2.7.fb-4804-g3b4ac80, that's great but it failed to compile.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880112017-03-26T21:04:45Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Thanks Romain,</p>
<p>The only difference yet I see, my compile process fails at 4%... (encoding, nohead. etc.) My git apply for 14099 is correct so? (that changed some files as far I see :) )..</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880132017-03-26T22:17:46Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Hi,</p>
<pre><code>An interesting status:<br />on brand new hdd, new source taken.<br /><pre>
git clone https://github.com/ceph/ceph
git apply {path}/14099.patch
</pre><br />and now check what we have:<br /><pre>
ceph $ git describe
v12.0.0-1788-gb894dc6
ceph/src/rocksdb $ git describe
v12.0.0-1788-gb894dc
</pre></code></pre>
<p>That should be without submodule update?<br />now I gave out easy: dpkg-buildpackage -j8</p>
<p>let see :)</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880162017-03-27T04:18:18ZKefu Chaitchaikov@gmail.com
<ul></ul><p>good news, everyone! we are close.</p>
<p>@Romain, since <a class="external" href="https://github.com/ceph/ceph/pull/14099">https://github.com/ceph/ceph/pull/14099</a> is pulled by Sage into his testing branch for testing, and the new issue resides in RBD, i am posting another fix at <a class="external" href="https://github.com/ceph/ceph/pull/14159">https://github.com/ceph/ceph/pull/14159</a>.</p>
<p>you need to apply both fixes to try to compile Ceph on ARM32.</p>
<p>@gyorgy, i agree with Romain, you did nothing wrong at <a class="issue tracker-1 status-8 priority-4 priority-default closed" title="Bug: Unable to build 11.2.0 under i686 (Won't Fix)" href="https://tracker.ceph.com/issues/18938#note-24">#18938-24</a>. the reason that the compilation error'ed out earlier than Romain is probably the uncertainness caused by parallelism, where one of the compilation jobs reached the decode_nohead issue earlier. just you were not lucky in that run. and in <a class="issue tracker-1 status-8 priority-4 priority-default closed" title="Bug: Unable to build 11.2.0 under i686 (Won't Fix)" href="https://tracker.ceph.com/issues/18938#note-27">#18938-27</a>, you didn't update the submodule, which will lead to a build failure earlier =(</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880582017-03-27T20:13:42Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Hi Kefu, Hi Romain</p>
<p>I gave a try:</p>
<pre>
pi@node1:~/dev/ceph_kraken $ git clone git://github.com/ceph/ceph
Cloning into 'ceph'...
remote: Counting objects: 484034, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 484034 (delta 5), reused 0 (delta 0), pack-reused 484024
Receiving objects: 100% (484034/484034), 193.98 MiB | 1.34 MiB/s, done.
Resolving deltas: 100% (381406/381406), done.
Checking connectivity... done.
pi@node1:~/dev/ceph_kraken $ git submodule update --init --recursive --force
...
pi@node1:~/dev/ceph_kraken/ceph $ git apply --stat ../../../14099.patch
src/include/denc.h | 13 ++++++++-----
src/include/denc.h | 19 +++++++++++++++++++
src/test/encoding.cc | 34 ++++++++++++++++++++++++++++++++++
3 files changed, 61 insertions(+), 5 deletions(-)
pi@node1:~/dev/ceph_kraken/ceph $ git apply --stat ../../../14159.patch
src/librbd/io/ImageRequest.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
pi@node1:~/dev/ceph_kraken/ceph $ git describe
v12.0.0-1803-g52468ae
pi@node1:~/dev/ceph_kraken/ceph/src/rocksdb $ git describe
2.7.fb-4804-g3b4ac80
pi@node1:~/dev/ceph_kraken/ceph $ vi install-deps.sh
(insert raspbian as known os)
pi@node1:~/dev/ceph_kraken/ceph $ ./run-make-check.sh
Checking hostname sanity... OK
[ 2%] Building CXX object src/osdc/CMakeFiles/osdc_rbd_objs.dir/Striper.cc.o
In file included from /home/pi/dev/ceph_kraken/ceph/src/include/encoding.h:25:0
... fail ...
</pre>
<p>ok something was wrong. I nuked everything again...<br />next shoot, lets see without parallism, and on the good-old way:</p>
<pre>
pi@node1:~/dev/ceph_kraken $ git clone git://github.com/ceph/ceph
pi@node1:~/dev/ceph_kraken $ git submodule update --init --recursive --force
pi@node1:~/dev/ceph_kraken/ceph $ git apply --stat ../../../14099.patch
pi@node1:~/dev/ceph_kraken/ceph $ git apply --stat ../../../14159.patch
pi@node1:~/dev/ceph_kraken/ceph $ dpkg-buildpackage
</pre>
<p>it runs now, :) I will send the result.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880612017-03-27T21:04:16Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Hello,</p>
<p>here is my result...<br />what should I check now?</p>
<pre>
[ 1%] Building CXX object src/CMakeFiles/common-objs.dir/crush/CrushWrapper.cc.o
cd /home/pi/dev/ceph_kraken/ceph/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /home/pi/dev/ceph_kraken/ceph/obj-arm-linux-gnueabihf/boost/include -I/home/pi/dev/ceph_kraken/ceph/obj-arm-linux-gnueabihf/src/include -I/home/pi/dev/ceph_kraken/ceph/src -isystem /home/pi/dev/ceph_kraken/ceph/obj-arm-linux-gnueabihf/include -I/home/pi/dev/ceph_kraken/ceph/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fPIC -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/common-objs.dir/crush/CrushWrapper.cc.o -c /home/pi/dev/ceph_kraken/ceph/src/crush/CrushWrapper.cc
In file included from /home/pi/dev/ceph_kraken/ceph/src/include/encoding.h:25:0,
from /home/pi/dev/ceph_kraken/ceph/src/include/uuid.h:8,
from /home/pi/dev/ceph_kraken/ceph/src/include/types.h:21,
from /home/pi/dev/ceph_kraken/ceph/src/msg/msg_types.h:21,
from /home/pi/dev/ceph_kraken/ceph/src/osd/osd_types.h:31,
from /home/pi/dev/ceph_kraken/ceph/src/crush/CrushWrapper.cc:4:
/home/pi/dev/ceph_kraken/ceph/src/include/denc.h: In instantiation of ‘typename std::enable_if<(traits:: supported && (! traits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::basic_string<char>; traits = denc_traits<std::basic_string<char>, void>; typename std::enable_if<(traits:: supported && (! traits:: featured))>::type = void; size_t = unsigned int]’:
/home/pi/dev/ceph_kraken/ceph/src/crush/CrushWrapper.cc:1412:40: required from here
/home/pi/dev/ceph_kraken/ceph/src/include/denc.h:1398:35: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::basic_string<char>, void>’
traits::decode_nohead(num, o, cp);
^
src/CMakeFiles/common-objs.dir/build.make:546: recipe for target 'src/CMakeFiles/common-objs.dir/crush/CrushWrapper.cc.o' failed
make[4]: *** [src/CMakeFiles/common-objs.dir/crush/CrushWrapper.cc.o] Error 1
make[4]: Leaving directory '/home/pi/dev/ceph_kraken/ceph/obj-arm-linux-gnueabihf'
CMakeFiles/Makefile2:764: recipe for target 'src/CMakeFiles/common-objs.dir/all' failed
make[3]: *** [src/CMakeFiles/common-objs.dir/all] Error 2
make[3]: Leaving directory '/home/pi/dev/ceph_kraken/ceph/obj-arm-linux-gnueabihf'
Makefile:141: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/pi/dev/ceph_kraken/ceph/obj-arm-linux-gnueabihf'
cd /home/pi/dev/ceph_kraken/ceph
dh_auto_build: make -j1 returned exit code 2
debian/rules:33: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/home/pi/dev/ceph_kraken/ceph'
debian/rules:26: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
pi@node1:~/dev/ceph_kraken/ceph $
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880732017-03-28T04:33:40ZRomain Gobinet
<ul></ul><p>Hi Kefu,</p>
<p>The pull request 14159do the job but the compilation failed another way, hare are some traces.</p>
<p>The first compilation thread gave this :</p>
<pre>
[ 69%] Building CXX object src/test/rbd_mirror/CMakeFiles/unittest_rbd_mirror.dir/test_mock_PoolWatcher.cc.o
cd /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/test/rbd_mirror && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/xxHash -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIE -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/googletest/googlemock/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/googletest/googletest/include -fno-strict-aliasing -std=c++11 -o CMakeFiles/unittest_rbd_mirror.dir/test_mock_PoolWatcher.cc.o -c /mnt/sda1/ceph-build/ceph-master-reloaded/src/test/rbd_mirror/test_mock_PoolWatcher.cc
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o:(.rodata+0x3e98): multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::ReplayHandler'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:(.rodata+0x65a4): first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::ReplayHandler'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/type_index/stl_type_index.hpp:203: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `testing::internal::scoped_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~scoped_ptr()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-port.h:1120: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::MetadataListener'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/usr/include/c++/5/bits/basic_ios.h:282: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::MetadataListener'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `Cond::~Cond()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/common/Cond.h:44: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::C_OpEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_Journal.cc:56: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:399: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::C_OpEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `testing::AssertionResult::message() const':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/gtest.h:298: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::C_IOEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/journal/mock/MockJournaler.h:83: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:307: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::C_IOEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:401: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `testing::AssertionResult testing::internal::EqHelper<true>::Compare<int, int>(char const*, char const*, int const&, int const&, testing::internal::EnableIf<!testing::internal::is_pointer<int>::value>::type*)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/gtest.h:1459: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::C_ReplayProcessSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/journal/mock/MockJournaler.h:58: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:286: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::C_ReplayProcessSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:307: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o:(.rodata+0x3418): multiple definition of `typeinfo name for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:(.rodata+0x1b7c): first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~C_StateCallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:59: multiple definition of `typeinfo for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `rados_state_callback<librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>, &librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>::handle_set_features, true>':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:38: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:339: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~C_StateCallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:59: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `rados_state_callback<librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>, &librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>::handle_set_features, true>':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:43: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:172: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~C_CallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:46: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `send_close_journal':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/operation/DisableFeaturesRequest.cc:351: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:93: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~MonomorphicImpl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-actions.h:438: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `C_StateCallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:62: multiple definition of `typeinfo name for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:252: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~gmock_Impl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_fixture.h:41: multiple definition of `typeinfo for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o:(.rodata+0x3020): multiple definition of `typeinfo name for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `~gmock_Impl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_fixture.h:41: multiple definition of `typeinfo for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `expect_block_requests':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc:232: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:339: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `~gmock_Impl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_fixture.h:41: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `testing::internal::MatcherBase<int>::~MatcherBase()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:294: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:172: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:210: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `testing::Matcher<int>::Matcher(int)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:294: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:93: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:215: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `librbd::AsyncRequest<librbd::MockImageCtx>::finish(int)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/AsyncRequest.h:59: multiple definition of `typeinfo name for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:252: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:221: multiple definition of `typeinfo for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
[...many pages of this...]
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `manage':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:404: multiple definition of `typeinfo for librbd::operation::Request<librbd::MockImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:328: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `expect_get_object_name':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc:124: multiple definition of `typeinfo name for librbd::operation::Request<librbd::MockImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:296: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `manager':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:360: multiple definition of `typeinfo for librbd::operation::Request<librbd::MockImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:859: first defined here
collect2: error: ld returned 1 exit status
src/test/librbd/CMakeFiles/unittest_librbd.dir/build.make:1208: recipe for target 'bin/unittest_librbd' failed
make[4]: *** [bin/unittest_librbd] Error 1
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
CMakeFiles/Makefile2:15017: recipe for target 'src/test/librbd/CMakeFiles/unittest_librbd.dir/all' failed
make[3]: *** [src/test/librbd/CMakeFiles/unittest_librbd.dir/all] Error 2
</pre>
<p>The second one :</p>
<pre>
[...]
CMakeFiles/unittest_rbd_mirror.dir/test_mock_ImageReplayer.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd_mirror/ImageReplayer.cc:96: first defined here
CMakeFiles/unittest_rbd_mirror.dir/test_mock_ImageSyncThrottler.cc.o: In function `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)':
/usr/include/c++/5/ostream:561: multiple definition of `typeinfo name for rbd::mirror::ImageSyncThrottler<librbd::ImageCtx>::C_SyncHolder'
CMakeFiles/unittest_rbd_mirror.dir/test_mock_ImageReplayer.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd_mirror/ImageReplayer.cc:1536: first defined here
CMakeFiles/unittest_rbd_mirror.dir/test_mock_ImageSyncThrottler.cc.o: In function `operator()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/rbd_mirror/test_mock_ImageSyncThrottler.cc:73: multiple definition of `typeinfo for rbd::mirror::ImageSyncThrottler<librbd::ImageCtx>::C_SyncHolder'
CMakeFiles/unittest_rbd_mirror.dir/test_mock_ImageReplayer.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd_mirror/ImageReplayer.cc:110: first defined here
collect2: error: ld returned 1 exit status
src/test/rbd_mirror/CMakeFiles/unittest_rbd_mirror.dir/build.make:581: recipe for target 'bin/unittest_rbd_mirror' failed
make[4]: *** [bin/unittest_rbd_mirror] Error 1
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
CMakeFiles/Makefile2:18078: recipe for target 'src/test/rbd_mirror/CMakeFiles/unittest_rbd_mirror.dir/all' failed
make[3]: *** [src/test/rbd_mirror/CMakeFiles/unittest_rbd_mirror.dir/all] Error 2
</pre>
<p>RG</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=880772017-03-28T09:09:10ZKefu Chaitchaikov@gmail.com
<ul></ul><p>@gyorgy, i think <a class="external" href="https://github.com/ceph/ceph/pull/14099">https://github.com/ceph/ceph/pull/14099</a> should address your issue. could you double check it?</p>
<p>@Romain, looks like a bug in GCC, see <a class="external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608029">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608029</a>. what is the GCC version you are using?</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881082017-03-28T17:26:12ZRomain Gobinet
<ul></ul><p>Hi !</p>
<p>I've done a mono threaded retry (just in case ...) :</p>
<pre>
[ 53%] Building CXX object src/tools/rbd/CMakeFiles/rbd.dir/action/Import.cc.o
cd /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/tools/rbd && /usr/bin/arm-linux-gnueabihf-g++ -DCEPH_LIBDIR=\"/usr/lib\" -DCEPH_PKGLIBDIR=\"/usr/lib/ceph\" -D__linux__ -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src -isystem /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/include -I/mnt/sda1/ceph-build/ceph-master-reloaded/src/xxHash -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -fPIE -DHAVE_CONFIG_H -D__CEPH__ -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -std=c++11 -o CMakeFiles/rbd.dir/action/Import.cc.o -c /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc: In function ‘int rbd::action::import::skip_tag(int, uint64_t)’:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:262:43: error: no matching function for call to ‘min(uint64_t&, unsigned int)’
uint64_t len = min(length, sizeof(buf));
^
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/ArgumentTypes.h:8,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:4:
/usr/include/c++/5/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^
/usr/include/c++/5/bits/stl_algobase.h:195:5: note: template argument deduction/substitution failed:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:262:43: note: deduced conflicting types for parameter ‘const _Tp’ (‘long long unsigned int’ and ‘unsigned int’)
uint64_t len = min(length, sizeof(buf));
[...]
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc: In function ‘int rbd::action::import::do_import_v1(int, librbd::Image&, uint64_t, size_t, rbd::utils::ProgressContext&)’:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:609:28: error: no matching function for call to ‘min(size_t&, uint64_t&)’
reqlen = min(reqlen, size);
^
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/ArgumentTypes.h:8,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:4:
/usr/include/c++/5/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
min(const _Tp& __a, const _Tp& __b)
^
/usr/include/c++/5/bits/stl_algobase.h:195:5: note: template argument deduction/substitution failed:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:609:28: note: deduced conflicting types for parameter ‘const _Tp’ (‘unsigned int’ and ‘uint64_t {aka long long unsigned int}’)
reqlen = min(reqlen, size);
^
In file included from /usr/include/c++/5/bits/stl_tree.h:63:0,
from /usr/include/c++/5/set:60,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/ArgumentTypes.h:8,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:4:
/usr/include/c++/5/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/usr/include/c++/5/bits/stl_algobase.h:243:5: note: template argument deduction/substitution failed:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:609:28: note: deduced conflicting types for parameter ‘const _Tp’ (‘unsigned int’ and ‘uint64_t {aka long long unsigned int}’)
reqlen = min(reqlen, size);
^
In file included from /usr/include/c++/5/algorithm:62:0,
from /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/any.hpp:17,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/ArgumentTypes.h:11,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:4:
/usr/include/c++/5/bits/stl_algo.h:3445:5: note: candidate: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)
min(initializer_list<_Tp> __l)
^
/usr/include/c++/5/bits/stl_algo.h:3445:5: note: template argument deduction/substitution failed:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:609:28: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘unsigned int’
reqlen = min(reqlen, size);
^
In file included from /usr/include/c++/5/algorithm:62:0,
from /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/any.hpp:17,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/ArgumentTypes.h:11,
from /mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:4:
/usr/include/c++/5/bits/stl_algo.h:3451:5: note: candidate: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)
min(initializer_list<_Tp> __l, _Compare __comp)
^
/usr/include/c++/5/bits/stl_algo.h:3451:5: note: template argument deduction/substitution failed:
/mnt/sda1/ceph-build/ceph-master-reloaded/src/tools/rbd/action/Import.cc:609:28: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘unsigned int’
reqlen = min(reqlen, size);
^
src/tools/rbd/CMakeFiles/rbd.dir/build.make:497: recipe for target 'src/tools/rbd/CMakeFiles/rbd.dir/action/Import.cc.o' failed
make[4]: *** [src/tools/rbd/CMakeFiles/rbd.dir/action/Import.cc.o] Error 1
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
CMakeFiles/Makefile2:19538: recipe for target 'src/tools/rbd/CMakeFiles/rbd.dir/all' failed
make[3]: *** [src/tools/rbd/CMakeFiles/rbd.dir/all] Error 2
make[3]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
Makefile:141: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
cd /mnt/sda1/ceph-build/ceph-master-reloaded
dh_auto_build: make -j1 returned exit code 2
debian/rules:33: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded'
debian/rules:26: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
</pre>
<p>Here is my gcc/lib's/utils version :</p>
<pre>
ii gcc 4:5.3.1-1ubuntu1 armhf GNU C compiler
ii gcc-5 5.4.0-6ubuntu1~16.04.4 armhf GNU C compiler
ii gcc-5-base:armhf 5.4.0-6ubuntu1~16.04.4 armhf GCC, the GNU Compiler Collection (base package)
ii gcc-6-base:armhf 6.0.1-0ubuntu1 armhf GCC, the GNU Compiler Collection (base package)
ii libgcc-5-dev:armhf 5.4.0-6ubuntu1~16.04.4 armhf GCC support library (development files)
ii libgcc1:armhf 1:6.0.1-0ubuntu1 armhf GCC support library
ii g++ 4:5.3.1-1ubuntu1 armhf GNU C++ compiler
ii g++-5 5.4.0-6ubuntu1~16.04.4 armhf GNU C++ compiler
ii libstdc++-5-dev:armhf 5.4.0-6ubuntu1~16.04.4 armhf GNU Standard C++ Library v3 (development files)
ii libstdc++6:armhf 5.4.0-6ubuntu1~16.04.4 armhf GNU Standard C++ Library v3
ii libc-bin 2.23-0ubuntu7 armhf GNU C Library: Binaries
ii libc-dev-bin 2.23-0ubuntu7 armhf GNU C Library: Development binaries
ii libc6:armhf 2.23-0ubuntu7 armhf GNU C Library: Shared libraries
ii libc6-dbg:armhf 2.23-0ubuntu7 armhf GNU C Library: detached debugging symbols
ii libc6-dev:armhf 2.23-0ubuntu7 armhf GNU C Library: Development Libraries and Header Files
ii cmake 3.5.1-1ubuntu3 armhf cross-platform, open-source make system
ii cmake-data 3.5.1-1ubuntu3 all CMake data files (modules, templates and documentation)
ii make 4.1-6 armhf utility for directing compilation
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881102017-03-28T18:10:33ZKefu Chaitchaikov@gmail.com
<ul></ul><p><a class="external" href="https://github.com/ceph/ceph/pull/14202">https://github.com/ceph/ceph/pull/14202</a> is posted to address the above building .</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881162017-03-28T18:43:59Zgyorgy kisshkicsi@gmail.com
<ul></ul><p>Hi,</p>
<p>I double checked the source. It should be applied as far I see in source files.<br />I think there is the main difference for me: I am on raspbian base. I have cmake newer(?) but everthing other is much lower than Romain. Than my plan now change to ubuntu too (at least for a test, I dont want to update all dependencies for raspbian, I will play with ceph :) )</p>
<p>there the gcc and others:<br /><pre>
ii gcc 4:4.9.2-2 armhf GNU C compiler
ii gcc-4.6-base:armhf 4.6.4-5+rpi1 armhf GCC, the GNU Compiler Collection (base package)
ii gcc-4.7-base:armhf 4.7.3-11+rpi1 armhf GCC, the GNU Compiler Collection (base package)
ii gcc-4.8-base:armhf 4.8.4-1 armhf GCC, the GNU Compiler Collection (base package)
ii gcc-4.9 4.9.2-10 armhf GNU C compiler
ii gcc-4.9-base:armhf 4.9.2-10 armhf GCC, the GNU Compiler Collection (base package)
ii libgcc-4.9-dev:armhf 4.9.2-10 armhf GCC support library (development files)
ii libgcc1:armhf 1:4.9.2-10 armhf GCC support library
ii gcc 4:4.9.2-2 armhf GNU C compiler
ii gcc-4.6-base:armhf 4.6.4-5+rpi1 armhf GCC, the GNU Compiler Collection (base package)
ii gcc-4.7-base:armhf 4.7.3-11+rpi1 armhf GCC, the GNU Compiler Collection (base package)
ii gcc-4.8-base:armhf 4.8.4-1 armhf GCC, the GNU Compiler Collection (base package)
ii gcc-4.9 4.9.2-10 armhf GNU C compiler
ii gcc-4.9-base:armhf 4.9.2-10 armhf GCC, the GNU Compiler Collection (base package)
ii libgcc-4.9-dev:armhf 4.9.2-10 armhf GCC support library (development files)
ii libgcc1:armhf 1:4.9.2-10 armhf GCC support library
ii libc-bin 2.19-18+deb8u7 armhf GNU C Library: Binaries
ii libc-dev-bin 2.19-18+deb8u7 armhf GNU C Library: Development binaries
ii libc6:armhf 2.19-18+deb8u7 armhf GNU C Library: Shared libraries
ii libc6-dbg:armhf 2.19-18+deb8u7 armhf GNU C Library: detached debugging symbols
ii libc6-dev:armhf 2.19-18+deb8u7 armhf GNU C Library: Development Libraries and Header Files
ii make 4.0-8.1 armhf utility for directing compilation
i libstdc++-4.9-dev:armhf 4.9.2-10 armhf GNU Standard C++ Library v3 (development files)
ii libstdc++6:armhf 4.9.2-10 armhf
ii g++ 4:4.9.2-2 armhf GNU C++ compiler
ii g++-4.9 4.9.2-10 armhf GNU C++ compiler
ii cmake 3.6.2-2~bpo8+1 armhf cross-platform, open-source make system
ii cmake-data 3.6.2-2~bpo8+1 all
</pre></p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881512017-03-28T23:57:42ZSebastien Luttringer
<ul></ul><p>Hi Kefu,</p>
<p>Did you progress on patch for 11.2.0?<br />I see the bug status was moved to Need Review, but I can't review nothing about the original BR (intel x86 / 11.2.0) or I missing something?</p>
<p>Cheers,</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881542017-03-29T01:55:29ZKefu Chaitchaikov@gmail.com
<ul></ul><p>@Sebastien, two PRs mentioned above</p>
<ul>
<li><a class="external" href="https://github.com/ceph/ceph/pull/14099">https://github.com/ceph/ceph/pull/14099</a></li>
<li><a class="external" href="https://github.com/ceph/ceph/pull/14159">https://github.com/ceph/ceph/pull/14159</a></li>
</ul>
<p>have been merged into master.</p>
<p>and <a class="external" href="https://github.com/ceph/ceph/pull/14202">https://github.com/ceph/ceph/pull/14202</a> is pending on review.</p>
<p>normally, we want to fix bugs on master and backport the fixes to stable branch later.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881552017-03-29T02:32:29ZKefu Chaitchaikov@gmail.com
<ul></ul><p>@gyorgy i am not sure why your building env failed to build the ceph source. and BTW, as <a class="issue tracker-1 status-8 priority-4 priority-default closed" title="Bug: Unable to build 11.2.0 under i686 (Won't Fix)" href="https://tracker.ceph.com/issues/18938#note-37">#18938-37</a> put, the first two fixes have been merged.</p>
<p>i have cmake 3.7.2 in my linux box. and i think gcc 4.9 is good enough for building the ceph master branch at the moment. as i don't have a arm32 machine around, i need to prepare a cross building env to reproduce your issue. i will give it a try later on, but it's not the first priority at this moment, so you might need to wait if the master just does not build for you.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881622017-03-29T04:26:03ZRomain Gobinet
<ul></ul><p>The result of PR 14202:</p>
<pre>
[ 80%] Linking CXX executable ../../../bin/unittest_librbd
cd /mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/src/test/librbd && /usr/bin/cmake -E cmake_link_script CMakeFiles/unittest_librbd.dir/link.txt --verbose=1
/usr/bin/arm-linux-gnueabihf-g++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -Wno-unknown-pragmas -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fdiagnostics-color=auto -I/usr/include/nss -I/usr/include/nspr -I/usr/include -Wl,-Bsymbolic-functions -Wl,-z,relro -pie CMakeFiles/unittest_librbd.dir/test_BlockGuard.cc.o CMakeFiles/unittest_librbd.dir/test_Groups.cc.o CMakeFiles/unittest_librbd.dir/test_main.cc.o CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o CMakeFiles/unittest_librbd.dir/test_mock_ExclusiveLock.cc.o CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o CMakeFiles/unittest_librbd.dir/test_mock_ManagedLock.cc.o CMakeFiles/unittest_librbd.dir/test_mock_ObjectMap.cc.o CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PreAcquireRequest.cc.o CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PreReleaseRequest.cc.o CMakeFiles/unittest_librbd.dir/image/test_mock_RefreshRequest.cc.o CMakeFiles/unittest_librbd.dir/image/test_mock_RemoveRequest.cc.o CMakeFiles/unittest_librbd.dir/io/test_mock_ImageRequest.cc.o CMakeFiles/unittest_librbd.dir/journal/test_mock_OpenRequest.cc.o CMakeFiles/unittest_librbd.dir/journal/test_mock_PromoteRequest.cc.o CMakeFiles/unittest_librbd.dir/journal/test_mock_Replay.cc.o CMakeFiles/unittest_librbd.dir/managed_lock/test_mock_AcquireRequest.cc.o CMakeFiles/unittest_librbd.dir/managed_lock/test_mock_BreakRequest.cc.o CMakeFiles/unittest_librbd.dir/managed_lock/test_mock_GetLockerRequest.cc.o CMakeFiles/unittest_librbd.dir/managed_lock/test_mock_ReacquireRequest.cc.o CMakeFiles/unittest_librbd.dir/managed_lock/test_mock_ReleaseRequest.cc.o CMakeFiles/unittest_librbd.dir/mirror/test_mock_DisableRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_InvalidateRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_LockRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_RefreshRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_ResizeRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_SnapshotCreateRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_SnapshotRemoveRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_SnapshotRollbackRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_UnlockRequest.cc.o CMakeFiles/unittest_librbd.dir/object_map/test_mock_UpdateRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_Request.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_ResizeRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotCreateRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotProtectRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRemoveRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotUnprotectRequest.cc.o CMakeFiles/unittest_librbd.dir/watcher/test_mock_RewatchRequest.cc.o ../../CMakeFiles/common_texttable_obj.dir/common/TextTable.cc.o -o ../../../bin/unittest_librbd ../../../lib/libcls_rbd.so.1.0.0 ../../../lib/libcls_rbd_client.a ../../../lib/libcls_lock.so.1.0.0 ../../../lib/libcls_lock_client.a ../../../lib/libjournal.a ../../../lib/libjournal_test_mock.a ../../../lib/libcls_journal.so.1.0.0 ../../../lib/libcls_journal_client.a ../../../lib/librados_test_stub.a ../../../lib/librados.so.2.0.0 ../../../lib/librbd_test.a ../../../lib/librbd_test_mock.a ../../../lib/librbd_api.a ../../../lib/librbd_internal.a ../../../lib/librbd_types.a ../../../lib/libosdc.a ../../../lib/libglobal.a ../../../lib/libgmock_main.a ../../../lib/libgmock.a ../../../lib/libgtest.a -lpthread -ldl ../../../lib/libradostest.a ../../../lib/libceph-common.so.0 ../../../lib/liberasure_code.a ../../../boost/lib/libboost_thread.a ../../../boost/lib/libboost_system.a ../../../boost/lib/libboost_regex.a ../../../boost/lib/libboost_random.a ../../../boost/lib/libboost_program_options.a ../../../boost/lib/libboost_date_time.a ../../../boost/lib/libboost_iostreams.a -lblkid -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -lz -Wl,-Bstatic -latomic_ops -Wl,-Bdynamic -lpthread -lrt -ldl -lresolv -libverbs ../../../lib/libjson_spirit.a ../../../lib/libcommon_utf8.a -Wl,-rpath,/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/lib
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o:(.rodata+0x3e98): multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::ReplayHandler'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:(.rodata+0x65a4): first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::ReplayHandler'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/type_index/stl_type_index.hpp:203: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `testing::internal::scoped_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~scoped_ptr()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-port.h:1120: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::MetadataListener'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/usr/include/c++/5/bits/basic_ios.h:282: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::MetadataListener'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `Cond::~Cond()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/common/Cond.h:44: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::C_OpEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_Journal.cc:56: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:399: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::C_OpEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:303: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `testing::AssertionResult::message() const':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/gtest.h:298: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::C_IOEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/journal/mock/MockJournaler.h:83: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:307: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::C_IOEventSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:401: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `testing::AssertionResult testing::internal::EqHelper<true>::Compare<int, int>(char const*, char const*, int const&, int const&, testing::internal::EnableIf<!testing::internal::is_pointer<int>::value>::type*)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/gtest.h:1459: multiple definition of `typeinfo name for librbd::Journal<librbd::ImageCtx>::C_ReplayProcessSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/journal/mock/MockJournaler.h:58: first defined here
CMakeFiles/unittest_librbd.dir/exclusive_lock/test_mock_PostAcquireRequest.cc.o: In function `manage_small':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:286: multiple definition of `typeinfo for librbd::Journal<librbd::ImageCtx>::C_ReplayProcessSafe'
CMakeFiles/unittest_librbd.dir/test_mock_Journal.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:307: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o:(.rodata+0x3418): multiple definition of `typeinfo name for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:(.rodata+0x1b7c): first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~C_StateCallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:59: multiple definition of `typeinfo for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `rados_state_callback<librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>, &librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>::handle_set_features, true>':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:38: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:339: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~C_StateCallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:59: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `rados_state_callback<librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>, &librbd::operation::DisableFeaturesRequest<librbd::(anonymous namespace)::MockOperationImageCtx>::handle_set_features, true>':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:43: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:172: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~C_CallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:46: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `send_close_journal':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/operation/DisableFeaturesRequest.cc:351: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:93: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~MonomorphicImpl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-actions.h:438: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `C_StateCallbackAdapter':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/Utils.h:62: multiple definition of `typeinfo name for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:252: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_DisableFeaturesRequest.cc.o: In function `~gmock_Impl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_fixture.h:41: multiple definition of `typeinfo for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o:(.rodata+0x3020): multiple definition of `typeinfo name for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `~gmock_Impl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_fixture.h:41: multiple definition of `typeinfo for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `expect_block_requests':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc:232: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:339: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `~gmock_Impl':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/test_mock_fixture.h:41: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `testing::internal::MatcherBase<int>::~MatcherBase()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:294: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:172: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:210: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `testing::Matcher<int>::Matcher(int)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:294: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:93: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:215: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `librbd::AsyncRequest<librbd::MockImageCtx>::finish(int)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/librbd/AsyncRequest.h:59: multiple definition of `typeinfo name for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:252: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_EnableFeaturesRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:221: multiple definition of `typeinfo for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_Request.cc.o:(.rodata+0x18e4): multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:339: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_Request.cc.o: In function `finish':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h:85: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_Request.cc.o: In function `librbd::operation::TestMockOperationRequest::expect_send_op(librbd::operation::MockRequest&, int)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h:85: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:172: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_Request.cc.o: In function `~AsyncRequest':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h:85: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_Request.cc.o: In function `testing::internal::linked_ptr<testing::ActionInterface<void ()> >::~linked_ptr()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-generated-function-mockers.h:85: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:93: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_Request.cc.o: In function `~C_CommitOpEvent':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:324: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o:(.rodata+0x3518): multiple definition of `typeinfo name for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:223: multiple definition of `typeinfo for librbd::AsyncRequest<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `testing::internal::linked_ptr<testing::CardinalityInterface const>::~linked_ptr()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:153: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:339: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)':
/usr/include/c++/5/bits/basic_string.h:127: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:155: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `testing::internal::TypedExpectation<void ()>::WillOnce(testing::Action<void ()> const&)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-spec-builders.h:1000: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librados_test_stub/MockTestMemIoCtxImpl.h:172: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `std::char_traits<char>::copy(char*, char const*, unsigned int)':
/usr/include/c++/5/bits/char_traits.h:290: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `testing::internal::TypedExpectation<void ()>::Times(int)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-spec-builders.h:932: multiple definition of `typeinfo name for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:93: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)':
/usr/include/c++/5/bits/basic_string.tcc:237: multiple definition of `typeinfo for librbd::operation::Request<librbd::ImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:345: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `expect_get_current_size':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc:129: multiple definition of `typeinfo name for librbd::AsyncRequest<librbd::MockImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:296: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()':
/usr/include/c++/5/bits/basic_string.h:141: multiple definition of `typeinfo for librbd::AsyncRequest<librbd::MockImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `testing::internal::Expect(bool, char const*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:296: multiple definition of `typeinfo name for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:252: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*>(char const*, char const*, std::__false_type)':
/usr/include/c++/5/bits/basic_string.h:195: multiple definition of `typeinfo for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `testing::internal::linked_ptr<testing::ActionInterface<unsigned long long ()> >::linked_ptr(testing::internal::linked_ptr<testing::ActionInterface<unsigned long long ()> > const&)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:158: multiple definition of `typeinfo name for librbd::AsyncObjectThrottle<librbd::MockImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:296: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `manage':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:399: multiple definition of `typeinfo for librbd::AsyncObjectThrottle<librbd::MockImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:93: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `testing::internal::linked_ptr<testing::ActionInterface<unsigned long long ()> >::depart()':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googletest/include/gtest/internal/gtest-linked_ptr.h:205: multiple definition of `typeinfo name for librbd::operation::Request<librbd::MockImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:296: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `manage':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:401: multiple definition of `typeinfo for librbd::operation::Request<librbd::MockImageCtx>'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:3732: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `testing::internal::MatcherBase<unsigned long long>::MatcherBase(testing::internal::MatcherBase<unsigned long long> const&)':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:252: multiple definition of `typeinfo name for librbd::operation::Request<librbd::MockImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:296: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `manage':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:404: multiple definition of `typeinfo for librbd::operation::Request<librbd::MockImageCtx>::C_CommitOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:328: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `expect_get_object_name':
/mnt/sda1/ceph-build/ceph-master-reloaded/src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc:124: multiple definition of `typeinfo name for librbd::operation::Request<librbd::MockImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/internal/gmock-internal-utils.h:296: first defined here
CMakeFiles/unittest_librbd.dir/operation/test_mock_SnapshotRollbackRequest.cc.o: In function `manager':
/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf/boost/include/boost/function/function_base.hpp:360: multiple definition of `typeinfo for librbd::operation::Request<librbd::MockImageCtx>::C_AppendOpEvent'
CMakeFiles/unittest_librbd.dir/test_mock_fixture.cc.o:/mnt/sda1/ceph-build/ceph-master-reloaded/src/googletest/googlemock/include/gmock/gmock-matchers.h:859: first defined here
collect2: error: ld returned 1 exit status
src/test/librbd/CMakeFiles/unittest_librbd.dir/build.make:1208: recipe for target 'bin/unittest_librbd' failed
make[4]: *** [bin/unittest_librbd] Error 1
make[4]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
CMakeFiles/Makefile2:15017: recipe for target 'src/test/librbd/CMakeFiles/unittest_librbd.dir/all' failed
make[3]: *** [src/test/librbd/CMakeFiles/unittest_librbd.dir/all] Error 2
make[3]: Leaving directory '/mnt/sda1/ceph-build/ceph-master-reloaded/obj-arm-linux-gnueabihf'
Makefile:141: recipe for target 'all' failed
make[2]: *** [all] Error 2
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881812017-03-29T11:00:17ZKefu Chaitchaikov@gmail.com
<ul></ul><p>i think we violate the ODR in the librbd's tests, and the some of the template classes are instantiated multiple times with the same template parameters. the instantiated template classes are included by different compilation units. when we try to link them, the linker gave up at seeing multiple definitions of the same symbol.</p>
<p>the GCC on ARM with the default settings follows the C++ standard, and hence fails.</p>
<p>as the fix is not obvious to me at this moment, will take a look later on.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=881972017-03-29T15:03:48ZKefu Chaitchaikov@gmail.com
<ul><li><strong>Project</strong> changed from <i>Ceph</i> to <i>rbd</i></li><li><strong>Status</strong> changed from <i>Fix Under Review</i> to <i>New</i></li><li><strong>Assignee</strong> deleted (<del><i>Kefu Chai</i></del>)</li></ul> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=905622017-04-29T18:06:58ZKefu Chaitchaikov@gmail.com
<ul></ul><p>i am able to reproduce this issue with gcc-6.3<br /><pre>
$ /usr/bin/arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Debian 6.3.0-12) 6.3.0 20170406
</pre></p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=905632017-04-29T18:13:19ZKefu Chaitchaikov@gmail.com
<ul></ul><p><a class="external" href="https://github.com/ceph/ceph/pull/14881">https://github.com/ceph/ceph/pull/14881</a> : the side-product of my adventure.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=905712017-05-01T06:35:05ZKefu Chaitchaikov@gmail.com
<ul></ul><p>i think the reason of the link failure is that some compilation units of unittest_librbd are including the ".cc" files which have explicit template instantiation.<br /><pre>
src/test/librbd/operation/test_mock_DisableFeaturesRequest.cc:#include "librbd/AsyncObjectThrottle.cc"
src/test/librbd/operation/test_mock_EnableFeaturesRequest.cc:#include "librbd/AsyncObjectThrottle.cc"
src/test/librbd/operation/test_mock_SnapshotRollbackRequest.cc:#include "librbd/AsyncObjectThrottle.cc"
src/test/librbd/test_mock_fixture.cc:#include "librbd/AsyncObjectThrottle.cc"
</pre></p>
<p>that's why we have errors like<br /><pre>
multiple definition of `typeinfo name for librbd::AsyncObjectThrottle<librbd::ImageCtx>'
</pre></p>
<p>so we need to</p>
<ol>
<li>move the explicit template instantiations out of .cc file, or</li>
<li>move the template implementation code out of the .cc file, and let the tests include the file which implements the template class.</li>
</ol> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=905722017-05-01T07:47:30ZKefu Chaitchaikov@gmail.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Fix Under Review</i></li><li><strong>Assignee</strong> set to <i>Kefu Chai</i></li></ul><p><a class="external" href="https://github.com/ceph/ceph/pull/14891">https://github.com/ceph/ceph/pull/14891</a></p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=907222017-05-04T02:46:39ZKefu Chaitchaikov@gmail.com
<ul></ul><p>the reason why we only need to guard <br /><pre>
<code class="cpp syntaxhl"><span class="CodeRay"> <span class="keyword">template</span> <span class="keyword">class</span> <span class="class">librbd</span>::AsyncObjectThrottle<librbd::ImageCtx>;
<span class="keyword">template</span> <span class="keyword">class</span> <span class="class">librbd</span>::Journal<librbd::ImageCtx>;
<span class="keyword">template</span> <span class="keyword">class</span> <span class="class">librbd</span>::operation::DisableFeaturesRequest<librbd::ImageCtx>;
<span class="keyword">template</span> <span class="keyword">class</span> <span class="class">librbd</span>::operation::Request<librbd::ImageCtx>;
</span></code><br /></pre></p>
<p>is that all the template classes above have "key function"[1,2], and it is required<sup><a href="#fn3">3</a></sup> to emit type_info as a strong symbol with key function to comply to ARM's C++ ABI spec<sup><a href="#fn2">2</a></sup>.</p>
<p>quote from ARM's ABI spec<sup><a href="#fn2">2</a></sup>:</p>
<blockquote>
<p>These std::type_info functions should not be inline by default, as doing so makes the relocatable file platform- specific. A C++ system must provide an option or default (Q-o-I) to force them out of line.</p>
</blockquote>
<p>this practically requires that we need to enforce ODR when it comes to type_info on ARM and platforms<sup><a href="#fn4">4</a></sup> that does not have week symbols. but this is not required on all other C++ ABIs. take Itanium for example, it's allowed to be put into COMDAT<sup><a href="#fn5">5</a></sup>. clang's source code<sup><a href="#fn6">6</a></sup> is a good references.</p>
<p>And we are not alone, see [7].</p>
<hr />
<p>[1] <a class="external" href="https://itanium-cxx-abi.github.io/cxx-abi/abi.html#vague-vtable">https://itanium-cxx-abi.github.io/cxx-abi/abi.html#vague-vtable</a><br />[2] <a class="external" href="http://infocenter.arm.com/help/topic/com.arm.doc.ihi0041e/IHI0041E_cppabi.pdf">http://infocenter.arm.com/help/topic/com.arm.doc.ihi0041e/IHI0041E_cppabi.pdf</a><br />[3] <a class="external" href="https://libcxxabi.llvm.org">https://libcxxabi.llvm.org</a>, search for "Frequently asked questions" <br />[4] <a class="external" href="https://gcc.gnu.org/ml/gcc/2001-01/msg01487.html">https://gcc.gnu.org/ml/gcc/2001-01/msg01487.html</a><br />[5] <a class="external" href="https://itanium-cxx-abi.github.io/cxx-abi/abi.html#vague-rtti">https://itanium-cxx-abi.github.io/cxx-abi/abi.html#vague-rtti</a><br />[6] <a class="external" href="https://github.com/llvm-mirror/clang/blob/master/include/clang/Basic/TargetCXXABI.h#L255">https://github.com/llvm-mirror/clang/blob/master/include/clang/Basic/TargetCXXABI.h#L255</a><br />[7] <a class="external" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608029">https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608029</a></p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=907482017-05-04T15:14:23ZKefu Chaitchaikov@gmail.com
<ul><li><strong>Status</strong> changed from <i>Fix Under Review</i> to <i>Resolved</i></li></ul> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=908482017-05-05T21:07:19ZSebastien Luttringer
<ul></ul><p>Hello Kefu,</p>
<p>I applied <a class="external" href="https://github.com/ceph/ceph/pull/14891.patch">https://github.com/ceph/ceph/pull/14891.patch</a> to ceph 11.2.0 tarball and that doesn't fix building on i686.</p>
<pre>
[ 5%] Building CXX object src/CMakeFiles/common_util_obj.dir/common/util.cc.o
In file included from /build/ceph/src/ceph-11.2.0/src/include/encoding.h:25:0,
from /build/ceph/src/ceph-11.2.0/src/include/uuid.h:8,
from /build/ceph/src/ceph-11.2.0/src/include/types.h:21,
from /build/ceph/src/ceph-11.2.0/src/msg/Message.h:26,
from /build/ceph/src/ceph-11.2.0/src/msg/Messenger.h:23,
from /build/ceph/src/ceph-11.2.0/src/osdc/ObjectCacher.cc:6:
/build/ceph/src/ceph-11.2.0/src/include/denc.h: In instantiation of ‘typename std::enable_if<((traits:: supported == 1) && (! t
raits:: featured))>::type decode_nohead(size_t, T&, ceph::buffer::list::iterator&) [with T = std::__cxx11::basic_string<char>;
traits = denc_traits<std::__cxx11::basic_string<char> >; typename std::enable_if<((traits:: supported == 1) && (! traits:: feat
ured))>::type = void; size_t = unsigned int]’:
/build/ceph/src/ceph-11.2.0/src/messages/MOSDOp.h:397:41: required from here
/build/ceph/src/ceph-11.2.0/src/include/denc.h:1337:24: error: ‘decode_nohead’ is not a member of ‘denc_traits<std::__cxx11::ba
sic_string<char> >’
traits::decode_nohead(num, o, cp);
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
make[2]: *** [src/osdc/CMakeFiles/osdc_rbd_objs.dir/build.make:63: src/osdc/CMakeFiles/osdc_rbd_objs.dir/ObjectCacher.cc.o] Err
or 1
make[1]: *** [CMakeFiles/Makefile2:2805: src/osdc/CMakeFiles/osdc_rbd_objs.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 5%] Building CXX object src/CMakeFiles/mon_common_objs.dir/auth/cephx/CephxSessionHandler.cc.o
[ 5%] Building CXX object src/CMakeFiles/mon_common_objs.dir/erasure-code/ErasureCodePlugin.cc.o
[ 5%] Built target common_util_obj
[ 5%] Building CXX object src/json_spirit/CMakeFiles/json_spirit.dir/json_spirit_writer.cpp.o
[ 5%] Built target mon_common_objs
[ 5%] Linking CXX static library ../../lib/libjson_spirit.a
[ 5%] Built target json_spirit
make: *** [Makefile:141: all] Error 2
</pre> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=1033722017-12-08T10:37:57ZKefu Chaitchaikov@gmail.com
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>New</i></li></ul><p>Sorry, Sebastien ! i missed your latest comment. seems i fixed the issue reported by Romain, but not yours. i am reopening this ticket.</p> rbd - Bug #18938: Unable to build 11.2.0 under i686https://tracker.ceph.com/issues/18938?journal_id=1037702017-12-15T01:26:14ZJason Dillamandillaman@redhat.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Won't Fix</i></li></ul><p>Closing since 11.x.y is an EOLed release.</p>