Bug #59690
openceph fails to build, fatal error: global_legacy_options.h: No such file or directory
0%
Description
see https://bugzilla.redhat.com/show_bug.cgi?id=2196438
In file included from /builddir/build/BUILD/ceph-17.2.6/src/common/config_values.h:59,
from /builddir/build/BUILD/ceph-17.2.6/src/common/config.h:27,
from /builddir/build/BUILD/ceph-17.2.6/src/common/config_proxy.h:6,
from /builddir/build/BUILD/ceph-17.2.6/src/common/ceph_context.h:41,
from /builddir/build/BUILD/ceph-17.2.6/src/common/dout.h:29,
from /builddir/build/BUILD/ceph-17.2.6/src/include/Context.h:19,
from /builddir/build/BUILD/ceph-17.2.6/src/mon/mon_types.h:20,
from /builddir/build/BUILD/ceph-17.2.6/src/mon/MonMap.h:28,
from /builddir/build/BUILD/ceph-17.2.6/src/krbd.cc:44:
/builddir/build/BUILD/ceph-17.2.6/src/common/options/legacy_config_opts.h:1:10: fatal error: global_legacy_options.h: No such file or directory
1 | #include "global_legacy_options.h"
| ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
https://github.com/ceph/ceph/commit/3b3da64d741960e2ecb217c1990142f4a88f2fa3 attempted to fix it but it is still seen occasionally even in 17.2.6 and main.
Updated by Kaleb KEITHLEY 12 months ago
fwiw I tried adding the following change to try to eliminate the race.
--- ceph-17.2.6/src/CMakeLists.txt.orig 2023-05-10 10:00:58.457793274 -0400
++ ceph-17.2.6/src/CMakeLists.txt 2023-05-10 10:01:31.553198698 -0400@ -809,6 +809,7
@
if(WITH_KRBD)
add_library(krbd STATIC krbd.cc
$<TARGET_OBJECTS:parse_secret_objs>)
add_dependencies(krbd legacy-option-headers)
target_link_libraries(krbd keyutils::keyutils)
endif()
add_subdirectory(librbd)
Updated by Kaleb KEITHLEY 11 months ago
I have also seen similar build fail when building rados_snap_set.cc and attempted to fix it with:
--- ceph-18.1.0/src/CMakeLists.txt.orig 2023-06-13 18:30:25.525122669 -0400
+++ ceph-18.1.0/src/CMakeLists.txt 2023-06-13 18:31:43.395812352 -0400@ -615,6 +615,8
@
add_library(rados_snap_set_diff_obj OBJECT librados/snap_set_diff.cc)
add_dependencies(rados_snap_set_diff_obj legacy-option-headers)
option(WITH_LIBRADOSSTRIPER "build with libradosstriper support" ON)
add_subdirectory(include)
Updated by Kaleb KEITHLEY 11 months ago
- Affected Versions v18.0.0, v18.1.0 added