Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#1,496 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
cpp
領域
build-system

調査の方向性

添付された config.log を使って、まず configure の35973行目付近にある Boost.Process のプローブを確認し、AX_BOOST_PROCESS 検出マクロと比較します。Boost 1.88.0 と --enable-external-signer を使って再現してください。設定が Boost 1.88.0 を受け入れ、missing-link-library failure が発生せずに外部署名が有効になれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
C++
スター
1.2k
フォーク
418
平均マージ
1日 12時間
マージ済み PR(30日)
13

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ElementsProject/elements のほかの issue

ElementsProject/elements の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。