logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

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.
Post new topic   Forum Index -> Third-party Modules View previous topic :: View next topic
Reply to topic   Topic: mod_proxy_html for Windows XP and apache-2.0.63
Author
Krischu



Joined: 23 Oct 2009
Posts: 25

PostPosted: Fri 23 Oct '09 12:03    Post subject: mod_proxy_html for Windows XP and apache-2.0.63 Reply with quote

I had mod_proxy_html running for two years under apache-2.0.54 and due to a server crash I installed 2.0.63, since I couldn't find a 2.0.54 distribution anymore.

Now I'm having problems in getting the mod_proxy_html.c compiled under Windows.

I managed to get Perl and also I have MS VS6. I installed apxs also for that purpose.

But when compiling the module I'm getting unresolved symbols.

I also don't know whether this is the right approach. Maybe I should move apache2.2? Anyway, I'm in need of the module fitting to my apache version.

--
Christoph

Code:

C:\src\mod_proxy_html>apxs -c -I..\libxml2-2.7.3.win32\include -I. -i mod_proxy_
html.c
cl  /nologo /MD /W3 /O2 /D WIN32 /D _WINDOWS /D NDEBUG    -I"C:\PROGRA~1\APACHE~
1\Apache2\include"  /I"..\libxml2-2.7.3.win32\include"  /I"."  /c /Fomod_proxy_h
tml.lo mod_proxy_html.c
mod_proxy_html.c
link kernel32.lib /nologo /subsystem:windows /dll /machine:I386 /libpath:"c:\PRO
GRA~1\APACHE~1\Apache2\lib" /out:mod_proxy_html.so    mod_proxy_html.lo
   Bibliothek "mod_proxy_html.lib" und Objekt "mod_proxy_html.exp" werden erstel
lt.
mod_proxy_html.lo : error LNK2001: Nicht aufgelöstes externes Symbol "_ap_set_st
ring_slot".
mod_proxy_html.lo : error LNK2001: Nicht aufgelöstes externes Symbol "_ap_set_in
t_slot".
mod_proxy_html.lo : error LNK2001: Nicht aufgelöstes externes Symbol "_ap_set_fl
ag_slot".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_brigade_puts@16" in Funktion "_pcharacters".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_brigade_write@20" in Funktion "_pcharacters".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_filter_flush" in Funktion "_pcharacters".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_pool_cleanup_register@16" in Funktion "_preserve".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_pool_cleanup_null" in Funktion "_preserve".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_pool_cleanup_kill@12" in Funktion "_preserve".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_log_rerror" in Funktion "_dump_content".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_pstrndup@12" in Funktion "_dump_content".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_pregsub@20" in Funktion "_dump_content".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_regexec@20" in Funktion "_dump_content".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_fprintf" in Funktion "_pendElement".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "_htmlTagLookup" in Funktion "_pendElement".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_fputstrs" in Funktion "_pstartElement".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "_htmlAttrAllowed" in Funktion "_pstartElement".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_hash_get@12" in Funktion "_pstartElement".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_brigade_putc@16" in Funktion "_pstartElement".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_table_setn@12" in Funktion "_metafix".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_palloc@8" in Funktion "_metafix".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_pstrcat" in Funktion "_interpolate_vars".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_table_get@8" in Funktion "_interpolate_vars".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_pregcomp@12" in Funktion "_fixup_rules".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_pmemdup@12" in Funktion "_fixup_rules".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_table_unset@8" in Funktion "_check_filter_init".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_brigade_create@8" in Funktion "_check_filter_init".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_remove_output_filter@4" in Funktion "_check_filter_init".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_brigade_cleanup@4" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "_xmlCtxtUseOptions" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "_htmlFreeParserCtxt" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "_htmlCreatePushParserCtxt" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_set_content_type@8" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_fflush@8" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_bucket_type_flush" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_bucket_eos_create@4" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "_htmlParseChunk" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_bucket_type_eos" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_pass_brigade@8" in Funktion "_proxy_html_filter".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_pstrdup@8" in Funktion "_comp_urlmap".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_getword_conf@8" in Funktion "_set_urlmap".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_array_push@4" in Funktion "_set_events".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_array_make@12" in Funktion "_set_events".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_hash_set@16" in Funktion "_set_links".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_hash_make@4" in Funktion "_set_links".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_log_perror" in Funktion "_mod_proxy_html".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_dynamic_fn_retrieve@4" in Funktion "_mod_proxy_html".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__apr_strmatch_precompile@12" in Funktion "_mod_proxy_html".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_add_version_component@8" in Funktion "_mod_proxy_html".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_add_output_filter@16" in Funktion "_proxy_html_insert".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_hook_insert_filter@16" in Funktion "_proxy_html_hooks".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_hook_post_config@16" in Funktion "_proxy_html_hooks".
mod_proxy_html.lo : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
 "__imp__ap_register_output_filter@16" in Funktion "_proxy_html_hooks".
