Keep Server Online
If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.
or
A donation makes a contribution towards the costs, the time and effort that's going in this site and building.
Thank You! Steffen
Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
| |
|
Topic: Anyone get Trunk to compile? |
|
Author |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Mon 12 May '08 20:34 Post subject: Anyone get Trunk to compile? |
|
|
I have a couple problem.
request.c includes mod_request.h but nothing in libhttpd project to copy the file into /include like the others. No problem, done.
Then
H:\build\httpd-2.3.x\server\request.c(1477) : error C2152: 'function' : pointers to functions with different attributes
H:\build\httpd-2.3.x\server\request.c(1477) : warning C4024: 'ap_expr_eval' : different types for formal and actual parameter 5
I've been trying this here and there I think for a year and always get stopped here. For all I know there are these strewn throughout and it may be more of a headache than it is worth. I have no real need other than it would be fun to play with. |
|
Back to top |
|
tdonovan Moderator
Joined: 17 Dec 2005 Posts: 611 Location: Milford, MA, USA
|
Posted: Wed 14 May '08 6:07 Post subject: |
|
|
By coincidence, I tried building from trunk yesterday too.
mod_request was split off as a new module in the 2.3 trunk.
The build was changed OK for Unix, but they missed a few things for Windows.
I filed bug 44974 for the changes to let Windows build with this new module.
Building from the truck is always a challenge. There is typically new stuff in it which hasn't been adapted for all platforms.
I find that the trunk builds on Windows about 50% of the time at best.
A couple of additional things I needed to do to build from the trunk on Windows: Quote: | COPY modules\cache\ap_socache.h .\include
COPY modules\filters\mod_request.h .\include
Add file srclib\apr-util\ldap\apr_ldap_rebind.c to the apr-util project, group: ldap
Change server\mpm\winnt\child.c line 54:
extern int volatile is_graceful = 0;
Add Rpcrt4.lib to the htpasswd project linker inputs
Remove three files from the mod_ssl project: ssl_scache_dbm.c, ssl_scache_shmcb.c, ssl_scache_dc.c |
Hope this helps,
-tom- |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Wed 14 May '08 17:38 Post subject: |
|
|
Thank you Tom, yet again!.
In the process of giving it a try.
Looking at comment #3 of PR 44974, you've been blessed by the Apache gods, good job!
I hear you on 50% success at best .. I'm running at 0
Edit:
Guess on this one I'm just doomed to fail.
Something about that function pointer that this VC++ just does not like.
Time to put effort elsewhere I guess.
I believe the &err is the problem. |
|
Back to top |
|
tdonovan Moderator
Joined: 17 Dec 2005 Posts: 611 Location: Milford, MA, USA
|
Posted: Thu 15 May '08 15:23 Post subject: |
|
|
If you still get: Quote: | H:\build\httpd-2.3.x\server\request.c(1477) : warning C4024: 'ap_expr_eval' : different types for formal and actual parameter 5 | then it is the 5th parameter - ap_expr_string - which is the problem. The compiler needs to know its type, string_func_t.
This is same problem as in modules/filters/mod_filter.c line 149.
request.c line 1476 should look like this after the change: Code: | if (!ap_expr_eval(r, entry_core->condition, &err, NULL,
(string_func_t) ap_expr_string, NULL)) { |
-tom- |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 15 May '08 19:47 Post subject: |
|
|
B-I-N-G-O
Apache/2.3.0-dev (Win32) Server at localhost Port 80
Now that worked. The modification to request.c was not part of your PR 44974 so dummy me didn't patch/modify it. I'm still rather fuzzy on much of this and had no clue how to fix anyway. Should a patch be added to the PR for it?
as of R656485:
They broke ab.c yet again, they added added use of INT_MAX w/o adding a
#include <limits.h> /* for INT_MAX */
like in every other source file that uses it, or removed it by accident (didn't dig to see).
I'm getting 3 fatals at linking (util_ldap.obj: unresolved external symbol) in mod_ldap, apr_ldap_rebind_add/init/remove, the calls seem to be declared (I think) in apr_ldap_rebind.h, adding said file to project or adding an include <> to it in util_ldap.c still didn't work. Then again, see fuzzy note above. I'm not too concerned so I will not let this one drive me coo-coo, I hope. Does it need an APU_DECLARE like in ..._rebind.c?
mod_request.so didn't build and I have no clue why. Added the project file but it compiled right passed it like it wasn't there. Obviously I need to connect it to the build process and fuzz factor bites me again. It's in makefile.win (_build) so I'm stumped. It certainly wanted to copy it as part of installbin.
Gregg |
|
Back to top |
|
tdonovan Moderator
Joined: 17 Dec 2005 Posts: 611 Location: Milford, MA, USA
|
Posted: Fri 16 May '08 5:19 Post subject: |
|
|
re: "Should a patch be added to the PR for it? "
You are right - oversight on my part.
re: "w/o adding a #include <limits.h>"
Right again! It is included down on line 429, which is apparently good enough for VC8 (and for gcc I guess) - but VC6 wants this included before INT_MAX is used, not after.
re: "mod_request.so didn't build"
Did you go into [Project] [Dependencies] and make buildbin dependent on mod_request. Also make mod_request dependent on libhttpd, libapr, and libaprutil.
re: "I'm getting 3 fatals at linking - ldap"
You will need to add the new file srclib\apr-util\ldap\apr_ldap_rebind.c to the libaprutil project (under Source Files - ldap) and re-build.
If you want mod_ldap to get built automatically, you will need to go into [Project] [Dependencies] and make project buildbin dependent on mod_ldap.
Hope this gets it going for you. The ldap stuff in apr-util and in mod_ldap look like it is undergoing some major changes, so expect the Windows trunk build to need some extra tinkering with ldap for a while.
-tom- |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Fri 16 May '08 16:15 Post subject: |
|
|
re: Did you go into [Project] [Dependencies] and make buildbin dependent
No, part of the fuzz factor of all the ins and outs, or my vision blured as I was reading that in the PR, but most likely I read over too fast. Slow down Gregg. Funny, I've had the thing for years and only ever built 1.3.x/openssl at command line prior. If I got errors I'd just wait and try next release.
re: add the new file srclib\apr-util\ldap\apr_ldap_rebind.c to the libaprutil
I'd of never thought of adding it there!
re: and in mod_ldap look like it is undergoing some major changes
Same with mod_ssl's caching it looks reading the history on svn.
SSLSessionCache was an unknown since those files have been removed.
Made those additional additions/changes and it built this time w/o a hiccup.
It's been a good learning experience, thanks for guiding me in the right directions at the many forks in the road.
Gregg |
|
Back to top |
|
|
|
|
|
|