python / python/cpython

Build uses wrong flags with gcc: `gcc-mp-14: error: unrecognized command-line option '-fprofile-instr-generate'; did you mean '-fprofile-generate'?`

未關閉
#132,181 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

build OS-mac type-bug
主要語言
Python
星號
77.2k
分支
35.9k
PR 合併指標
PR 指標待擷取

描述

Bug report

Bug description:

Build fails on macOS with gcc when profile option is enabled, since the build uses unsupported flags without checking:

Building with support for profile generation:
/Library/Developer/CommandLineTools/usr/bin/make build_all CFLAGS_NODIST=" -fprofile-instr-generate" LDFLAGS_NODIST=" -fprofile-instr-generate" LIBS="-lintl -ldl  -framework CoreFoundation"
make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python313/python313/work/Python-3.13.2'
/opt/local/bin/gcc-mp-14 -c -fno-strict-overflow -Wsign-compare -fno-common -dynamic -DNDEBUG -g -O3 -Wall -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64   -fno-semantic-interposition -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-generate -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk   -DPy_BUILD_CORE -o Programs/python.o ./Programs/python.c
/opt/local/bin/gcc-mp-14 -c -fno-strict-overflow -Wsign-compare -fno-common -dynamic -DNDEBUG -g -O3 -Wall -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64   -fno-semantic-interposition -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-generate -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk   -DPy_BUILD_CORE -o Parser/token.o Parser/token.c
/opt/local/bin/gcc-mp-14 -c -fno-strict-overflow -Wsign-compare -fno-common -dynamic -DNDEBUG -g -O3 -Wall -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64   -fno-semantic-interposition -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-generate -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk   -DPy_BUILD_CORE -o Parser/pegen.o Parser/pegen.c
/opt/local/bin/gcc-mp-14 -c -fno-strict-overflow -Wsign-compare -fno-common -dynamic -DNDEBUG -g -O3 -Wall -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64   -fno-semantic-interposition -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-generate -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk   -DPy_BUILD_CORE -o Parser/pegen_errors.o Parser/pegen_errors.c
/opt/local/bin/gcc-mp-14 -c -fno-strict-overflow -Wsign-compare -fno-common -dynamic -DNDEBUG -g -O3 -Wall -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64   -fno-semantic-interposition -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-generate -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk   -DPy_BUILD_CORE -o Parser/action_helpers.o Parser/action_helpers.c
/opt/local/bin/gcc-mp-14 -c -fno-strict-overflow -Wsign-compare -fno-common -dynamic -DNDEBUG -g -O3 -Wall -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64   -fno-semantic-interposition -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-generate -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk   -DPy_BUILD_CORE -o Parser/parser.o Parser/parser.c
gcc-mp-14: error: unrecognized command-line option '-fprofile-instr-generate'; did you mean '-fprofile-generate'?
gcc-mp-14: error: unrecognized command-line option '-fprofile-instr-generate'; did you mean '-fprofile-generate'?
gcc-mp-14: error: unrecognized command-line option '-fprofile-instr-generate'; did you mean '-fprofile-generate'?
make[2]: *** [Parser/token.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Parser/pegen_errors.o] Error 1
make[2]: *** [Parser/parser.o] Error 1
gcc-mp-14: error: unrecognized command-line option '-fprofile-instr-generate'; did you mean '-fprofile-generate'?
gcc-mp-14: error: unrecognized command-line option '-fprofile-instr-generate'; did you mean '-fprofile-generate'?
gcc-mp-14: error: unrecognized command-line option '-fprofile-instr-generate'; did you mean '-fprofile-generate'?
make[2]: *** [Parser/pegen.o] Error 1
make[2]: *** [Parser/action_helpers.o] Error 1
make[2]: *** [Programs/python.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_python313/python313/work/Python-3.13.2'
make[1]: *** [profile-gen-stamp] Error 2
CPython versions tested on:

3.13

Operating systems tested on:

macOS

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

先追蹤建置的 profile 選項處理,以及 -fprofile-instr-generate 被加入 CFLAGS_NODIST 和 LDFLAGS_NODIST 的位置。驗證報告中描述的編譯器特定行為,然後確認啟用 profile 的 GCC 建置不再傳遞不受支援的 flag,並能成功完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
macos, python
領域
build-system
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。