Open
Description
When I build on Mac, I get LDFLAGS with duplicate entries. python3.11 -m sysconfig
includes this line:
LDFLAGS = "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
Spread out vertically, that is:
-L/opt/homebrew/opt/ncurses/lib
-L/opt/homebrew/opt/readline/lib
-L/opt/homebrew/opt/readline/lib
-L/usr/local/pyenv/pyenv/versions/3.11.7/lib
-Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib
-L/opt/homebrew/lib
-Wl,-rpath,/opt/homebrew/lib
-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib
-L/opt/homebrew/opt/ncurses/lib
-L/opt/homebrew/opt/readline/lib
-L/opt/homebrew/opt/readline/lib
-L/usr/local/pyenv/pyenv/versions/3.11.7/lib
-Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib
-L/opt/homebrew/lib
-Wl,-rpath,/opt/homebrew/lib
-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib
With LDFLAGS set this way, when I build C extensions, I see ld warnings:
clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib build/temp.macosx-14.2-arm64-cpython-311/coverage/ctracer/datastack.o build/temp.macosx-14.2-arm64-cpython-311/coverage/ctracer/filedisp.o build/temp.macosx-14.2-arm64-cpython-311/coverage/ctracer/module.o build/temp.macosx-14.2-arm64-cpython-311/coverage/ctracer/tracer.o -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -o build/lib.macosx-14.2-arm64-cpython-311/coverage/tracer.cpython-311-darwin.so -Xlinker -no_warn_duplicate_libraries
ld: warning: duplicate -rpath '/usr/local/pyenv/pyenv/versions/3.11.7/lib' ignored
ld: warning: duplicate -rpath '/opt/homebrew/lib' ignored
When I build with a trace.log, these are the lines affecting LDFLAGS:
% grep LDFLAGS trace.log
+(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1401): prepend_ldflags_libs(): export LDFLAGS=-Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib
+(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1401): prepend_ldflags_libs(): LDFLAGS=-Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib
+(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1401): prepend_ldflags_libs(): export 'LDFLAGS=-L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib'
+(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1401): prepend_ldflags_libs(): LDFLAGS='-L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1481): use_homebrew_readline(): export 'LDFLAGS=-L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1481): use_homebrew_readline(): LDFLAGS='-L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1396): append_ldflags_libs(): export 'LDFLAGS=-L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1396): append_ldflags_libs(): LDFLAGS='-L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1481): use_homebrew_readline(): export 'LDFLAGS=-L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1481): use_homebrew_readline(): LDFLAGS='-L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1494): use_homebrew_ncurses(): export 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1494): use_homebrew_ncurses(): LDFLAGS='-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1653): use_xcode_sdk_zlib(): export 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib'
++(/usr/local/pyenv/pyenv/plugins/python-build/bin/python-build:1653): use_xcode_sdk_zlib(): LDFLAGS='-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/usr/local/pyenv/pyenv/versions/3.11.7/lib -Wl,-rpath,/usr/local/pyenv/pyenv/versions/3.11.7/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib'
I've attached the config.log and the
trace.log
I'm on Mac 14.2.1, Homebrew 4.2.5. I'm not sure what other information would be helpful.
Metadata
Metadata
Assignees
Labels
No labels