mod_proxy_html.so : fatal error LNK1120: 53 nicht aufgelöste externe Verweise.
apxs:Error: Command failed with rc=6291456
.

C:\src\mod_proxy_html>
Back to top
James Blond
Moderator


Joined: 19 Jan 2006
Posts: 7373
Location: Germany, Next to Hamburg

PostPosted: Fri 23 Oct '09 14:00    Post subject: Reply with quote

Hi Christoph
there is nothing to worry about apache 2.2.x
Only if you use some modules that don't exist for 2.2.x

I compiled (with the help of Gregg) mod_proxy_html this way.


Code:

SET APACHE=C:\Apache22

cl /nologo /MD /W3 /O2 /D WIN32 /D _WINDOWS /D NDEBUG -I"\build\libxml2-2.7.x\include" -I%APACHE%\include mod_proxy_html.c

link kernel32.lib ws2_32.lib "%APACHE%\lib\libhttpd.lib" "%APACHE%\lib\libapr-1.lib" "%APACHE%\lib\libaprutil-1.lib" /nologo /subsystem:windows /dll /machine:I386 /out:mod_proxy_html.so mod_proxy_html.obj "\build\libxml2-2.7.x\win32\int.msvc\*.obj"


make sure that you have compiled libxml2 before that.
Back to top
Krischu



Joined: 23 Oct 2009
Posts: 25

PostPosted: Fri 23 Oct '09 15:56    Post subject: Reply with quote

James Blond wrote:
Hi Christoph
there is nothing to worry about apache 2.2.x
Only if you use some modules that don't exist for 2.2.x

I compiled (with the help of Gregg) mod_proxy_html this way.


Code:

SET APACHE=C:\Apache22

cl /nologo /MD /W3 /O2 /D WIN32 /D _WINDOWS /D NDEBUG -I"\build\libxml2-2.7.x\include" -I%APACHE%\include mod_proxy_html.c

link kernel32.lib ws2_32.lib "%APACHE%\lib\libhttpd.lib" "%APACHE%\lib\libapr-1.lib" "%APACHE%\lib\libaprutil-1.lib" /nologo /subsystem:windows /dll /machine:I386 /out:mod_proxy_html.so mod_proxy_html.obj "\build\libxml2-2.7.x\win32\int.msvc\*.obj"


make sure that you have compiled libxml2 before that.



Thanks, I finally managed to get the module compiled under 2.0.63:
Code:

C:\src\mod_proxy_html>link kernel32.lib libhttpd.lib libapr.lib apr.lib libaprut
il.lib apr.lib aprutil.lib libapriconv.lib libxml2.lib /nologo /subsystem:window
s /dll /machine:I386 /libpath:"c:\PROGRA~1\APACHE~1\Apache2\lib" /out:mod_proxy_
html.so    mod_proxy_html.lo
   Bibliothek "mod_proxy_html.lib" und Objekt "mod_proxy_html.exp" werden erstellt.

C:\src\mod_proxy_html>dir *.so
 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: 8828-60CD

 Verzeichnis von C:\src\mod_proxy_html

23.10.2009  15:53            20,480 mod_proxy_html.so
               1 Datei(en)         20,480 Bytes
               0 Verzeichnis(se), 19,567,566,848 Bytes frei

C:\src\mod_proxy_html>


It's obviously the apxs generation process leaving out important libraries in the apxs.bat/apxs.pl files.

When I added the missing libraries explicitly in the command line I got rid of all unresolved symbols and hopefully my module will work now.

--
Christoph
Back to top
Krischu



Joined: 23 Oct 2009
Posts: 25

