Source: boost1.74 Version: 1.74.0-4 Severity: important Tags: patch upstream fixed-upstream X-Debbugs-Cc: gl...@debian.org Control: forwarded -1 https://github.com/boostorg/build/pull/676
Hi, boost 1.71 currently fails to build on Hurd [1]. The issue is that boost build ("b2") now tries to get its path (i.e. the full path of the running executable), and the function for this is not implemented on Hurd; the effect is that launching b2 with a relative path, like ./b2 as done at different times during the build, fails. I recently sent upstream few small improvements for Hurd [2], including the fix for the aforementioned issue. The series was recently merged upstream for the future 1.76.0, so I'm attaching here only the part of it needed to make b2 run properly (the rest is improvements that can definitely wait for newer boost versions). [1] https://buildd.debian.org/status/fetch.php?pkg=boost1.74&arch=hurd-i386&ver=1.74.0-4&stamp=1607921711&raw=0 [2] https://github.com/boostorg/build/pull/676 Thanks, -- Pino
Author: Pino Toscano <toscano.p...@tiscali.it> Description: Use /proc/self/exe for executable_path on Hurd . Use the Linux compatibility procfs translator to get the full path of the current executable. Origin: https://github.com/boostorg/build/commit/25879fc24d96c89e817e7950ec92d6e2cb41e1b3 Applied-Upstream: 1.76.0 --- a/tools/build/src/engine/jam.cpp +++ b/tools/build/src/engine/jam.cpp @@ -747,7 +747,7 @@ char * executable_path( char const * arg sysctl( mib, 4, buf, &size, NULL, 0 ); return ( !size || size == sizeof( buf ) ) ? NULL : strndup( buf, size ); } -#elif defined(__linux__) +#elif defined(__linux__) || defined(__GNU__) # include <unistd.h> char * executable_path( char const * argv0 ) {