Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 964
Closed
Labels
Description
Describe the bug
I've tried building Python 3.9.16 on macOS following the dev guide and I believe there is an issue with the command as pkg-config fails to get the value set for PKG_CONFIG_PATH as, in my limited knowledge of the shell, I believe pkg-config --libs tcl tk runs on a subshell.
The current configure command produces the following output:
$ CFLAGS="-I$(brew --prefix gdbm)/include -I$(brew --prefix xz)/include" \ LDFLAGS="-L$(brew --prefix gdbm)/lib -L$(brew --prefix xz)/lib" \ PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \ ./configure --with-pydebug \ --with-openssl=$(brew --prefix openssl@1.1) \ --with-tcltk-libs="$(pkg-config --libs tcl tk)" \ --with-tcltk-includes="$(pkg-config --cflags tcl tk)" Package tcl was not found in the pkg-config search path. Perhaps you should add the directory containing `tcl.pc'to the PKG_CONFIG_PATH environment variableNo package 'tcl' foundPackage tk was not found in the pkg-config search path.Perhaps you should add the directory containing `tk.pc'to the PKG_CONFIG_PATH environment variableNo package 'tk' foundPackage tcl was not found in the pkg-config search path.Perhaps you should add the directory containing `tcl.pc'to the PKG_CONFIG_PATH environment variableNo package 'tcl' foundPackage tk was not found in the pkg-config search path.Perhaps you should add the directory containing `tk.pc' to the PKG_CONFIG_PATH environment variable No package 'tk' foundExpected behavior
The one-line command should properly set PKG_CONFIG_PATH.
I've had success running the following:
$ export PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig"; \ CFLAGS="-I$(brew --prefix gdbm)/include -I$(brew --prefix xz)/include" \ LDFLAGS="-L$(brew --prefix gdbm)/lib -L$(brew --prefix xz)/lib" \ ./configure --with-pydebug \ --with-openssl=$(brew --prefix openssl@1.1) \ --with-tcltk-libs="$(pkg-config --libs tcl tk)" \ --with-tcltk-includes="$(pkg-config --cflags tcl tk)" checking build system type... aarch64-apple-darwin22.3.0 checking host system type... aarch64-apple-darwin22.3.0 checking for python3.9... python3.9 checking for --enable-universalsdk... no checking for --with-universal-archs... no checking MACHDEP... "darwin" checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for a sed that does not truncate output... /usr/bin/sed checking for --with-cxx-main=<compiler>... no checking for g++... no configure: By default, distutils will build C++ extension modules with "g++". If this is not intended, thenset CXX on the configure command line. checking for the platform triplet based on compiler characteristics... darwin checking for multiarch... checking for -Wl,--no-as-needed... no checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... ^C%Additional context
There must be something that can be done differently, but I know I'm no expert in the matter.