Hi Luciano,

Christopher and I looked at this today during the SRU shift.

* Why is the exporter module being enabled now?
* Does the exporter module get packaged, and where?
* Does the exporter module work, and what is the testcase?
* Does any other ceph components use the vendored boost library?
* Does the Security Team know we are using the vendored boost library instead
of the distro packaged one?
* Can the exporter module be patched to build with the distro packaged boost
library instead?

I had a look at the build log, and came across:

[ 51%] Building CXX object 
src/exporter/CMakeFiles/ceph-exporter.dir/ceph_exporter.cc.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/exporter && /usr/bin/c++ 
-DBOOST_ALL_NO_LIB -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION 
-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DBOOST_ATOMIC_DYN_LINK 
-DBOOST_DATE_TIME_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK 
-DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_RANDOM_DYN_LINK 
-DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DHAVE_CONFIG_H 
-D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT 
-D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ 
-I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/include -I/<<PKGBUILDDIR>>/src 
-isystem /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/include -isystem 
/<<PKGBUILDDIR>>/src/xxHash -isystem /<<PKGBUILDDIR>>/src/rapidjson/include 
-isystem /<<PKGBUILDDIR>>/src/fmt/include -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -fPIE   
-U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc 
-fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits 
-Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self 
-Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers 
-ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move 
-Wstrict-null-sentinel -Woverloaded-virtual -fno-new-ttp-matching 
-fstack-protector-strong -fdiagnostics-color=auto -std=c++17 -MD -MT 
src/exporter/CMakeFiles/ceph-exporter.dir/ceph_exporter.cc.o -MF 
CMakeFiles/ceph-exporter.dir/ceph_exporter.cc.o.d -o 
CMakeFiles/ceph-exporter.dir/ceph_exporter.cc.o -c 
/<<PKGBUILDDIR>>/src/exporter/ceph_exporter.cc
[ 51%] Building CXX object 
src/exporter/CMakeFiles/ceph-exporter.dir/DaemonMetricCollector.cc.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/exporter && /usr/bin/c++ 
-DBOOST_ALL_NO_LIB -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION 
-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DBOOST_ATOMIC_DYN_LINK 
-DBOOST_DATE_TIME_DYN_LINK -DBOOST_IOSTREAMS_DYN_LINK 
-DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_RANDOM_DYN_LINK 
-DBOOST_SYSTEM_DYN_LINK -DBOOST_THREAD_DYN_LINK -DHAVE_CONFIG_H 
-D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT 
-D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ 
-I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/include -I/<<PKGBUILDDIR>>/src 
-isystem /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/include -isystem 
/<<PKGBUILDDIR>>/src/xxHash -isystem /<<PKGBUILDDIR>>/src/rapidjson/include 
-isystem /<<PKGBUILDDIR>>/src/fmt/include -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -fPIE   
-U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc 
-fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits 
-Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self 
-Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers 
-ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move 
-Wstrict-null-sentinel -Woverloaded-virtual -fno-new-ttp-matching 
-fstack-protector-strong -fdiagnostics-color=auto -std=c++17 -MD -MT 
src/exporter/CMakeFiles/ceph-exporter.dir/DaemonMetricCollector.cc.o -MF 
CMakeFiles/ceph-exporter.dir/DaemonMetricCollector.cc.o.d -o 
CMakeFiles/ceph-exporter.dir/DaemonMetricCollector.cc.o -c 
/<<PKGBUILDDIR>>/src/exporter/DaemonMetricCollector.cc

When it gets linked, it gets linked to system boost libraries:

[ 52%] Linking CXX executable ../../bin/ceph-exporter
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/exporter && /usr/bin/cmake -E 
cmake_link_script CMakeFiles/ceph-exporter.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
-D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-Bsymbolic-functions -Wl,-z,relro 
-Wl,-z,now -Wl,--as-needed -latomic -rdynamic 
CMakeFiles/ceph-exporter.dir/ceph_exporter.cc.o 
CMakeFiles/ceph-exporter.dir/DaemonMetricCollector.cc.o 
CMakeFiles/ceph-exporter.dir/http_server.cc.o 
CMakeFiles/ceph-exporter.dir/util.cc.o -o ../../bin/ceph-exporter  
-Wl,-rpath,/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/lib: 
../../lib/libglobal-static.a ../../lib/libceph-common.so.2 
../../lib/libcommon.a ../../lib/libjson_spirit.a ../../lib/libcommon_utf8.a 
../../lib/liberasure_code.a ../../lib/libcrc32.a ../../lib/libarch.a -lresolv 
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.74.0 
/usr/lib/x86_64-linux-gnu/libboost_atomic.so.1.74.0 
/usr/lib/x86_64-linux-gnu/libboost_random.so.1.74.0 
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.74.0 
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.74.0 
/usr/lib/x86_64-linux-gnu/libboost_date_time.so.1.74.0 
/usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.74.0 ../../lib/libfmt.a 
/usr/lib/x86_64-linux-gnu/libblkid.so /usr/lib/x86_64-linux-gnu/libcrypto.so 
-ldl /usr/lib/x86_64-linux-gnu/libudev.so 
/usr/lib/x86_64-linux-gnu/libibverbs.so /usr/lib/x86_64-linux-gnu/librdmacm.so 
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
[ 52%] Built target ceph-exporter

I installed all the ceph packages from my build ppa, but /usr/bin/ceph-exporter
does not exist.

I don't think it gets packaged anywhere.

If it doesn't get packaged, do we really need to build it in the first
place?

There are a few instances of src/* files using the vendored ceph library to
build, but its not many compared to the use of system libraries. Do we really
want to introduce another exception to system libraries?

Thanks,
Matthew

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2100625

Title:
  [SRU] ceph 17.2.9

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2100625/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to