build errors with `_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- cpp, linux
- 領域
- build-system
調査の方向性
ビルド出力では src/helpers/buffer.cpp が示されており、clang と libc++ でコンパイルしたときに87行目と137行目で std::string の宣言が見つからないことが示されています。まず、このファイルのインクルードと、オプション _LIBCPP_REMOVE_TRANSITIVE_INCLUDES に関するプロジェクトのビルド設定を確認してください。このオプションを指定して報告されたビルドが成功すれば完了です。issue では CI ジョブの検討も提案されています。
索引モデルが issue の本文から書いたものです。
説明
FYI, there are some missing includes that are revealed with clang + libc++. It's not too big of a problem, but it might be useful to fix / add ci job.
FAILED: [code=1] src/libpisp.so.1.7.0.p/helpers_buffer.cpp.o
/usr/bin/ccache clang++ -Isrc/libpisp.so.1.7.0.p -Isrc -I../src -Isrc/libpisp -I../src/libpisp -I/usr/include -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -D_GLIBCXX_DEBUG=1 -U_LIBCPP_HARDENING_MODE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -std=c++20 -O0 -g -DPISP_LOGGING_ENABLE=1 -DBOOST_BIND_GLOBAL_PLACEHOLDERS -Wno-address-of-packed-member -stdlib=libc++ -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -fPIC -pthread -DBOOST_LOG_DYN_LINK=1 -DBOOST_LOG_SETUP_DYN_LINK=1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_USE_DLL=1 -DBOOST_ALL_NO_LIB -MD -MQ src/libpisp.so.1.7.0.p/helpers_buffer.cpp.o -MF src/libpisp.so.1.7.0.p/helpers_buffer.cpp.o.d -o src/libpisp.so.1.7.0.p/helpers_buffer.cpp.o -c ../src/helpers/buffer.cpp
../src/helpers/buffer.cpp:87:52: error: implicit instantiation of undefined template 'std::basic_string<char>'
87 | throw std::runtime_error("Unable to dup fd: " + std::string(strerror(errno)));
| ^
/usr/bin/../include/c++/v1/__fwd/string.h:43:7: note: template is declared here
43 | class basic_string;
| ^
../src/helpers/buffer.cpp:87:50: error: invalid operands to binary expression ('const char[19]' and 'std::string' (aka 'basic_string<char>'))
87 | throw std::runtime_error("Unable to dup fd: " + std::string(strerror(errno)));
| ~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../include/c++/v1/__iterator/reverse_iterator.h:293:1: note: candidate template ignored: could not match 'reverse_iterator' against 'basic_string'
293 | operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x) {
| ^
../src/helpers/buffer.cpp:137:52: error: implicit instantiation of undefined template 'std::basic_string<char>'
137 | throw std::runtime_error("Unable to dup fd: " + std::string(strerror(errno)));
| ^
/usr/bin/../include/c++/v1/__fwd/string.h:43:7: note: template is declared here
43 | class basic_string;
| ^
../src/helpers/buffer.cpp:137:50: error: invalid operands to binary expression ('const char[19]' and 'std::string' (aka 'basic_string<char>'))
137 | throw std::runtime_error("Unable to dup fd: " + std::string(strerror(errno)));
| ~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../include/c++/v1/__iterator/reverse_iterator.h:293:1: note: candidate template ignored: could not match 'reverse_iterator' against 'basic_string'
293 | operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x) {
| ^
4 errors generated.
- 主要言語
- C++
- スター
- 14
- フォーク
- 23
- 平均マージ
- 2時間 43分
- マージ済み PR(30日)
- 1
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
raspberrypi/libpisp のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
raspberrypi/libpisp#76 · コメント 1 件 ·
raspberrypi/libpisp の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ROCm/rocm-libraries#14027 ·
メンテナーはふだん 2 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
Qiskit/qiskit-aer#2487 ·
メンテナーはふだん 1 日以内に返信
-
GUI
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
qbittorrent/qBittorrent#25104 ·
メンテナーはふだん 2 日以内に返信
-
P2: A timed rotation maneuver does nothing on a ship that had an earlier timed lateral maneuverオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
scp-fs2open/fs2open.github.com#7914 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 2 日以内に返信