Package: libboost-context1.90-dev Version: 1.90.0-6.1+b1 Severity: normal Tags: ftbfs Control: affects -1 src:cppgir
Dear Maintainer, I was investigating an FTBFS issue in one of my packages that links against Boost.Fiber and realized that this library used ucontext_t on alpha, hppa, m68k, ppc64, sh4, x32 but did not define the BOOST_USE_UCONTEXT macro in the CMake configuration scripts. Please consider adding this macro to the INTERFACE_COMPILE_DEFINITIONS property of the Boost::context target for architectures where it is needed. Alternatively, you could add appropriate #if-conditions to the config.hpp header. Below is the result of compiling of a simple example on ppc64. The example is attached. [ 50%] Linking CXX executable example /usr/bin/powerpc64-linux-gnu-ld.bfd: CMakeFiles/example.dir/example.cpp.o: in function `boost::context::fiber::~fiber()': example.cpp:(.text._ZN5boost7context5fiberD2Ev[_ZN5boost7context5fiberD5Ev]+0x84): undefined reference to `boost::context::detail::ontop_fcontext(void*, void*, boost::context::detail::transfer_t (*)(boost::context::detail::transfer_t))' /usr/bin/powerpc64-linux-gnu-ld.bfd: CMakeFiles/example.dir/example.cpp.o: in function `boost::context::fiber::resume() &&': example.cpp:(.text._ZNO5boost7context5fiber6resumeEv[_ZNO5boost7context5fiber6resumeEv]+0x9c): undefined reference to `boost::context::detail::jump_fcontext(void*, void*)' /usr/bin/powerpc64-linux-gnu-ld.bfd: CMakeFiles/example.dir/example.cpp.o: in function `void* boost::context::detail::create_fiber2<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_fixedsize_stack<boost::context::stack_traits>, std::_Bind<boost::context::fiber (boost::fibers::worker_context<void (&)()>::*(boost::fibers::worker_context<void (&)()>*, std::_Placeholder<1>))(boost::context::fiber&&)> >, boost::context::basic_fixedsize_stack<boost::context::stack_traits>, std::_Bind<boost::context::fiber (boost::fibers::worker_context<void (&)()>::*(boost::fibers::worker_context<void (&)()>*, std::_Placeholder<1>))(boost::context::fiber&&)> >(boost::context::preallocated, boost::context::basic_fixedsize_stack<boost::context::stack_traits>&&, std::_Bind<boost::context::fiber (boost::fibers::worker_context<void (&)()>::*(boost::fibers::worker_context<void (&)()>*, std::_Placeholder<1>))(boost::context::fiber&&)>&&)': example.cpp:(.text._ZN5boost7context6detail13create_fiber2INS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEES7_SL_EEPvNS0_12preallocatedEOT0_OT1_[_ZN5boost7context6detail13create_fiber2INS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEES7_SL_EEPvNS0_12preallocatedEOT0_OT1_]+0x104): undefined reference to `boost::context::detail::make_fcontext(void*, unsigned long, void (*)(boost::context::detail::transfer_t))' /usr/bin/powerpc64-linux-gnu-ld.bfd: example.cpp:(.text._ZN5boost7context6detail13create_fiber2INS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEES7_SL_EEPvNS0_12preallocatedEOT0_OT1_[_ZN5boost7context6detail13create_fiber2INS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEES7_SL_EEPvNS0_12preallocatedEOT0_OT1_]+0x154): undefined reference to `boost::context::detail::jump_fcontext(void*, void*)' /usr/bin/powerpc64-linux-gnu-ld.bfd: CMakeFiles/example.dir/example.cpp.o: in function `void boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_fixedsize_stack<boost::context::stack_traits>, std::_Bind<boost::context::fiber (boost::fibers::worker_context<void (&)()>::*(boost::fibers::worker_context<void (&)()>*, std::_Placeholder<1>))(boost::context::fiber&&)> > >(boost::context::detail::transfer_t)': example.cpp:(.text._ZN5boost7context6detail11fiber_entryINS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEEEEvNS1_10transfer_tE[_ZN5boost7context6detail11fiber_entryINS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEEEEvNS1_10transfer_tE]+0x98): undefined reference to `boost::context::detail::jump_fcontext(void*, void*)' /usr/bin/powerpc64-linux-gnu-ld.bfd: example.cpp:(.text._ZN5boost7context6detail11fiber_entryINS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEEEEvNS1_10transfer_tE[_ZN5boost7context6detail11fiber_entryINS1_12fiber_recordINS0_5fiberENS0_21basic_fixedsize_stackINS0_12stack_traitsEEESt5_BindIFMNS_6fibers14worker_contextIRFvvEJEEEFS4_OS4_EPSD_St12_PlaceholderILi1EEEEEEEEvNS1_10transfer_tE]+0x11c): undefined reference to `boost::context::detail::ontop_fcontext(void*, void*, boost::context::detail::transfer_t (*)(boost::context::detail::transfer_t))' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/example.dir/build.make:104: example] Error 1 make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/example.dir/all] Error 2 make: *** [Makefile:91: all] Error 2 Other related failures are on buildd. https://buildd.debian.org/status/fetch.php?pkg=cppgir&arch=alpha&ver=2.0%2Bgit20260518.0bdd2b6-1&stamp=1788169263&raw=0 https://buildd.debian.org/status/fetch.php?pkg=cppgir&arch=hppa&ver=2.0%2Bgit20260518.0bdd2b6-1&stamp=1788169132&raw=0 https://buildd.debian.org/status/fetch.php?pkg=cppgir&arch=ppc64&ver=2.0%2Bgit20260518.0bdd2b6-1&stamp=1788168286&raw=0 -- System Information: Debian Release: forky/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: ppc64 Kernel: Linux 5.10.0-39-amd64 (SMP w/4 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: unable to detect Versions of packages libboost-context1.90-dev depends on: ii libboost-context1.90.0 1.90.0-6.1+b1 ii libboost-thread1.90-dev 1.90.0-6.1+b1 ii libboost1.90-dev 1.90.0-6.1+b1 libboost-context1.90-dev recommends no packages. libboost-context1.90-dev suggests no packages. -- no debconf information
cmake_minimum_required(VERSION 3.18.4...4.3.4) project(FiberExample CXX) find_package(Boost REQUIRED COMPONENTS fiber) link_libraries(Boost::fiber) add_executable(example example.cpp)
#include <boost/fiber/all.hpp>
void fiber_function() {
// fiber work here
}
int main() {
boost::fibers::fiber f(fiber_function);
f.join(); // wait for fiber to complete
return 0;
}
signature.asc
Description: This is a digitally signed message part

