[users@httpd] Problems compiling mod_proxy_html with Apache 2.1.3-beta

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to build a full reverse proxy that can properly handle the cookies from my back-end systems.

My system is running Solaris 9/SPARC, gcc 3.4.2, with the following libraries:

BerkeleyDB 4.2.52
expat 1.95.5
iconv 1.8
libxml2 2.6.19
OpenSSL 0.9.7f
PCRE 4.5
zlib 1.2.2

At first I tried using Apache 2.0.53 with Nick Kew's mod_proxy_html.c add-on, as well as his patch to mod_proxy to support the ProxyPassReverseCookieDomain and ProxyPassReverseCookiePath directives. When I tried to apply the patch to the source, it failed to apply cleanly.

So now I'm using Apache 2.1.3-beta. Compiling and installing Apache goes fine, but when I try to compile mod_proxy_html.c, it's failing:

$ bin/apxs -c -i -I /usr/local/include/libxml2 mod_proxy_html.c
/usr/local/apache2/build/libtool --silent --mode=compile gcc -prefer-pic -DSOLARIS2=9 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -g -O2 -pthreads -I/usr/local/include -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/include -I/usr/local/include/libxml2 -c -o mod_proxy_html.lo mod_proxy_html.c && touch mod_proxy_html.slo
mod_proxy_html.c:91: error: parse error before "regex_t"
mod_proxy_html.c:91: warning: no semicolon at end of struct or union
mod_proxy_html.c:91: warning: no semicolon at end of struct or union
mod_proxy_html.c:92: warning: data definition has no type or storage class
mod_proxy_html.c:94: error: parse error before '}' token
mod_proxy_html.c:94: warning: data definition has no type or storage class
mod_proxy_html.c:96: error: parse error before "urlmap"
mod_proxy_html.c:96: warning: no semicolon at end of struct or union
mod_proxy_html.c:107: error: parse error before '}' token
mod_proxy_html.c:107: warning: data definition has no type or storage class
mod_proxy_html.c:111: error: parse error before "proxy_html_conf"
mod_proxy_html.c:111: warning: no semicolon at end of struct or union
mod_proxy_html.c:117: error: parse error before '}' token
mod_proxy_html.c:117: warning: data definition has no type or storage class
mod_proxy_html.c: In function `pcharacters':
mod_proxy_html.c:169: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c:169: error: (Each undeclared identifier is reported only once
mod_proxy_html.c:169: error: for each function it appears in.)
mod_proxy_html.c:169: error: parse error before ')' token
mod_proxy_html.c: At top level:
mod_proxy_html.c:183: error: parse error before '*' token
mod_proxy_html.c: In function `preserve':
mod_proxy_html.c:185: error: `len' undeclared (first use in this function)
mod_proxy_html.c:185: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c: At top level:
mod_proxy_html.c:199: error: parse error before '*' token
mod_proxy_html.c: In function `pappend':
mod_proxy_html.c:200: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c:200: error: `len' undeclared (first use in this function)
mod_proxy_html.c: At top level:
mod_proxy_html.c:204: error: parse error before '*' token
mod_proxy_html.c: In function `dump_content':
mod_proxy_html.c:205: error: `m' undeclared (first use in this function)
mod_proxy_html.c:211: error: `regmatch_t' undeclared (first use in this function)
mod_proxy_html.c:211: error: parse error before "pmatch"
mod_proxy_html.c:215: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c:226: error: `pmatch' undeclared (first use in this function)
mod_proxy_html.c: In function `pcdata':
mod_proxy_html.c:281: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c:281: error: parse error before ')' token
mod_proxy_html.c: In function `pcomment':
mod_proxy_html.c:289: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c:289: error: parse error before ')' token
mod_proxy_html.c: In function `pendElement':
mod_proxy_html.c:302: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c:302: error: parse error before ')' token
mod_proxy_html.c: In function `pstartElement':
mod_proxy_html.c:321: error: `m' undeclared (first use in this function)
mod_proxy_html.c:324: error: `ctx' undeclared (first use in this function)
mod_proxy_html.c:324: error: parse error before ')' token
mod_proxy_html.c:326: error: `regmatch_t' undeclared (first use in this function)
mod_proxy_html.c:326: error: parse error before "pmatch"
mod_proxy_html.c:425: error: `pmatch' undeclared (first use in this function)
mod_proxy_html.c: At top level:
mod_proxy_html.c:583: error: parse error before '*' token
mod_proxy_html.c:583: warning: data definition has no type or storage class
mod_proxy_html.c:584: error: parse error before '*' token
mod_proxy_html.c:584: warning: data definition has no type or storage class
mod_proxy_html.c:585: error: parse error before '*' token
mod_proxy_html.c:585: warning: data definition has no type or storage class
mod_proxy_html.c: In function `proxy_html_child_init':
mod_proxy_html.c:590: error: `REG_EXTENDED' undeclared (first use in this function) mod_proxy_html.c:590: error: `REG_ICASE' undeclared (first use in this function)
mod_proxy_html.c:590: warning: assignment from incompatible pointer type
mod_proxy_html.c:592: warning: assignment from incompatible pointer type
mod_proxy_html.c:594: warning: assignment from incompatible pointer type
mod_proxy_html.c: In function `sniff_encoding':
mod_proxy_html.c:606: error: `regmatch_t' undeclared (first use in this function)
mod_proxy_html.c:606: error: parse error before "match"
mod_proxy_html.c:640: error: `match' undeclared (first use in this function)
mod_proxy_html.c:640: warning: passing arg 1 of `ap_regexec' from incompatible pointer type mod_proxy_html.c:643: warning: passing arg 1 of `ap_regexec' from incompatible pointer type
mod_proxy_html.c: At top level:
mod_proxy_html.c:669: error: 'metafix' redeclared as different kind of symbol
mod_proxy_html.c:101: error: previous declaration of 'metafix' was here
mod_proxy_html.c: In function `metafix':
mod_proxy_html.c:676: error: `regmatch_t' undeclared (first use in this function)
mod_proxy_html.c:676: error: parse error before "pmatch"
mod_proxy_html.c:679: error: `pmatch' undeclared (first use in this function) mod_proxy_html.c:679: warning: passing arg 1 of `ap_regexec' from incompatible pointer type
mod_proxy_html.c: In function `proxy_html_filter_init':
mod_proxy_html.c:721: error: `fctx' undeclared (first use in this function)
mod_proxy_html.c: At top level:
mod_proxy_html.c:754: error: parse error before '*' token
mod_proxy_html.c: In function `check_filter_init':
mod_proxy_html.c:769: error: `cfg' undeclared (first use in this function)
mod_proxy_html.c: In function `proxy_html_filter':
mod_proxy_html.c:790: error: `ctxt' undeclared (first use in this function)
mod_proxy_html.c: In function `proxy_html_config':
mod_proxy_html.c:864: error: `ret' undeclared (first use in this function)
mod_proxy_html.c: In function `proxy_html_merge':
mod_proxy_html.c:871: error: `base' undeclared (first use in this function)
mod_proxy_html.c:871: error: parse error before ')' token
mod_proxy_html.c:872: error: `add' undeclared (first use in this function)
mod_proxy_html.c:872: error: parse error before ')' token
mod_proxy_html.c:873: error: `conf' undeclared (first use in this function)
mod_proxy_html.c:876: error: `a' undeclared (first use in this function)
mod_proxy_html.c:879: error: `save' undeclared (first use in this function)
mod_proxy_html.c: In function `set_urlmap':
mod_proxy_html.c:919: error: `cfg' undeclared (first use in this function)
mod_proxy_html.c:919: error: parse error before ')' token
mod_proxy_html.c:920: error: `map' undeclared (first use in this function)
mod_proxy_html.c:921: error: `newmap' undeclared (first use in this function) mod_proxy_html.c:945: error: `REG_EXTENDED' undeclared (first use in this function) mod_proxy_html.c:946: error: `REG_ICASE' undeclared (first use in this function) mod_proxy_html.c:947: error: `REG_NOSUB' undeclared (first use in this function) mod_proxy_html.c:948: error: `REG_NEWLINE' undeclared (first use in this function)
mod_proxy_html.c: In function `set_doctype':
mod_proxy_html.c:957: error: `cfg' undeclared (first use in this function)
mod_proxy_html.c:957: error: parse error before ')' token
mod_proxy_html.c: At top level:
mod_proxy_html.c:979: error: parse error before '*' token
mod_proxy_html.c: In function `set_param':
mod_proxy_html.c:980: error: `arg' undeclared (first use in this function)
mod_proxy_html.c:982: error: `cfg' undeclared (first use in this function)
mod_proxy_html.c: In function `set_flags':
mod_proxy_html.c:991: error: parse error before ')' token
mod_proxy_html.c:992: error: parse error before ')' token
mod_proxy_html.c:993: error: parse error before ')' token
mod_proxy_html.c: At top level:
mod_proxy_html.c:1003: error: parse error before ')' token
mod_proxy_html.c:1003: error: initializer element is not constant
mod_proxy_html.c:1003: error: (near initialization for `proxy_html_cmds[3].cmd_data')
mod_proxy_html.c:1003: error: initializer element is not constant
mod_proxy_html.c:1003: error: (near initialization for `proxy_html_cmds[3]')
mod_proxy_html.c:1006: error: initializer element is not constant
mod_proxy_html.c:1006: error: (near initialization for `proxy_html_cmds[4].func')
mod_proxy_html.c:1006: error: parse error before ')' token
mod_proxy_html.c:1006: error: initializer element is not constant
mod_proxy_html.c:1006: error: (near initialization for `proxy_html_cmds[4].cmd_data')
mod_proxy_html.c:1006: error: initializer element is not constant
mod_proxy_html.c:1006: error: (near initialization for `proxy_html_cmds[4]')
mod_proxy_html.c:1009: error: initializer element is not constant
mod_proxy_html.c:1009: error: (near initialization for `proxy_html_cmds[5].func')
mod_proxy_html.c:1009: error: parse error before ')' token
mod_proxy_html.c:1009: error: initializer element is not constant
mod_proxy_html.c:1009: error: (near initialization for `proxy_html_cmds[5].cmd_data')
mod_proxy_html.c:1009: error: initializer element is not constant
mod_proxy_html.c:1009: error: (near initialization for `proxy_html_cmds[5]')
mod_proxy_html.c:1013: error: initializer element is not constant
mod_proxy_html.c:1013: error: (near initialization for `proxy_html_cmds[6].func')
mod_proxy_html.c:1013: error: parse error before ')' token
mod_proxy_html.c:1013: error: initializer element is not constant
mod_proxy_html.c:1013: error: (near initialization for `proxy_html_cmds[6].cmd_data')
mod_proxy_html.c:1013: error: initializer element is not constant
mod_proxy_html.c:1013: error: (near initialization for `proxy_html_cmds[6]')
mod_proxy_html.c:1017: error: initializer element is not constant
mod_proxy_html.c:1017: error: (near initialization for `proxy_html_cmds[7].func')
mod_proxy_html.c:1017: error: parse error before ')' token
mod_proxy_html.c:1017: error: initializer element is not constant
mod_proxy_html.c:1017: error: (near initialization for `proxy_html_cmds[7].cmd_data')
mod_proxy_html.c:1017: error: initializer element is not constant
mod_proxy_html.c:1017: error: (near initialization for `proxy_html_cmds[7]')
mod_proxy_html.c:1020: error: initializer element is not constant
mod_proxy_html.c:1020: error: (near initialization for `proxy_html_cmds[8]')
apxs:Error: Command failed with rc=65536
.

At first, I thought (given the reference to regex_t) that it was a problem with my PCRE library (perhaps a conflict with my external library), but I recompiled Apache with --with-pcre and no change.

I've redownloaded the mod_proxy_html.c file in several different ways to rule out the possibility that it was corrupted, and I did take a look at the file to see if anything was obviously missing (I'm not a C programmer). I've searched Google and various other sources and haven't seen anyone else having this problem. Any ideas on pointers to where I can get more information about this problem, or things to try to nail down what the problem is?

--
Devin L. Ganger <devin@xxxxxxxxxxxx>
"Aikido is based around the central precept of letting an attack take
its natural course.  You, of course, don't want to impede that natural
flow by being in its way." -- overheard on the PyraMOO

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux