2010/7/9 Sage Weil <[email protected]>:
>
> There's one other pitfall I ran into with the debs... by default symbols
> are stripped from all binaries, but the libcls_rbd.so shared object needs
> to _not_ be stripped, or else the class loading doesn't work. I have no
> idea where/when/if this is done during the rpmbuild. The version in the
> built package should look like so:
>
> $ nm .libs/libcls_rbd.so
> 000000000000797d T __cls_init
> 000000000020ce50 D __cls_name
> 000000000020ce7c B __cls_name__rbd
> 000000000020ce78 B __cls_ver__1_1
> 000000000020ce48 D __cls_ver_maj
> 000000000020ce4c D __cls_ver_min
After setting up a new build system I ran into this, too. I've now
looked at this a bit closer and was able to find a workaround. A patch
for the spec file is attached.
Christian
---
ceph.spec.in | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/ceph.spec.in b/ceph.spec.in
index c92ff9d..ab91f7b 100644
--- a/ceph.spec.in
+++ b/ceph.spec.in
@@ -75,6 +75,11 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/ceph/tmp/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/stat
+# To avoid that libcls_rbd.so.1.0.0 is being striped by find-debuginfo.sh
+# we pretend that the debug symbols have already been extracted
+mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/%{_libdir}/rados-classes/
+touch
$RPM_BUILD_ROOT/usr/lib/debug/%{_libdir}/rados-classes/libcls_rbd.so.1.0.0.debug
+
%clean
rm -rf $RPM_BUILD_ROOT
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html