Наткнулся на вот такой комментарий при сборке пакета зависящего от ceph: commit 666c6802cbe148356b1b2b19893ce43d3521343a Author: David Disseldorp <ddiss@suse.de> Date: Thu Jul 20 11:10:57 2017 +0200 build: fix ceph_statx check when configured with libcephfs_dir When configured with a custom libcephfs_dir, the ceph_statx check fails to link. This is due to the location of the ceph-common dependency, which is installed under a ceph subdirectory. ceph/build > make DESTDIR=./inst install ... ceph/build > find inst/|grep -e /libcephfs -e /libceph-common inst/usr/local/lib64/ceph/libceph-common.so.0 inst/usr/local/lib64/ceph/libceph-common.so inst/usr/local/lib64/libcephfs.so.2.0.0 inst/usr/local/lib64/libcephfs.so.2 inst/usr/local/lib64/libcephfs.so inst/usr/local/include/cephfs/libcephfs.h Bug: https://bugzilla.samba.org/show_bug.cgi?id=13250 Signed-off-by: David Disseldorp <ddiss@suse.de> Reviewed-by: Jeff Layton <jlayton@samba.org> (cherry picked from commit ff7df3d3f5259362a6bb6780d6b532e57e89681d) Autobuild-User(v4-6-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-6-test): Tue Feb 13 13:36:13 CET 2018 on sn-devel-144 Вопрос. А разве правильно, что /usr/lib64/ceph/common.so.0 упакован в пакет librados2, а не в libcephfs2?
(В ответ на комментарий №0) > Вопрос. А разве правильно, что /usr/lib64/ceph/common.so.0 упакован в пакет > librados2, а не в libcephfs2? Скорее да. libcephfs2 нужен не так многим, а librados2 нужен всем, кто использует ceph. Т.к. /usr/lib64/librados.so.2 слинкован с /usr/lib64/ceph/common.so.0, то и упакован в этот же пакет. Как вариант, можно упаковать /usr/lib64/ceph/common.so.0 в отдельный пакет, но от этого мало пользы, сам по себе он никому не нужен.
кстати, и в RH, и в debian, /usr/lib64/ceph/common.so.0 тоже в пакете librados.
Честно говоря, я пока не понимаю как оно у них собирается. Думаю, что RH и CentOS не имеет смысла смотреть: http://src.fedoraproject.org/rpms/samba ... %global with_vfs_cephfs 0 %if 0%{?fedora} %ifarch aarch64 ppc64le s390x x86_64 %global with_vfs_cephfs 1 %endif %endif Да, и на i586 тоже получается.
А... Ну, у них тоже есть костыль: From ebae8df5e4b955f235cdeb629e99d32d35766d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd@samba.org> Date: Mon, 15 Jan 2018 23:20:39 +0100 Subject: [PATCH] FIXME: build: fix libceph-common detection Guenther Signed-off-by: Guenther Deschner <gd@samba.org> --- source3/wscript | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source3/wscript b/source3/wscript index 0f8fe5452da..4eba0103be8 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1540,6 +1540,8 @@ main() { conf.env['CPPPATH_CEPHFS'] = Options.options.libcephfs_dir + '/include' conf.env['LIBPATH_CEPHFS'] = Options.options.libcephfs_dir + '/lib' conf.env['LIBPATH_CEPH-COMMON'] = Options.options.libcephfs_dir + '/lib/ceph' + else: + conf.env['LIBPATH_CEPH-COMMON'] = Options.options.LIBDIR + '/ceph' if (Options.options.with_cephfs and conf.CHECK_HEADERS('cephfs/libcephfs.h', False, False, 'cephfs') and -- 2.14.3
Наверное, у них даже по-изящнее, чем у меня получилось: http://git.altlinux.org/people/sin/packages/samba.git?p=samba.git;a=commitdiff;h=9a24e06ad5071756737ba8efda51cc29c646be9f