Bug#748571: [Ceph-maintainers] Bug#748571: Bug#748571: ceph: FTBFS on hppa
On 20-May-14, at 10:09 PM, John David Anglin wrote: It seems $(PTHREAD_CFLAGS) needs to be added to a lot of *_LDADD statements in Makefile.in. This causes -lpthread to be added to link command in the correct location. With this, the build completes. Attached last bit of log showing symbol warnings. Regards, Dave -- John David Anglin dave.ang...@bell.net dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below dpkg-gensymbols: warning: debian/librados2/DEBIAN/symbols doesn't match completely debian/librados2.symbols --- debian/librados2.symbols (librados2_0.80.1-1_hppa) +++ dpkg-gensymbolsMRdP02 2014-05-21 01:39:59.979380501 -0400 @@ -1,4 +1,10 @@ librados.so.2 librados2 #MINVER# + AO_compare_double_and_swap_double_emulation@Base 0.80.1-1 + AO_fetch_compare_and_swap_emulation@Base 0.80.1-1 + AO_locks@Base 0.80.1-1 + AO_pause@Base 0.80.1-1 + AO_pt_lock@Base 0.80.1-1 + AO_store_full_emulation@Base 0.80.1-1 CEPH_CONF_FILE_DEFAULT@Base 0.72.2 (regex|c++)"^_.*" 0.80 (regex)"^ceph_ver__[0-9a-f]{40}@Base$" 0.80 dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below dpkg-gensymbols: warning: debian/libcephfs1/DEBIAN/symbols doesn't match completely debian/libcephfs1.symbols --- debian/libcephfs1.symbols (libcephfs1_0.80.1-1_hppa) +++ dpkg-gensymbolswaqgIS 2014-05-21 01:40:38.879824500 -0400 @@ -1,4 +1,10 @@ libcephfs.so.1 libcephfs1 #MINVER# + AO_compare_double_and_swap_double_emulation@Base 0.80.1-1 + AO_fetch_compare_and_swap_emulation@Base 0.80.1-1 + AO_locks@Base 0.80.1-1 + AO_pause@Base 0.80.1-1 + AO_pt_lock@Base 0.80.1-1 + AO_store_full_emulation@Base 0.80.1-1 CEPH_CONF_FILE_DEFAULT@Base 0.72.2 (regex|c++)"^_.*" 0.80 (regex)"^ceph_ver__[0-9a-f]{40}@Base$" 0.80 make[1]: Leaving directory '/home/dave/debian/ceph/ceph-0.80.1' dh_shlibdeps -a -O--parallel dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_kvs.so contains an unresolvable reference to symbol _ZN4ceph6buffer4list6appendERKS1_: it's probably a plugin dpkg-shlibdeps: warning: 20 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/ceph/erasure-code/libec_jerasure_sse3.so contains an unresolvable reference to symbol _ZN4ceph18__ceph_assert_failEPKcS1_iS1_: it's probably a plugin dpkg-shlibdeps: warning: 26 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_rgw.so contains an unresolvable reference to symbol _ZN4ceph6buffer4list7copy_inEjjPKc: it's probably a plugin dpkg-shlibdeps: warning: 26 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_version.so contains an unresolvable reference to symbol _ZN4ceph6buffer4list6appendEPKcj: it's probably a plugin dpkg-shlibdeps: warning: 11 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_user.so contains an unresolvable reference to symbol _Z22cls_cxx_map_remove_keyPvRKSs: it's probably a plugin dpkg-shlibdeps: warning: 16 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_replica_log.so contains an unresolvable reference to symbol _ZN4ceph6buffer4list8iterator7advanceEi: it's probably a plugin dpkg-shlibdeps: warning: 11 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_refcount.so contains an unresolvable reference to symbol cls_register: it's probably a plugin dpkg-shlibdeps: warning: 17 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_rbd.so contains an unresolvable reference to symbol _Z22cls_cxx_map_remove_keyPvRKSs: it's probably a plugin dpkg-shlibdeps: warning: 26 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/ceph/erasure-code/libec_jerasure_generic.so contains an unresolvable reference to symbol _ZN4ceph6buffer4list6appendEPKcj: it's probably a plugin dpkg-shlibdeps: warning: 26 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/rados-classes/libcls_statelog.so contains an unresolvable reference to symbol _ZN4ceph6buffer3ptrC1ERKS1_: it's probably a plugin dpkg-shlibdeps: warning: 16 other similar warnings have been skipped (use -v to see them all) dpkg-shlibdeps: warning: debian/ceph/usr/lib/hppa-linux-gnu/ceph/erasure-code/libec_jerasure.so contains an unresolvable reference to symbol _ZN4ceph6buffer4list
Bug#748571: [Ceph-maintainers] Bug#748571: Bug#748571: ceph: FTBFS on hppa
On 20-May-14, at 8:24 PM, John David Anglin wrote: libtool: link: g++-4.8 -I/usr/include/nss -I/usr/include/nspr -Wall - Wtype-limit s -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format- security -fno- strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon- virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -g -O2 -Wformat - Werror=format-sec urity -o ceph_erasure_code_benchmark test/erasure-code/ ceph_erasure_code_benchma rk.o -Wl,--as-needed ./.libs/libosd.a ./.libs/libosdc.a ./.libs/ libos.a -laio . /.libs/libperfglue.a -lboost_program_options ./.libs/ libglobal.a ./.libs/libcomm on.a -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4 -luuid -lm /usr/li b/libatomic_ops.a -lrt -ldl -lboost_thread -lboost_system -lleveldb - lsnappy /usr/bin/ld.bfd.real: ./.libs/libglobal.a(HeartbeatMap.o): undefined reference t o symbol 'pthread_rwlock_wrlock@@GLIBC_2.2' //lib/hppa-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from com mand line collect2: error: ld returned 1 exit status Makefile:7080: recipe for target 'ceph_erasure_code_benchmark' failed It seems $(PTHREAD_CFLAGS) needs to be added to a lot of *_LDADD statements in Makefile.in. This causes -lpthread to be added to link command in the correct location. Dave -- John David Anglin dave.ang...@bell.net -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#748571: [Ceph-maintainers] Bug#748571: Bug#748571: ceph: FTBFS on hppa
Hi All, On 20-May-14, at 6:41 PM, Sage Weil wrote: On Wed, 21 May 2014, Dmitry Smirnov wrote: On Sun, 18 May 2014 11:14:51 John David Anglin wrote: The attached patch resolves the issue with the undeclared atomic functions. Thanks, John. I passed this patch to upstream through https://github.com/ceph/ceph/pull/1844 I merged this, but shortly after Greg pointed out that using our spinlock implementation on this architecture might be better. Hard to say either way, though, knowing almost nothing about this architecture, and I suspect it would be more work to #ifdef around it than to simply #define this variable. The pthread spinlock and GCC sync support are probably better than the atomic_ops library on Linux. For hpux, it would be best stay with atomic_ops. I have continued to hack trying to get ceph to build. I forced the cast and reached the following point: libtool: link: g++-4.8 -I/usr/include/nss -I/usr/include/nspr -Wall - Wtype-limit s -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format- security -fno- strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon- virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -g -O2 -Wformat - Werror=format-sec urity -o .libs/ceph_rgw_multiparser rgw/rgw_multiparser.o /usr/lib/ libatomic_op s.a -Wl,--as-needed ./.libs/librgw.a ./.libs/librados.so ./.libs/ libcls_rgw_clie nt.a libcls_log_client.a libcls_statelog_client.a libcls_user_client.a libcls_re plica_log_client.a ./.libs/libcls_lock_client.a ./.libs/ libcls_refcount_client.a libcls_version_client.a /usr/lib/hppa-linux-gnu/libcurl-gnutls.so / usr/lib/hppa -linux-gnu/libexpat.so /usr/lib/libfcgi.so ./.libs/libglobal.a ./.libs/ libcommon .a -ldl -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4 - luuid -lm -lrt -lboost_thread -lboost_system -lleveldb -lsnappy -pthread ./.libs/librados.so: undefined reference to `AO_fetch_compare_and_swap_emulation (unsigned int volatile*, unsigned int, unsigned int)' ./.libs/librados.so: undefined reference to `AO_store_full_emulation(unsigned in t volatile*, unsigned int)' collect2: error: ld returned 1 exit status Makefile:7148: recipe for target 'ceph_rgw_multiparser' failed make[5]: *** [ceph_rgw_multiparser] Error 1 There are two issues here: 1) I think "-latomic_ops" should be added to EXTRALIBS, not LDFLAGS in the Makefile. 2) The libatomic-ops package doesn't work with c++ at least when libatomic_ops.a contains needed functions. The header file emul_cas.h the standard #ifdef __cplusplus extern "C" { #endif ... #ifdef __cplusplus } #endif namespace stuff. There might be other places as well. Hacking this got me to here: libtool: link: g++-4.8 -I/usr/include/nss -I/usr/include/nspr -Wall - Wtype-limit s -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format- security -fno- strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon- virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -g -O2 -Wformat - Werror=format-sec urity -o ceph_erasure_code_benchmark test/erasure-code/ ceph_erasure_code_benchma rk.o -Wl,--as-needed ./.libs/libosd.a ./.libs/libosdc.a ./.libs/ libos.a -laio . /.libs/libperfglue.a -lboost_program_options ./.libs/ libglobal.a ./.libs/libcomm on.a -lnss3 -lnssutil3 -lsmime3 -lssl3 -lplds4 -lplc4 -lnspr4 -luuid - lm /usr/li b/libatomic_ops.a -lrt -ldl -lboost_thread -lboost_system -lleveldb - lsnappy /usr/bin/ld.bfd.real: ./.libs/libglobal.a(HeartbeatMap.o): undefined reference t o symbol 'pthread_rwlock_wrlock@@GLIBC_2.2' //lib/hppa-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from com mand line collect2: error: ld returned 1 exit status Makefile:7080: recipe for target 'ceph_erasure_code_benchmark' failed Haven't had a chance to look at this one but it seems like a eglibc bug. Note "-latomic_ops" is added to EXTRALIBS in the above. Dave -- John David Anglin dave.ang...@bell.net -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#748571: [Ceph-maintainers] Bug#748571: Bug#748571: ceph: FTBFS on hppa
On Wed, 21 May 2014, Dmitry Smirnov wrote: > On Sun, 18 May 2014 11:14:51 John David Anglin wrote: > > The attached patch resolves the issue with the undeclared atomic functions. > > Thanks, John. I passed this patch to upstream through > > https://github.com/ceph/ceph/pull/1844 I merged this, but shortly after Greg pointed out that using our spinlock implementation on this architecture might be better. Hard to say either way, though, knowing almost nothing about this architecture, and I suspect it would be more work to #ifdef around it than to simply #define this variable. sage -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org