PostPosted: Mon 26 Oct '09 17:27    Post subject: Reply with quote

I switched to Apache2.2.14.

There were some compilation glitches (statement ordering) in mod_proxy_html.c and I also got over the incomplete link command line WRT to missing apr libraries etc. Somehow the perl Configure.pl
doesn't do the right thing when generating the apxs.bat etc.


Anyway, my major problem now is the following:

On my notebook, where I have VS 6 and apache2.2 and all the environment to build the mod_proxy_html.so I managed to build the module and run it with apache2.2.14 fine.

Then I took over the module via an USB stick to the target machine
and the funny thing is that apache says it cannot find the module, although it is definitely there (!)

I started httpd.exe manually and it says so.

When I look at the file rights/owners (NTFS, properties->security tab)
There were some different owners of the file.

Also when I look with ls -l (cygwin tools) I see it having a different ownership than the rest of the modules. I don't know if that matters but I'm just mentioning.

Any ideas?

Would I end up and have to install MS VS 6 and compile the module on my web server?

--
Christoph
Back to top
glsmith
Moderator


Joined: 16 Oct 2007
Posts: 2268
Location: Sun Diego, USA

PostPosted: Tue 27 Oct '09 0:12    Post subject: Reply with quote

Krischu wrote:

Would I end up and have to install MS VS 6 and compile the module on my web server?


You shouldn't have to.
Hard to tell but from your posts what is on the target machine, 2.0.54, 2.0.63 or 2.2.14?

mod built against 2.0.x will work only in 2.0.x
mod built against 2.2.x will work only in 2.2.x

There has been changes in the APR over the course of the 2.2 developement. 2.2.9 was a big change and many modules built before will not work after and vise-versa however built on same version as in use should not be a problem.
Back to top
Krischu



Joined: 23 Oct 2009
Posts: 25

PostPosted: Tue 27 Oct '09 10:20    Post subject: Reply with quote

glsmith wrote:
Krischu wrote:

Would I end up and have to install MS VS 6 and compile the module on my web server?


You shouldn't have to.
Hard to tell but from your posts what is on the target machine, 2.0.54, 2.0.63 or 2.2.14?

...


Actually I tried all, but the oddest thing was, that I could not import the mod-proxy_html.so that I compiled on my notebook under 2.2.14 into the 2.2.14 on my webserver.

Apache 2.2.14 on my webserver said it could not find the module, although it was definitely there. Is some libxml2.dll still necessary?
I'd think mod_proxy_html.so 3.1.1 is linked against libxml2.lib.

I looked at the permissions and ownerships and they were a bit different.
The tried to match them to the perms of the other modules that were already on the webservers modules directory.

Could it be a strange windows security policy issue, since I was copying the module from an USB-stick?


Last edited by Krischu on Tue 27 Oct '09 14:25; edited 1 time in total
Back to top
James Blond
Moderator


Joined: 19 Jan 2006
Posts: 7373
Location: Germany, Next to Hamburg

PostPosted: Tue 27 Oct '09 13:47    Post subject: Reply with quote

Yes, the mod_proxy_html needs the libxml2.dll . YOu can simple put it into the apache\bin folder or load it

LoadFile "C:/builds/libxml2/release/libxml2.dll"

on a USB stick where you don't know the drive letter you can using the path without the drive letter.

LoadFile "/path/on/usb_stick/to/libxml2.dll"
Back to top
Krischu



Joined: 23 Oct 2009
Posts: 25

PostPosted: Tue 27 Oct '09 14:03    Post subject: Reply with quote

James Blond wrote:
Yes, the mod_proxy_html needs the libxml2.dll . YOu can simple put it into the apache\bin folder or load it

LoadFile "C:/builds/libxml2/release/libxml2.dll"

on a USB stick where you don't know the drive letter you can using the path without the drive letter.

LoadFile "/path/on/usb_stick/to/libxml2.dll"


Thanks. Maybe the missing libxml2.dll was the problem that apache2.2.14 could not load the module.

Maybe I misexpressed myself: I copied the file over from an USB-stick. It's not that I wanted it to run from the mounted USB-stick. Smile

--
Christoph
Back to top


Reply to topic   Topic: mod_proxy_html for Windows XP and apache-2.0.63 View previous topic :: View next topic
Post new topic   Forum Index -> Third-party Modules