Hi Brad, Thanks for the help! but now i ran into this issue: https://tracker.ceph.com/issues/48078 as cmake is now failing with: " CMake Error at cmake/modules/CephChecks.cmake:140 (message): Unaligned access is required " in the ticket you mention that this is not happening with "in tree" rpmbuild. How do I perform that? Yuval On Tue, Nov 3, 2020 at 2:45 AM Brad Hubbard <bhubbard@redhat.com> wrote:
On Tue, Nov 3, 2020 at 2:20 AM Yuval Lifshitz <ylifshit@redhat.com> wrote:
Dear Community,
Hi Yuval,
As part of the work to add AWS endpoints to RGW bucket notifications [1], I'm trying to figure out how to package the AWS libraries that we generate in the submodule.
So, my first step is to try and see how packaging works regardless of the AWS PR (just on master). I'm trying to follow the instructions from our docs [2], but these instructions seem to indicate that the code tarball needs to be downloaded from our official location (although the instructions also ask to clone ceph locally). Instead I used the "make-dist" script to generate the tarball locally, and continued with the instructions using that tarball instead of the downloaded one.
This worked to some point, but I started receiving 2 kinds of issues: One (seems like a warning): " /usr/bin/gdb.minimal: warning: Could not complete Guile gdb module initialization from: /usr/share/gdb/guile/gdb/boot.scm.
If it's complaining about not being able to find /usr/share/gdb/guile/gdb/boot.scm (as in the BZ) you could try installing gdb-headlessbut it looks like a bit of a harmless warning AFAICT.
" Probably related to this BZ [3], but could not figure out what to do to solve it
The other is an error with rpath causign the process to fail: " ERROR 0002: file '/app/lib64/ceph/libceph-common.so.2' contains an invalid rpath '/app/lib64/ceph' in [/app/lib64/ceph] ERROR 0002: file '/app/lib64/ceph/librbd/libceph_librbd_parent_cache.so.1.0.0' contains an invalid rpath '/app/lib64/ceph' in [/app/lib64/ceph] ERROR 0002: file '/app/lib64/libcephfs.so.2.0.0' contains an invalid rpath '/app/lib64/ceph' in [/app/lib64/ceph] ... "
Would appreciate any advice on that.
This is due to the following.
$ rpm --eval "%{_prefix}" /app
$ rpm --showrc | grep "^Macro path:" Macro path: /usr/lib/rpm/macros:/usr/lib/rpm/macros.d/macros.*:/usr/lib/rpm/platform/%{_target}/macros:/usr/lib/rpm/fileattrs/*.attr:/usr/lib/rpm/redhat/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/%{_target}/macros:~/.rpmmacros
$ ag "%_prefix.*app" /usr/lib/rpm/ /etc/rpm/ /etc/rpm/macros.flatpak 2:%_prefix /app
$ rpm -qf /etc/rpm/macros.flatpak flatpak-rpm-macros-32-2.fc32.x86_64
So you could uninstall flatpak-rpm-macros or you can add the following line to ~/.rpmmacros to override the definition.
%_prefix /usr
The way I normally create rpms is by running the following.
$ rpmdev-wipetree $ ./make-srpm.sh $ rpm -ivh ceph-15.0.0-19449.g161b7e118b4.fc32.src.rpm $ rpmbuild -ba ~/working/rpmbuild/SPECS/ceph.spec
There are other options available as well such as using mock profiles [0] to build the srpm and/or uploading to copr [1] or similar to allow the rpms to be built there. Of course you could also do these builds in containers.
Let me know if I can be of any further help.
[0] https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds [1] https://copr.fedorainfracloud.org/coprs/badone/
Yuval
https://docs.ceph.com/en/latest/install/build-ceph/?highlight=rpmbuild#rpm-p...
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1801144 _______________________________________________ Dev mailing list -- dev@ceph.io To unsubscribe send an email to dev-leave@ceph.io
-- Cheers, Brad