Package: boost1.88
Version: 1.88.0-1
Tags: patch

In <URL: 
https://buildd.debian.org/status/fetch.php?pkg=boost1.88&arch=alpha&ver=1.88.0-1&stamp=1745311001&raw=0
 >
the build fail like this:

    "g++"   -fvisibility-inlines-hidden -g -O2 
-ffile-prefix-map=/build/reproducible-path/boost1.88-1.88.0=. -Wformat 
-Werror=format-security -Wno-unused-local-typedefs -fPIC -pthread -O3 
-finline-functions -Wno-inline -Wall -g -fvisibility=hidden -Wdate-time 
-D_FORTIFY_SOURCE=2  -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED 
-DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_ATOMIC_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 
-DBOOST_CONTEXT_DYN_LINK=1 -DBOOST_CONTEXT_NO_LIB=1 
-DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_DISABLE_ASSERTS 
-DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_FILESYSTEM_NO_LIB=1 
-DBOOST_PROCESS_DYN_LINK=1 -DBOOST_PROCESS_SOURCE=1 -DBOOST_SYSTEM_DYN_LINK=1 
-DBOOST_SYSTEM_NO_LIB=1 -DDATE_TIME_INLINE -DNDEBUG   -I"." 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/asio/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/assert/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/atomic/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/concept_check/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/container_hash/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/context/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/core/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/describe/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/detail/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/filesystem/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/integer/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/iterator/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/move/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/mp11/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/mpl/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/optional/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/pool/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/predef/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/process/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/scope/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/smart_ptr/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/system/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/throw_exception/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/tokenizer/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/type_index/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/variant2/include" 
-I"/build/reproducible-path/boost1.88-1.88.0/libs/winapi/include"  -c -o 
"bin.v2/libs/process/build/gcc-14/release/boost.process.fs-boost/debug-symbols-on/threading-multi/visibility-hidden/error.o"
 "/build/reproducible-path/boost1.88-1.88.0/libs/process/src/error.cpp"

/build/reproducible-path/boost1.88-1.88.0/libs/process/src/error.cpp: In member 
function ‘virtual std::string 
boost::process::v2::error::detail::exit_code_category::message(int) const’:
/build/reproducible-path/boost1.88-1.88.0/libs/process/src/error.cpp:128:21: 
error: duplicate case value
  128 |                     case SIGPWR: return "SIGPWR:    Power failure 
(System V)";
      |                     ^~~~
/build/reproducible-path/boost1.88-1.88.0/libs/process/src/error.cpp:104:21: 
note: previously used here
  104 |                     case SIGINFO: return "SIGINFO:   A synonym for 
SIGPWR";
      |                     ^~~~
...failed gcc.compile.c++ 
bin.v2/libs/process/build/gcc-14/release/boost.process.fs-boost/debug-symbols-on/threading-multi/visibility-hidden/error.o...

I propose the following untested patch to solve it, structured like
similar tests other places in the large switch block.

--- libs/process/src/error.cpp  2025-04-21 21:14:05.000000000 +0200
+++ /tmp/error.cpp      2025-05-02 07:52:20.000000000 +0200
@@ -100,7 +100,7 @@
 #            if defined(SIGILL)
                     case SIGILL: return "SIGILL:    Illegal Instruction";
 #            endif
-#            if defined(SIGINFO)
+#            if defined(SIGINFO) && !defined(SIGPWR)
                     case SIGINFO: return "SIGINFO:   A synonym for SIGPWR";
 #            endif
 #            if defined(SIGINT)

Or perhaps it is better to compare SIGINFO with SIGPWR and only include
the SIGINFO case if they are different?

-- 
Happy hacking
Petter Reinholdtsen

Reply via email to