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

compile error with trunk of apache httpd #843

Open
speedkraken opened this issue Jun 21, 2023 · 3 comments
Open

compile error with trunk of apache httpd #843

speedkraken opened this issue Jun 21, 2023 · 3 comments

Comments

@speedkraken
Copy link

speedkraken commented Jun 21, 2023

Compile error due to some change in httpd scoreboard, see this line:

In file included from /usr/include/httpd/scoreboard.h:35,

Same error using pip installation method with mod_wsgi 4.9.4, as well as compiling the trunk/master of mod_wsgi (output shown below).

[root@40ae5eef0a23 mod_wsgi]# make
/usr/bin/apxs -c -I/usr/include/python3.11 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -D_GNU_SOURCE -D_GNU_SOURCE -D_GNU_SOURCE  -Wc,-g -Wc,-O2  src/server/mod_wsgi.c src/server/wsgi_*.c -L/usr/lib64 -L/usr/lib64/python3.11/config  -lpython3.11 -ldl -lm
/usr/local/apr/build-2/libtool --silent --mode=compile gcc -prefer-pic -fpic -march=native -mtune=native -O3 -pipe  -DLINUX -D_REENTRANT -D_GNU_SOURCE  -I/usr/include/httpd  -I/usr/local/apr/include/apr-2   -g -O2 -I/usr/include/python3.11 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -D_GNU_SOURCE -D_GNU_SOURCE -D_GNU_SOURCE  -c -o src/server/mod_wsgi.lo src/server/mod_wsgi.c && touch src/server/mod_wsgi.slo
src/server/mod_wsgi.c: In function ‘wsgi_process_socket’:
src/server/mod_wsgi.c:8684:5: error: unknown type name ‘core_net_rec’
 8684 |     core_net_rec *net;
      |     ^~~~~~~~~~~~
src/server/mod_wsgi.c:8746:38: error: ‘core_net_rec’ undeclared (first use in this function)
 8746 |     net = apr_palloc(c->pool, sizeof(core_net_rec));
      |                                      ^~~~~~~~~~~~
src/server/mod_wsgi.c:8746:38: note: each undeclared identifier is reported only once for each function it appears in
src/server/mod_wsgi.c:8759:8: error: request for member ‘c’ in something not a structure or union
 8759 |     net->c = c;
      |        ^~
src/server/mod_wsgi.c:8760:8: error: request for member ‘in_ctx’ in something not a structure or union
 8760 |     net->in_ctx = NULL;
      |        ^~
src/server/mod_wsgi.c:8761:8: error: request for member ‘out_ctx’ in something not a structure or union
 8761 |     net->out_ctx = NULL;
      |        ^~
src/server/mod_wsgi.c:8762:8: error: request for member ‘client_socket’ in something not a structure or union
 8762 |     net->client_socket = sock;
      |        ^~
In file included from /usr/include/httpd/scoreboard.h:35,
                 from /usr/include/httpd/ap_mpm.h:31,
                 from src/server/wsgi_apache.h:69,
                 from src/server/mod_wsgi.c:21:
src/server/mod_wsgi.c:8764:29: error: request for member ‘c’ in something not a structure or union
 8764 |     ap_set_module_config(net->c->conn_config, &core_module, sock);
      |                             ^~
/usr/include/httpd/http_config.h:556:18: note: in definition of macro ‘ap_set_module_config’
  556 |     ((((void **)(v))[(m)->module_index]) = (val))
      |                  ^
src/server/mod_wsgi.c:8766:46: error: request for member ‘c’ in something not a structure or union
 8766 |                                net, NULL, net->c);
      |                                              ^~
src/server/mod_wsgi.c:8768:47: error: request for member ‘c’ in something not a structure or union
 8768 |                                 net, NULL, net->c);
      |                                               ^~
apxs:Error: Command failed with rc=65536
.
make: *** [Makefile:31: src/server/mod_wsgi.la] Error 1
@speedkraken
Copy link
Author

The 'develop' branch of mod_wsgi is more recent. Tried that branch with the same compile error.

@GrahamDumpleton
Copy link
Owner

Sorry, there is possibly no simple fix for this. If they have made connection construction completely private that may prevent mod_wsgi even being able to do what it needs to do. This is because mod_wsgi had to replicate the steps to avoid some of the stuff that Apache did internally around adding filters to the connection. So this will likely take some time to investigate and may require a major rewrite of mod_wsgi daemon mode, which given the amount of effort involved and declining number of mod_wsgi users may not be worth the effort. So for now there is a chance will not be able to support Apache httpd 2.5+.

@speedkraken
Copy link
Author

That's really unfortunate. Thanks for the quick and informative reply.

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