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(a)redhat.com> wrote:
On Tue, Nov 3, 2020 at 2:20 AM Yuval Lifshitz
<ylifshit(a)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/
https://docs.ceph.com/en/latest/install/build-ceph/?highlight=rpmbuild#rpm-…
[3]
https://bugzilla.redhat.com/show_bug.cgi?id=1801144
_______________________________________________
Dev mailing list -- dev(a)ceph.io
To unsubscribe send an email to dev-leave(a)ceph.io
--
Cheers,
Brad