Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

"checking whether Boost.Process can be used" fails with Boost 1.88.0

Aperta
#1,496 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cpp
Ambito
build-system

Direzione di ricerca

Inizia con il controllo di Boost.Process intorno alla riga 35973 di configure, usando il config.log allegato, e confrontalo con la macro di rilevamento AX_BOOST_PROCESS. Riproduci il problema con Boost 1.88.0 e --enable-external-signer. Il lavoro è completato quando la configurazione accetta Boost 1.88.0 e la firma esterna è abilitata senza il fallimento dovuto alla libreria di collegamento mancante.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

checking for boostlib >= 1.64.0 (106400)... yes
checking whether Boost.Process can be used... no
configure: error: External signing is not supported for this Boost version

config.log contains:

configure:35973: checking whether Boost.Process can be used
configure:35992: x86_64-pc-linux-gnu-g++-16 -std=c++17 -o conftest -pipe -march=native -Os -fno-extended-identifiers -Wno-error=narrowing  -DHAVE_BUILD_INFO -DPROVIDE_FUZZ_MAIN_FUNCTION -I/usr/include -Wl,-O2 -Wl,--as-needed -Wl,--sort-common -Wl,-z,pack-relative-relocs -pthread conftest.cpp  >&5
/usr/lib/gcc/x86_64-pc-linux-gnu/16/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/net-p2p/elements-23.3.1_rc2/temp/cc704VyW.o: in function `_GLOBAL__sub_I_main':
conftest.cpp:(.text.startup+0x5): undefined reference to `boost::process::v2::error::get_utf8_category()'
/usr/lib/gcc/x86_64-pc-linux-gnu/16/../../../../x86_64-pc-linux-gnu/bin/ld: conftest.cpp:(.text.startup+0xa): undefined reference to `boost::process::v2::error::get_exit_code_category()'
/usr/lib/gcc/x86_64-pc-linux-gnu/16/../../../../x86_64-pc-linux-gnu/bin/ld: conftest.cpp:(.text.startup+0xf): undefined reference to `boost::process::v2::get_shell_category()'
collect2: error: ld returned 1 exit status
configure:35992: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Elements Core"
| #define PACKAGE_TARNAME "elements"
| #define PACKAGE_VERSION "23.3.1rc2"
| #define PACKAGE_STRING "Elements Core 23.3.1rc2"
| #define PACKAGE_BUGREPORT "https://github.com/ElementsProject/elements/issues"
| #define PACKAGE_URL "https://elementsproject.org/"
| #define HAVE_CXX17 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define STDC_HEADERS 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define USE_ASM 1
| #define HAVE_CLMUL 1
| #define ENABLE_SSE41 1
| #define ENABLE_AVX2 1
| #define ENABLE_X86_SHANI 1
| #define HAVE_PTHREAD_PRIO_INHERIT 1
| #define HAVE_PTHREAD 1
| #define HAVE_DECL_STRERROR_R 1
| #define HAVE_STRERROR_R 1
| #define STRERROR_R_CHAR_P 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_PRCTL_H 1
| #define HAVE_DECL_GETIFADDRS 1
| #define HAVE_DECL_FREEIFADDRS 1
| #define HAVE_DECL_STRNLEN 1
| #define HAVE_DECL_FORK 1
| #define HAVE_DECL_SETSID 1
| #define HAVE_DECL_PIPE2 1
| #define HAVE_DECL_LE16TOH 1
| #define HAVE_DECL_LE32TOH 1
| #define HAVE_DECL_LE64TOH 1
| #define HAVE_DECL_HTOLE16 1
| #define HAVE_DECL_HTOLE32 1
| #define HAVE_DECL_HTOLE64 1
| #define HAVE_DECL_BE16TOH 1
| #define HAVE_DECL_BE32TOH 1
| #define HAVE_DECL_BE64TOH 1
| #define HAVE_DECL_HTOBE16 1
| #define HAVE_DECL_HTOBE32 1
| #define HAVE_DECL_HTOBE64 1
| #define HAVE_DECL_BSWAP_16 1
| #define HAVE_DECL_BSWAP_32 1
| #define HAVE_DECL_BSWAP_64 1
| #define HAVE_MALLOC_INFO 1
| #define HAVE_MALLOPT_ARENA_MAX 1
| #define HAVE_POSIX_FALLOCATE 1
| #define HAVE_DEFAULT_VISIBILITY_ATTRIBUTE 1
| #define HAVE_THREAD_LOCAL 1
| #define HAVE_GMTIME_R 1
| #define HAVE_SYS_GETRANDOM 1
| #define HAVE_GETENTROPY_RAND 1
| #define HAVE_FDATASYNC 1
| #define HAVE_O_CLOEXEC 1
| #define HAVE_STRONG_GETAUXVAL 1
| #define HAVE_SYSTEM 1
| #define HAVE_SECP256K1_ECDH 1
| #define HAVE_SECP256K1_XONLY_PUBKEY_PARSE 1
| #define HAVE_SECP256K1_GENERATOR_PARSE 1
| #define HAVE_SECP256K1_RANGEPROOF_VERIFY 1
| #define HAVE_SECP256K1_ECDSA_RECOVER 1
| #define HAVE_SECP256K1_SCHNORRSIG_VERIFY 1
| #define HAVE_SECP256K1_SURJECTIONPROOF_INITIALIZE 1
| #define HAVE_SECP256K1_WHITELIST_VERIFY 1
| #define USE_SQLITE 1
| #define HAVE_BOOST /**/
| /* end confdefs.h.  */
| #include <boost/process.hpp>
| int
| main (void)
| {
| 
|   ;
|   return 0;
| }
configure:36004: result: no
configure:36013: error: External signing is not supported for this Boost version

Expected behavior

Boost 1.88.0 should be accepted as a usable version of Boost when enabling external-signer.

Actual behavior

Configure rejects Boost 1.88.0 due to a missing link library.

To reproduce

Upgrade to Boost 1.88.0. Try to configure Elements with --enable-external-signer.

System information

Elements 23.3.1rc2

Linux 6.12.41-gentoo x86_64

Note that there is an AX_BOOST_PROCESS macro that theoretically could be used here, but it also fails to detect Boost::Process, as it appears to be attempting to use a class declared in the deprecated Process v1 headers without actually including those headers.

Lingua principale
C++
Stelle
1.2k
Fork
418
Merge medio
1g 12h
PR unite (30g)
13

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ElementsProject/elements

Tutte le issue di ElementsProject/elements

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.