New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port module setup to PY_STDLIB_MOD() macro and addext() #90005
Comments
bpo-45573 added the PY_STDLIB_MOD() autoconf macro, Modules/Setup.stdlib.in template, and setup.py helper method addext(). The macro sets up
Additionally there is a MODULE_{NAME}_DEPS variable with dependency information. The Modules/Setup.stdlib.in template and addext() method consume the variables and set up extension compilation and linking. There is no need to look for headers or libraries in setup.py any more. Let's port all modules to the new approach. |
45 down, 35 to go. |
Not converted yet: readline |
_socket coming up... |
_crypt is powered by pkgconf libcrypt or libxcrypt on Linux. On my system and on Debian, libcrypt.pc is a symlink to libxcrypt.pc. Linux has crypt() and/or crypt_r() in <crypt.h>. On FreeBSD crypt_r() is in <unistd.h> and libc. _uuid needs similar special handling. It's <uuid/uuid.h>, -luuid, and uuid.pc on Linux. On BSD it's <uuid.h> and symbols are in libc. _readline uses either libreadline (readline.pc) or libeditline (libeditline.pc). It also needs special handling of tinfo and termcap on some platforms. ndbm, gdbm, and libdb have no pkgconf providers. My PR #73720 has some code to detect them in configure. |
We are down to 9 missing modules: readline |
Solved: Ubuntu is fine, we just need to treat LIBS and LDFLAGS with care in configure.ac. #75879 is updated with a fix. |
this appears to break the tkinter extension for ubuntu bionic (18.04) -- I'm not entirely sure on the correct fix here but I get the following from trying to build there: 2022-04-02T15:52:08.0910452Z Python build finished successfully! this is the tk I have available: root@f0dd06a3e87c:/# dpkg -l | grep libtk |
Please attach your config.log file. Did configure tell you that you are missing pkg-config? |
the
(a note: bionic reaches end of life in april 2023 so it is likely to still see significant use until then) |
Could you please open a distro bug with Ubuntu and report the issue? We require a pkg-config file for TCL/TK. |
I could, but it's very unlikely to get fixed given I believe 18.04 is in security-only fixes and backporting a pkg-config file seems unlikely this worked two days ago before this patch |
As I said already, we require a pkg-config file for TCL/TK detection. It turned out to be too painful and too complicated to implement manual TCL/TK detection in configure.ac. Erlend and I tried and eventually gave up. If your platform does not provide the pkg-config files, then you need to work around the problem or contribute a patch. |
PS: Check out ./configure --help |
Anthony: you should be able to build the _tkinter by manually specifying the compiler and linker flags using the |
Regarding $ ls Modules/_ctypes/libffi_osx
LICENSE README README.pyobjc ffi.c include powerpc types.c x86
$ grep -r libffi_osx *
Tools/c-analyzer/cpython/_parser.py:#Modules/_ctypes/libffi_osx/*.c
Tools/scripts/patchcheck.py:EXCLUDE_DIRS = [os.path.join('Modules', '_ctypes', 'libffi_osx'), |
FTR, remaining modules:
|
(cherry picked from commit 269e726) Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no> Automerge-Triggered-By: GH:tiran
It makes it easier to look for module states in sysconfig without special casing suffixes "_CFLAGS|, "_DEPS", "_LDFLAGS", "_OBJS", and "CTYPES_MALLOC_CLOSURE".
It makes it easier to look for module states in sysconfig without special casing suffixes "_CFLAGS", "_DEPS", "_LDFLAGS", "_OBJS", and "CTYPES_MALLOC_CLOSURE".
It makes it easier to look for module states in sysconfig without special casing suffixes "_CFLAGS", "_DEPS", "_LDFLAGS", "_OBJS", and "CTYPES_MALLOC_CLOSURE".
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: