Skip to content
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

Build issue with python 3.13 and GCC14 #143

Open
micwoj92 opened this issue Dec 23, 2024 · 2 comments
Open

Build issue with python 3.13 and GCC14 #143

micwoj92 opened this issue Dec 23, 2024 · 2 comments

Comments

@micwoj92
Copy link
Contributor

Combination of these packages and build status:

gcc 13 gcc 14
python 3.12 ✔️ ✔️
python 3.13 ✔️

This is due to 2 things:
This function was dropped in python 3.13, I think it is this change python/cpython#118203
GCC 14 changed this to error, with GCC 13 -Wimplicit-function-declaration is only a warning

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 for ar... ar
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for main in -lm... yes
checking for an ANSI C-conforming const... yes
checking your blood pressure... a bit high, but we can proceed
configure: checking whether apxs is available...
checking for apxs2... no
checking for apxs... /usr/bin/apxs
checking Apache version... 2.4.62
checking for Apache libexec directory... /usr/lib/httpd/modules
checking for Apache include directory... -I/usr/include/httpd
checking for --with-python... /usr/bin/python
checking for /usr/bin/python-config... yes
checking Python version... 3.13
checking for --with-mutex-dir... no
Using MUTEX_DIR /tmp
checking for --with-max-locks... no
Using 8 MAX_LOCKS.
checking for --with-flex... no
checking for flex... /usr/bin/flex
found /usr/bin/flex, we'll use this. Use --with-flex to specify another.
checking flex version... 2.6.4. Good
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating Doc/Makefile
config.status: creating src/include/mod_python.h
config.status: creating test/Makefile
config.status: creating dist/setup.py
config.status: creating dist/Makefile
config.status: creating scripts/Makefile
config.status: creating scripts/mod_python
make[1]: Entering directory '/build/mod_python/src/mod_python-b068800c425e00ca447de8bbe664650fedaf3b4a/src'

Building mod_python.so.

/usr/bin/apxs -I/build/mod_python/src/mod_python-b068800c425e00ca447de8bbe664650fedaf3b4a/src/include -I/usr/include/python3.13 -I/usr/include/python3.13   -c mod_python.c _apachemodule.c requestobject.c tableobject.c util.c serverobject.c connobject.c filterobject.c hlist.c hlistobject.c finfoobject.c version.c include/_apachemodule.h  include/filterobject.h  include/hlist.h include/mod_python.h  include/psp_flex.h include/psp_parser.h include/requestobject.h include/tableobject.h include/connobject.h include/finfoobject.h include/hlistobject.h include/mp_version.h include/_pspmodule.h  include/psp_string.h  include/serverobject.h include/util.h -L/usr/lib -lpython3.13 -ldl  -lm   
/usr/share/apr-1/build/libtool --silent --mode=compile gcc -prefer-pic -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/apache/src=/usr/src/debug/apache -flto=auto  -DLINUX -D_REENTRANT -D_GNU_SOURCE  -I/usr/include/httpd  -I/usr/include/apr-1   -I/usr/include/apr-1 -I/usr/include -I/build/mod_python/src/mod_python-b068800c425e00ca447de8bbe664650fedaf3b4a/src/include -I/usr/include/python3.13 -I/usr/include/python3.13  -c -o mod_python.lo mod_python.c && touch mod_python.slo
/usr/share/apr-1/build/libtool --silent --mode=compile gcc -prefer-pic -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/apache/src=/usr/src/debug/apache -flto=auto  -DLINUX -D_REENTRANT -D_GNU_SOURCE  -I/usr/include/httpd  -I/usr/include/apr-1   -I/usr/include/apr-1 -I/usr/include -I/build/mod_python/src/mod_python-b068800c425e00ca447de8bbe664650fedaf3b4a/src/include -I/usr/include/python3.13 -I/usr/include/python3.13  -c -o _apachemodule.lo _apachemodule.c && touch _apachemodule.slo
_apachemodule.c: In function '_apache_module_init':
_apachemodule.c:857:5: error: implicit declaration of function '_PyImport_FixupExtensionObject' [-Wimplicit-function-declaration]
  857 |     _PyImport_FixupExtensionObject(m, name, name
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
apxs:Error: Command failed with rc=65536
.
make[1]: *** [Makefile:57: mod_python.so] Error 1
make[1]: Leaving directory '/build/mod_python/src/mod_python-b068800c425e00ca447de8bbe664650fedaf3b4a/src'
make: *** [Makefile:34: do_dso] Error 2
@grisha
Copy link
Owner

grisha commented Dec 23, 2024

@micwoj92 thanks for reporting this! Just checking - were you planning to submit a fix, since it seems like you already got to the bottom of this issue?

@micwoj92
Copy link
Contributor Author

I can only think of adding -Wno-error=implicit-function-declaration to CFLAGS, but I would consider this a bandaid, not a proper solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants