On Tue, Apr 27, 2021 at 8:08 PM Saul Wold <[email protected]> wrote: > > > > On 4/27/21 2:22 PM, Bruce Ashfield wrote: > > On Mon, Apr 26, 2021 at 10:16 PM Bruce Ashfield > > <[email protected]> wrote: > >> > >> I'm going to try building from my secondary builder, to see if > >> something is up with my primary. > >> > >> The patch did apply cleanly, but I'm still failing the compilation due to > >> OOM. > >> > >> linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc > >> | In file included from > >> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.cc:4: > >> | > >> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h: > >> In member function 'bool ltstr_nocase::operator()(const string&, const > >> string&) const': > >> | > >> /opt/poky/build/tmp/work/core2-64-poky-linux/ceph/16.2.1-r0/ceph-16.2.1/src/rgw/rgw_string.h:18:23: > >> error: invalid use of incomplete type 'const string' {aka 'const class > >> std::__cxx11::basic_string<char>'} > >> | 18 | return strcasecmp(s1.c_str(), s2.c_str()) < 0; > >> | | ^~ > >> > >> And in my dmesg: > >> > >> [518277.850155] Out of memory: Kill process 58857 (cc1plus) score 99 > >> or sacrifice child > >> [518277.850268] Killed process 58857 (cc1plus) total-vm:1759572kB, > >> anon-rss:1634232kB, file-rss:0kB, shmem-rss:0kB > >> > >> Which I assume is that same process. > >> > >> I've tried a few things to control the parallel builds for the > >> package, but am still failing. If anyone knows any > >> ninja/cmake/whatever ways to limit the memory of this .. I'm all ears > >> :D > > > > Apparently I managed to not reply-all on my first followup. Adding > > meta-virt back into the mix. > > > > I had a few kind souls help me out on #meta-virt and confirm that they > > can't build this update either. Same error in the same file. (I'm > > limiting parallel builds and can now avoid the OOM). > > > > So now, we need to figure out why you can build this, and no one else can. > > > Well that's just awesome, I was able to reproduce this on a different > machine. My machine is Ubuntu-20.04 and the failing machine is > Ubuntu-18.04. Clearly interesting reproducibility issue! > > Can you and your crew chime in with Host distro info. I will continue > to track this down.
I've seen in break on my older builder: ubu 18.10 and my newer: ubu 20.04 Which is a bit different than you were seeing. A comment on #meta-virt was: 21:20 rfs613: so, it seems on ubuntu 18 (bionic), the ceph install-deps.sh script enables some ppa (mirror.nullivex.com) to obtain gcc-9 toolchain. And then it does update-alternatives to switch the stock gcc-7 to gcc-9. 21:22 rfs613: that's for native build. When using yocto master, it is building with x86_64-poky-linux-g++ (GCC) 10.3.0 Feel free to drop in that and bat ideas around as well. Bruce > > Sau! > > > Bruce > > > >> > >> Bruce > >> > >> On Mon, Apr 26, 2021 at 1:20 PM Saul Wold <[email protected]> wrote: > >>> > >>> From: Saul Wold <[email protected]> > >>> > >>> This updates the Ceph version to 16.2.1 which required a couple > >>> changes to base code via a rebased patch which also disabled the > >>> sanity check due to it not working correctly, but the actual > >>> compile worked. Also added a new patch to add soversion information > >>> for the new libcephsqlite library so it would be packaged correctly > >>> > >>> Added fixed for new python script to adjust #! from the native path > >>> and moved the ceph-python package in order for it to get the correct > >>> set of files before the ceph package. > >>> > >>> Signed-off-by: Saul Wold <[email protected]> > >>> --- > >>> ...-add-missing-include-for-atomic-bool.patch | 25 ---- > >>> ...h-fix-build-errors-for-cross-compile.patch | 125 ++++++++++++------ > >>> ...0001-cmake-add-support-for-python3.9.patch | 30 ----- > >>> ...001-fix-host-library-paths-were-used.patch | 58 ++++---- > >>> ...ite-Add-library-soversion-properties.patch | 31 +++++ > >>> .../ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb} | 91 ++++++++++--- > >>> 6 files changed, 218 insertions(+), 142 deletions(-) > >>> delete mode 100644 > >>> recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch > >>> delete mode 100644 > >>> recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch > >>> create mode 100644 > >>> recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch > >>> rename recipes-extended/ceph/{ceph_15.2.9.bb => ceph_16.2.1.bb} (61%) > >>> > >>> diff --git > >>> a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch > >>> > >>> b/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch > >>> deleted file mode 100644 > >>> index ffcbc58..0000000 > >>> --- > >>> a/recipes-extended/ceph/ceph/0001-add-missing-include-for-atomic-bool.patch > >>> +++ /dev/null > >>> @@ -1,25 +0,0 @@ > >>> -From 502be73be3c3645094525aa552f5e53d8782a004 Mon Sep 17 00:00:00 2001 > >>> -From: Sakib Sajal <[email protected]> > >>> -Date: Fri, 28 Aug 2020 19:36:19 -0400 > >>> -Subject: [PATCH] add missing include for atomic<bool> > >>> - > >>> -Signed-off-by: Sakib Sajal <[email protected]> > >>> ---- > >>> - src/tools/rbd/action/Bench.cc | 1 + > >>> - 1 file changed, 1 insertion(+) > >>> - > >>> -diff --git a/src/tools/rbd/action/Bench.cc > >>> b/src/tools/rbd/action/Bench.cc > >>> -index aa6edbc1..90c551c1 100644 > >>> ---- a/src/tools/rbd/action/Bench.cc > >>> -+++ b/src/tools/rbd/action/Bench.cc > >>> -@@ -9,6 +9,7 @@ > >>> - #include "common/ceph_mutex.h" > >>> - #include "include/types.h" > >>> - #include "global/signal_handler.h" > >>> -+#include <atomic> > >>> - #include <iostream> > >>> - #include <boost/accumulators/accumulators.hpp> > >>> - #include <boost/accumulators/statistics/stats.hpp> > >>> --- > >>> -2.27.0 > >>> - > >>> diff --git > >>> a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch > >>> > >>> b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch > >>> index 4d54549..00c7e5b 100644 > >>> --- > >>> a/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch > >>> +++ > >>> b/recipes-extended/ceph/ceph/0001-ceph-fix-build-errors-for-cross-compile.patch > >>> @@ -1,10 +1,15 @@ > >>> -From 4712fe18405ffea31405308357a8e7fca358bcce Mon Sep 17 00:00:00 2001 > >>> +From 2a3ccc8079040a7e783b8a9091618878e7cf0719 Mon Sep 17 00:00:00 2001 > >>> From: Dengke Du <[email protected]> > >>> Date: Mon, 11 Mar 2019 09:14:09 +0800 > >>> Subject: [PATCH] ceph: fix build errors for cross compile > >>> > >>> 1. set the cross compile sysroot to find the rocksdb library > >>> 2. correct the install path for library in Distutils.cmake > >>> +3. remove / disable the sanity_check(), for some reasong the > >>> + sanity check gets the wrong settings and will not link > >>> + correctly, but the actual build works correctly, this needs > >>> + more investigation later, earlier versions of the patch also > >>> + removed it but no comment on why. (sgw) > >>> > >>> Upstream-Status: Inappropriate [oe specific] > >>> > >>> @@ -14,18 +19,20 @@ Adjust context for v14.2.3 > >>> > >>> Signed-off-by: He Zhe <[email protected]> > >>> Signed-off-by: Sakib Sajal <[email protected]> > >>> +Signed-off-by: Saul Wold <[email protected]> > >>> + > >>> --- > >>> cmake/modules/Distutils.cmake | 25 +++++-------------------- > >>> cmake/modules/FindRocksDB.cmake | 4 ++-- > >>> src/compressor/zstd/CMakeLists.txt | 2 +- > >>> - src/pybind/cephfs/setup.py | 8 -------- > >>> - src/pybind/rados/setup.py | 8 -------- > >>> - src/pybind/rbd/setup.py | 8 -------- > >>> - src/pybind/rgw/setup.py | 8 -------- > >>> - 7 files changed, 8 insertions(+), 55 deletions(-) > >>> + src/pybind/cephfs/setup.py | 18 +++++------------- > >>> + src/pybind/rados/setup.py | 11 ++--------- > >>> + src/pybind/rbd/setup.py | 18 +++++------------- > >>> + src/pybind/rgw/setup.py | 18 +++++------------- > >>> + 7 files changed, 25 insertions(+), 71 deletions(-) > >>> > >>> diff --git a/cmake/modules/Distutils.cmake > >>> b/cmake/modules/Distutils.cmake > >>> -index 5fe929499d..802eb37e32 100644 > >>> +index ff01aaf81..18656c5a5 100644 > >>> --- a/cmake/modules/Distutils.cmake > >>> +++ b/cmake/modules/Distutils.cmake > >>> @@ -18,17 +18,8 @@ function(distutils_install_module name) > >>> @@ -39,9 +46,9 @@ index 5fe929499d..802eb37e32 100644 > >>> - list(APPEND options > >>> - --root=\$ENV{DESTDIR} > >>> - --single-version-externally-managed) > >>> -- if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\") > >>> -- list(APPEND options --install-script=${DU_INSTALL_SCRIPT}) > >>> -- endif() > >>> +- endif() > >>> +- if(NOT \"${DU_INSTALL_SCRIPT}\" STREQUAL \"\") > >>> +- list(APPEND options --install-script=${DU_INSTALL_SCRIPT}) > >>> - endif() > >>> + list(APPEND options --root=${CMAKE_DESTDIR}) > >>> + list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR}) > >>> @@ -51,7 +58,7 @@ index 5fe929499d..802eb37e32 100644 > >>> @@ -50,7 +41,7 @@ function(distutils_add_cython_module target name src) > >>> # Note: no quotes, otherwise distutils will execute "/usr/bin/ccache > >>> gcc" > >>> # CMake's implicit conversion between strings and lists is > >>> wonderful, isn't it? > >>> - string(REPLACE " " ";" cflags ${CMAKE_C_FLAGS}) > >>> + set(cflags ${COMPILE_OPTIONS}) > >>> - list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w) > >>> + list(APPEND cflags -iquote${CMAKE_SOURCE_DIR}/src/include -w > >>> --sysroot=${CMAKE_SYSROOT}) > >>> # This little bit of magic wipes out __Pyx_check_single_interpreter() > >>> @@ -75,7 +82,7 @@ index 5fe929499d..802eb37e32 100644 > >>> COMMAND > >>> ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py > >>> diff --git a/cmake/modules/FindRocksDB.cmake > >>> b/cmake/modules/FindRocksDB.cmake > >>> -index c5dd3dfaf6..be38597af2 100644 > >>> +index c5dd3dfaf..be38597af 100644 > >>> --- a/cmake/modules/FindRocksDB.cmake > >>> +++ b/cmake/modules/FindRocksDB.cmake > >>> @@ -9,9 +9,9 @@ > >>> @@ -91,7 +98,7 @@ index c5dd3dfaf6..be38597af2 100644 > >>> if(ROCKSDB_INCLUDE_DIR AND EXISTS > >>> "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h") > >>> foreach(ver "MAJOR" "MINOR" "PATCH") > >>> diff --git a/src/compressor/zstd/CMakeLists.txt > >>> b/src/compressor/zstd/CMakeLists.txt > >>> -index a5ebdaf538..a234068150 100644 > >>> +index b53b0d944..4955711a9 100644 > >>> --- a/src/compressor/zstd/CMakeLists.txt > >>> +++ b/src/compressor/zstd/CMakeLists.txt > >>> @@ -9,7 +9,7 @@ ExternalProject_Add(zstd_ext > >>> @@ -104,81 +111,111 @@ index a5ebdaf538..a234068150 100644 > >>> -G${CMAKE_GENERATOR} > >>> BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd > >>> diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py > >>> -index 19ae6c329a..c9a25ccfff 100755 > >>> +index c3d40df05..24c26c3ed 100755 > >>> --- a/src/pybind/cephfs/setup.py > >>> +++ b/src/pybind/cephfs/setup.py > >>> -@@ -135,14 +135,6 @@ def check_sanity(): > >>> +@@ -137,19 +137,11 @@ def check_sanity(): > >>> finally: > >>> shutil.rmtree(tmp_dir) > >>> > >>> - > >>> --if 'BUILD_DOC' in os.environ.keys(): > >>> -- pass > >>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ: > >>> +- ext_args = {} > >>> +- cython_constants = dict(BUILD_DOC=True) > >>> +- cythonize_args = dict(compile_time_env=cython_constants) > >>> -elif check_sanity(): > >>> -- pass > >>> +- ext_args = get_python_flags(['cephfs']) > >>> +- cython_constants = dict(BUILD_DOC=False) > >>> +- include_path = [os.path.join(os.path.dirname(__file__), "..", > >>> "rados")] > >>> +- cythonize_args = dict(compile_time_env=cython_constants, > >>> +- include_path=include_path) > >>> -else: > >>> - sys.exit(1) > >>> -- > >>> ++ext_args = get_python_flags(['cephfs']) > >>> ++cython_constants = dict(BUILD_DOC=False) > >>> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")] > >>> ++cythonize_args = dict(compile_time_env=cython_constants, > >>> ++ include_path=include_path) > >>> + > >>> cmdclass = {} > >>> try: > >>> - from Cython.Build import cythonize > >>> diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py > >>> -index e2c5696404..4e99d26721 100755 > >>> +index 0d1047825..cff85a063 100755 > >>> --- a/src/pybind/rados/setup.py > >>> +++ b/src/pybind/rados/setup.py > >>> -@@ -134,14 +134,6 @@ def check_sanity(): > >>> +@@ -131,15 +131,8 @@ def check_sanity(): > >>> finally: > >>> shutil.rmtree(tmp_dir) > >>> > >>> - > >>> --if 'BUILD_DOC' in os.environ.keys(): > >>> -- pass > >>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ: > >>> +- ext_args = {} > >>> +- cython_constants = dict(BUILD_DOC=True) > >>> -elif check_sanity(): > >>> -- pass > >>> +- ext_args = get_python_flags(['rados']) > >>> +- cython_constants = dict(BUILD_DOC=False) > >>> -else: > >>> - sys.exit(1) > >>> -- > >>> ++ext_args = get_python_flags(['rados']) > >>> ++cython_constants = dict(BUILD_DOC=False) > >>> + > >>> cmdclass = {} > >>> try: > >>> - from Cython.Build import cythonize > >>> diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py > >>> -index 634484f140..f5bbbdab4f 100755 > >>> +index 73ea4555f..e7f57ddb5 100755 > >>> --- a/src/pybind/rbd/setup.py > >>> +++ b/src/pybind/rbd/setup.py > >>> -@@ -133,14 +133,6 @@ def check_sanity(): > >>> +@@ -135,19 +135,11 @@ def check_sanity(): > >>> finally: > >>> shutil.rmtree(tmp_dir) > >>> > >>> - > >>> --if 'BUILD_DOC' in os.environ.keys(): > >>> -- pass > >>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ: > >>> +- ext_args = {} > >>> +- cython_constants = dict(BUILD_DOC=True) > >>> +- cythonize_args = dict(compile_time_env=cython_constants) > >>> -elif check_sanity(): > >>> -- pass > >>> +- ext_args = get_python_flags(['rados', 'rbd']) > >>> +- cython_constants = dict(BUILD_DOC=False) > >>> +- include_path = [os.path.join(os.path.dirname(__file__), "..", > >>> "rados")] > >>> +- cythonize_args = dict(compile_time_env=cython_constants, > >>> +- include_path=include_path) > >>> -else: > >>> - sys.exit(1) > >>> -- > >>> ++ext_args = get_python_flags(['rados', 'rbd']) > >>> ++cython_constants = dict(BUILD_DOC=False) > >>> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")] > >>> ++cythonize_args = dict(compile_time_env=cython_constants, > >>> ++ include_path=include_path) > >>> + > >>> cmdclass = {} > >>> try: > >>> - from Cython.Build import cythonize > >>> diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py > >>> -index eb1591a460..b9f2428cf9 100755 > >>> +index 663604e8f..489c9ba1f 100755 > >>> --- a/src/pybind/rgw/setup.py > >>> +++ b/src/pybind/rgw/setup.py > >>> -@@ -134,14 +134,6 @@ def check_sanity(): > >>> +@@ -135,19 +135,11 @@ def check_sanity(): > >>> finally: > >>> shutil.rmtree(tmp_dir) > >>> > >>> - > >>> --if 'BUILD_DOC' in os.environ.keys(): > >>> -- pass > >>> +-if 'BUILD_DOC' in os.environ or 'READTHEDOCS' in os.environ: > >>> +- ext_args = {} > >>> +- cython_constants = dict(BUILD_DOC=True) > >>> +- cythonize_args = dict(compile_time_env=cython_constants) > >>> -elif check_sanity(): > >>> -- pass > >>> +- ext_args = get_python_flags(['rados', 'rgw']) > >>> +- cython_constants = dict(BUILD_DOC=False) > >>> +- include_path = [os.path.join(os.path.dirname(__file__), "..", > >>> "rados")] > >>> +- cythonize_args = dict(compile_time_env=cython_constants, > >>> +- include_path=include_path) > >>> -else: > >>> - sys.exit(1) > >>> -- > >>> ++ext_args = get_python_flags(['rados', 'rgw']) > >>> ++cython_constants = dict(BUILD_DOC=False) > >>> ++include_path = [os.path.join(os.path.dirname(__file__), "..", "rados")] > >>> ++cythonize_args = dict(compile_time_env=cython_constants, > >>> ++ include_path=include_path) > >>> + > >>> cmdclass = {} > >>> try: > >>> - from Cython.Build import cythonize > >>> --- > >>> -2.20.1 > >>> - > >>> diff --git > >>> a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch > >>> b/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch > >>> deleted file mode 100644 > >>> index d9116c4..0000000 > >>> --- > >>> a/recipes-extended/ceph/ceph/0001-cmake-add-support-for-python3.9.patch > >>> +++ /dev/null > >>> @@ -1,30 +0,0 @@ > >>> -From 1060f2e4362ebd6db23870d442dcd158d219ee92 Mon Sep 17 00:00:00 2001 > >>> -From: Yanfei Xu <[email protected]> > >>> -Date: Tue, 10 Nov 2020 17:17:30 +0800 > >>> -Subject: [PATCH] cmake: add support for python3.9 > >>> - > >>> -add support for python3.9. > >>> - > >>> -Upstream-Status: Pending > >>> - > >>> -Signed-off-by: Yanfei Xu <[email protected]> > >>> ---- > >>> - cmake/modules/FindPython/Support.cmake | 2 +- > >>> - 1 file changed, 1 insertion(+), 1 deletion(-) > >>> - > >>> -diff --git a/cmake/modules/FindPython/Support.cmake > >>> b/cmake/modules/FindPython/Support.cmake > >>> -index 6584699b79..c05bbe3306 100644 > >>> ---- a/cmake/modules/FindPython/Support.cmake > >>> -+++ b/cmake/modules/FindPython/Support.cmake > >>> -@@ -17,7 +17,7 @@ if (NOT DEFINED > >>> _${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR) > >>> - message (FATAL_ERROR "FindPython: INTERNAL ERROR") > >>> - endif() > >>> - if (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 3) > >>> -- set(_${_PYTHON_PREFIX}_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0) > >>> -+ set(_${_PYTHON_PREFIX}_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 > >>> 3.0) > >>> - elseif (_${_PYTHON_PREFIX}_REQUIRED_VERSION_MAJOR EQUAL 2) > >>> - set(_${_PYTHON_PREFIX}_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) > >>> - else() > >>> --- > >>> -2.18.2 > >>> - > >>> diff --git > >>> a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch > >>> b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch > >>> index 310bfa4..1062ae7 100644 > >>> --- > >>> a/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch > >>> +++ > >>> b/recipes-extended/ceph/ceph/0001-fix-host-library-paths-were-used.patch > >>> @@ -1,4 +1,4 @@ > >>> -From bbf1cba8feb0e43492a1f6a6b31d024117cad262 Mon Sep 17 00:00:00 2001 > >>> +From a7f56278dd4762c56cccd559e260e51092763cac Mon Sep 17 00:00:00 2001 > >>> From: Hongxu Jia <[email protected]> > >>> Date: Mon, 13 Apr 2020 23:35:41 -0700 > >>> Subject: [PATCH] fix host library paths were used > >>> @@ -8,6 +8,7 @@ Test the existence of recipe-sysrooot, add it back if lost > >>> Upstream-Status: Inappropriate [oe specific] > >>> > >>> Signed-off-by: Hongxu Jia <[email protected]> > >>> + > >>> --- > >>> src/pybind/cephfs/setup.py | 6 +++++- > >>> src/pybind/rados/setup.py | 6 +++++- > >>> @@ -16,11 +17,11 @@ Signed-off-by: Hongxu Jia <[email protected]> > >>> 4 files changed, 20 insertions(+), 4 deletions(-) > >>> > >>> diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py > >>> -index c9a25ccf..972f936c 100755 > >>> +index 87cdeb473..5144c8441 100755 > >>> --- a/src/pybind/cephfs/setup.py > >>> +++ b/src/pybind/cephfs/setup.py > >>> -@@ -63,9 +63,13 @@ def get_python_flags(libs): > >>> - distutils.sysconfig.get_config_vars('LIBS', > >>> 'SYSLIBS')), []) > >>> +@@ -65,10 +65,14 @@ def get_python_flags(libs): > >>> + filter(lambda lib: lib.startswith('-l'), py_libs)] > >>> compiler = new_compiler() > >>> distutils.sysconfig.customize_compiler(compiler) > >>> + libpl = distutils.sysconfig.get_config_var('LIBPL') > >>> @@ -29,17 +30,18 @@ index c9a25ccf..972f936c 100755 > >>> + libpl = sysroot + libpl > >>> return dict( > >>> include_dirs=[distutils.sysconfig.get_python_inc()], > >>> -- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> -+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), > >>> libpl], > >>> - libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> + library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> +- libraries=libs + py_libs, > >>> ++ libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> extra_compile_args=filter_unsupported_flags( > >>> compiler.compiler[0], > >>> + compiler.compiler[1:] + > >>> distutils.sysconfig.get_config_var('CFLAGS').split()), > >>> diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py > >>> -index 4e99d267..de24f766 100755 > >>> +index feafb605d..82aff5154 100755 > >>> --- a/src/pybind/rados/setup.py > >>> +++ b/src/pybind/rados/setup.py > >>> -@@ -66,9 +66,13 @@ def get_python_flags(libs): > >>> - distutils.sysconfig.get_config_vars('LIBS', > >>> 'SYSLIBS')), []) > >>> +@@ -63,10 +63,14 @@ def get_python_flags(libs): > >>> + filter(lambda lib: lib.startswith('-l'), py_libs)] > >>> compiler = new_compiler() > >>> distutils.sysconfig.customize_compiler(compiler) > >>> + libpl = distutils.sysconfig.get_config_var('LIBPL') > >>> @@ -48,17 +50,18 @@ index 4e99d267..de24f766 100755 > >>> + libpl = sysroot + libpl > >>> return dict( > >>> include_dirs=[distutils.sysconfig.get_python_inc()], > >>> -- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> -+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), > >>> libpl], > >>> - libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> + library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> +- libraries=libs + py_libs, > >>> ++ libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> extra_compile_args=filter_unsupported_flags( > >>> compiler.compiler[0], > >>> + compiler.compiler[1:] + > >>> distutils.sysconfig.get_config_var('CFLAGS').split()), > >>> diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py > >>> -index f5bbbdab..a1f70e1d 100755 > >>> +index b9c6a78d2..4ef714f8d 100755 > >>> --- a/src/pybind/rbd/setup.py > >>> +++ b/src/pybind/rbd/setup.py > >>> -@@ -63,9 +63,13 @@ def get_python_flags(libs): > >>> - distutils.sysconfig.get_config_vars('LIBS', > >>> 'SYSLIBS')), []) > >>> +@@ -65,10 +65,14 @@ def get_python_flags(libs): > >>> + filter(lambda lib: lib.startswith('-l'), py_libs)] > >>> compiler = new_compiler() > >>> distutils.sysconfig.customize_compiler(compiler) > >>> + libpl = distutils.sysconfig.get_config_var('LIBPL') > >>> @@ -67,17 +70,18 @@ index f5bbbdab..a1f70e1d 100755 > >>> + libpl = sysroot + libpl > >>> return dict( > >>> include_dirs=[distutils.sysconfig.get_python_inc()], > >>> -- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> -+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), > >>> libpl], > >>> - libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> + library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> +- libraries=libs + py_libs, > >>> ++ libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> extra_compile_args=filter_unsupported_flags( > >>> compiler.compiler[0], > >>> + compiler.compiler[1:] + > >>> distutils.sysconfig.get_config_var('CFLAGS').split()), > >>> diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py > >>> -index b9f2428c..f5119f73 100755 > >>> +index 695038c0e..2521f0cbb 100755 > >>> --- a/src/pybind/rgw/setup.py > >>> +++ b/src/pybind/rgw/setup.py > >>> -@@ -64,9 +64,13 @@ def get_python_flags(libs): > >>> - distutils.sysconfig.get_config_vars('LIBS', > >>> 'SYSLIBS')), []) > >>> +@@ -65,10 +65,14 @@ def get_python_flags(libs): > >>> + filter(lambda lib: lib.startswith('-l'), py_libs)] > >>> compiler = new_compiler() > >>> distutils.sysconfig.customize_compiler(compiler) > >>> + libpl = distutils.sysconfig.get_config_var('LIBPL') > >>> @@ -86,11 +90,9 @@ index b9f2428c..f5119f73 100755 > >>> + libpl = sysroot + libpl > >>> return dict( > >>> include_dirs=[distutils.sysconfig.get_python_inc()], > >>> -- library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> -+ library_dirs=[distutils.sysconfig.get_config_var('LIBDIR'), > >>> libpl], > >>> - libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> + library_dirs=distutils.sysconfig.get_config_vars('LIBDIR', > >>> 'LIBPL'), > >>> +- libraries=libs + py_libs, > >>> ++ libraries=libs + [lib.replace('-l', '') for lib in py_libs], > >>> extra_compile_args=filter_unsupported_flags( > >>> compiler.compiler[0], > >>> --- > >>> -2.21.0 > >>> - > >>> + compiler.compiler[1:] + > >>> distutils.sysconfig.get_config_var('CFLAGS').split()), > >>> diff --git > >>> a/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch > >>> > >>> b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch > >>> new file mode 100644 > >>> index 0000000..2c9cd11 > >>> --- /dev/null > >>> +++ > >>> b/recipes-extended/ceph/ceph/0001-libcephsqlite-Add-library-soversion-properties.patch > >>> @@ -0,0 +1,31 @@ > >>> +From ce36ce7d1c0f954d1532a759f4d7b09d87287dac Mon Sep 17 00:00:00 2001 > >>> +From: Saul Wold <[email protected]> > >>> +Date: Thu, 22 Apr 2021 08:05:57 -0700 > >>> +Subject: [PATCH] libcephsqlite: Add library soversion properties > >>> + > >>> +This additional properties are needed to ensure the library > >>> +is installed with an soversion so that when the library is > >>> +packaged it gets packaged corectly in the ceph package and > >>> +ceph-dev package as the link. > >>> + > >>> +Upstream-Status: pending > >>> +Signed-off-by: Saul Wold <[email protected]> > >>> +--- > >>> + src/CMakeLists.txt | 4 ++++ > >>> + 1 file changed, 4 insertions(+) > >>> + > >>> +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt > >>> +index 37db48f86..8dc7bdb56 100644 > >>> +--- a/src/CMakeLists.txt > >>> ++++ b/src/CMakeLists.txt > >>> +@@ -804,6 +804,10 @@ if(WITH_LIBCEPHSQLITE) > >>> + set(cephsqlite_srcs libcephsqlite.cc SimpleRADOSStriper.cc) > >>> + add_library(cephsqlite ${CEPH_SHARED} ${cephsqlite_srcs}) > >>> + target_link_libraries(cephsqlite PRIVATE cls_lock_client librados > >>> ceph-common SQLite3::SQLite3 ${EXTRALIBS}) > >>> ++ set_target_properties(cephsqlite PROPERTIES > >>> ++ OUTPUT_NAME cephsqlite > >>> ++ VERSION 1.0.0 > >>> ++ SOVERSION 1) > >>> + install(TARGETS cephsqlite DESTINATION ${CMAKE_INSTALL_LIBDIR}) > >>> + endif(WITH_LIBCEPHSQLITE) > >>> + > >>> diff --git a/recipes-extended/ceph/ceph_15.2.9.bb > >>> b/recipes-extended/ceph/ceph_16.2.1.bb > >>> similarity index 61% > >>> rename from recipes-extended/ceph/ceph_15.2.9.bb > >>> rename to recipes-extended/ceph/ceph_16.2.1.bb > >>> index 0d821f0..2771c29 100644 > >>> --- a/recipes-extended/ceph/ceph_15.2.9.bb > >>> +++ b/recipes-extended/ceph/ceph_16.2.1.bb > >>> @@ -1,10 +1,65 @@ > >>> +# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool > >>> upgrade'. > >>> +# The following is the difference between the old and the new license > >>> text. > >>> +# Please update the LICENSE value if needed, and summarize the changes in > >>> +# the commit message via 'License-Update:' tag. > >>> +# (example: 'License-Update: copyright years updated.') > >>> +# > >>> +# The changes: > >>> +# > >>> +# --- COPYING > >>> +# +++ COPYING > >>> +# @@ -7,6 +7,11 @@ > >>> +# Copyright: (c) 2004-2010 by Sage Weil <[email protected]> > >>> +# License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3) > >>> +# > >>> +# +Files: cmake/modules/FindPython* > >>> +# +Copyright: > >>> +# + Copyright 2000-2020 Kitware, Inc. and Contributors > >>> +# +License: BSD 3-clause > >>> +# + > >>> +# Files: cmake/modules/FindLTTngUST.cmake > >>> +# Copyright: > >>> +# Copyright 2016 Kitware, Inc. > >>> +# @@ -31,6 +36,10 @@ > >>> +# Files: src/include/ceph_hash.cc > >>> +# Copyright: None > >>> +# License: Public domain > >>> +# + > >>> +# +Files: src/include/rados.h, except ceph_stable_mod(), which is public > >>> domain > >>> +# +Copyright: the authors > >>> +# +License: LGPL-2.1 or LGPL-3 (see COPYING-LGPL2.1 and COPYING-LGPL3) > >>> +# > >>> +# Files: src/common/bloom_filter.hpp > >>> +# Copyright: Copyright (C) 2000 Arash Partow <[email protected]> > >>> +# @@ -191,4 +200,17 @@ > >>> +# > >>> +# Files: src/include/function2.hpp > >>> +# Copyright: 2015-2018, Denis Blank > >>> +# -License: Boost Software License, Version 1.0+License: Boost Software > >>> License, Version 1.0 > >>> +# + > >>> +# +Files: src/include/expected.hpp > >>> +# +Copyright: 2017, Simon Brand > >>> +# +License: CC0 > >>> +# + > >>> +# +Files: src/include/uses_allocator.h > >>> +# +Copyright: 2016, Pablo Halpern <[email protected]> > >>> +# +License: Boost Software License, Version 1.0 > >>> +# + > >>> +# +Files: src/common/async/bind_allocator.h > >>> +# +Copyright: 2020 Red Hat <[email protected]> > >>> +# + 2003-2019 Christopher M. Kohlhoff <[email protected]> > >>> +# +License: Boost Software License, Version 1.0 > >>> +# > >>> +# > >>> + > >>> SUMMARY = "User space components of the Ceph file system" > >>> LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT" > >>> LIC_FILES_CHKSUM = > >>> "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \ > >>> > >>> file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ > >>> - file://COPYING;md5=4eb012c221c5fd4b760029a2981a6754 \ > >>> -" > >>> -inherit cmake python3native python3-dir systemd > >>> + file://COPYING;md5=d140fb1fedb53047f0d0830883e7af9f \ > >>> + " > >>> +inherit cmake distutils3-base systemd > >>> + > >>> # Disable python pybind support for ceph temporary, when corss > >>> compiling pybind, > >>> # pybind mix cmake and python setup environment, would case a lot of > >>> errors. > >>> > >>> @@ -12,15 +67,13 @@ SRC_URI = > >>> "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \ > >>> file://0001-ceph-fix-build-errors-for-cross-compile.patch \ > >>> file://0001-fix-host-library-paths-were-used.patch \ > >>> file://ceph.conf \ > >>> - file://0001-add-missing-include-for-atomic-bool.patch \ > >>> - file://0001-cmake-add-support-for-python3.9.patch \ > >>> -" > >>> + > >>> file://0001-libcephsqlite-Add-library-soversion-properties.patch \ > >>> + " > >>> > >>> -SRC_URI[md5sum] = "5a949b91199efe130bfe2e57f200eacd" > >>> -SRC_URI[sha256sum] = > >>> "ea7fa2be68b3570c5c3aa02774dca27de20b6f20a8498f65e5c4ef375a209ace" > >>> -SRC_URI[sha1sum] = "0503649d7c7d9268cb61b03bbe839106988f87d7" > >>> -SRC_URI[sha384sum] = > >>> "57208c126ea8e640c3979073fd64ce58606f17b4b7ed2e005b0792bdfd51b13391af325658d0f68f961f94175d93e891" > >>> -SRC_URI[sha512sum] = > >>> "1f55b0a13bf06df782831d0c9d5f8617c22442ab97fb186e6ccb08183e02bf1756caf8633fa6b1cf156c3fb7b1bdff90a60a1249adfad0b9450036e2329bf8ff" > >>> +SRC_URI[sha1sum] = "2a977307df2e054361e2c20e378ecc50b399b1ee" > >>> +SRC_URI[sha256sum] = > >>> "30ff943287361b4c3f0a9bf8bcd4399751b91434eec7d602ce6e93c42c741be3" > >>> +SRC_URI[sha384sum] = > >>> "1974cd6877afcc8d90aa389326f9462174f47260d26066b7b6e09d4218622226d504c9d5405fea5b295bf68364c1990b" > >>> +SRC_URI[sha512sum] = > >>> "42e404aa41565485dc4c08b66efb3de719adee72cfc535586992e15ab4601bfbd909ef61abf412badbbfa7ef13bf91a7c0576fbbf3f9f687bc7b465b21a8c416" > >>> > >>> DEPENDS = "boost bzip2 curl expat gperf-native \ > >>> keyutils libaio libibverbs lz4 \ > >>> @@ -28,6 +81,7 @@ DEPENDS = "boost bzip2 curl expat gperf-native \ > >>> oath openldap openssl \ > >>> python3 python3-cython-native rabbitmq-c rocksdb snappy udev > >>> \ > >>> valgrind xfsprogs zlib \ > >>> + lua cryptsetup \ > >>> " > >>> SYSTEMD_SERVICE_${PN} = " \ > >>> [email protected] \ > >>> @@ -92,6 +146,14 @@ do_install_append () { > >>> mv ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph > >>> # WITH_FUSE is set to OFF, remove ceph-fuse related units > >>> rm ${D}${systemd_unitdir}/system/ceph-fuse.target > >>> ${D}${systemd_unitdir}/system/[email protected] > >>> + # Fix up cehpfs-top and any other python installed with wrong #! > >>> + for i in ${D}${bindir}/* ${D}${sbindir}/*; do > >>> + if [ -f "$i" ]; then > >>> + sed -i -e s:${PYTHON}:${USRBINPATH}/env\ > >>> ${DISTUTILS_PYTHON}:g $i > >>> + sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i > >>> + fi > >>> + done > >>> + > >>> } > >>> > >>> do_install_append_class-target () { > >>> @@ -116,7 +178,7 @@ FILES_${PN} += "\ > >>> ${libdir}/rados-classes/*.so.* \ > >>> ${libdir}/ceph/compressor/*.so \ > >>> ${libdir}/rados-classes/*.so \ > >>> - ${libdir}/ceph/*.so \ > >>> + ${libdir}/ceph/*.so \ > >>> " > >>> > >>> FILES_${PN} += " \ > >>> @@ -133,11 +195,10 @@ RDEPENDS_${PN} += "\ > >>> python3-modules \ > >>> python3-prettytable \ > >>> ${PN}-python \ > >>> + gawk \ > >>> " > >>> COMPATIBLE_HOST = "(x86_64).*" > >>> -PACKAGES += " \ > >>> - ${PN}-python \ > >>> -" > >>> +PACKAGE_BEFORE_PN += "${PN}-python" > >>> INSANE_SKIP_${PN}-python += "ldflags" > >>> INSANE_SKIP_${PN} += "dev-so" > >>> CCACHE_DISABLE = "1" > >>> -- > >>> 2.25.1 > >>> > >>> > >>> > >>> > >> > >> > >> -- > >> - Thou shalt not follow the NULL pointer, for chaos and madness await > >> thee at its end > >> - "Use the force Harry" - Gandalf, Star Trek II > > > > > > > > -- > Sau! -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#6467): https://lists.yoctoproject.org/g/meta-virtualization/message/6467 Mute This Topic: https://lists.yoctoproject.org/mt/82383689/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
