Bug#748571: [Ceph-maintainers] Bug#748571: Bug#748571: ceph: FTBFS on hppa

2014-05-21 Thread John David Anglin

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

2014-05-20 Thread John David Anglin

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

2014-05-20 Thread John David Anglin

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

2014-05-20 Thread Sage Weil
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