Randall DuCharme wrote:

Greetings,

I've recently run into a problem with building Squid on the latest Solaris 10 
release from Sun as well as the Nevada 74 release of OpenSolaris and before I 
start hacking and wasting time, I'm wondering if someone else has 
encountered/solved this.  I've done a pretty exhaustive Google and BLOG 
(several) search(es) but am still empty-handed.

The problem seems to be about /usr/include/sys/md5.h .... as follows:

In file included from /usr/include/inet/ip_stack.h:37,
                 from /usr/include/inet/ip.h:50,
                 from /usr/include/netinet/ip_compat.h:189,
                 from IPInterception.cc:59:
/usr/include/sys/md5.h:62: error: conflicting declaration 'typedef struct 
MD5_CTX MD5_CTX'
../include/md5.h:59: error: 'MD5_CTX' has a previous declaration as `typedef 
struct MD5Context MD5_CTX'
/usr/include/sys/md5.h:62: error: declaration of `typedef struct MD5_CTX 
MD5_CTX'
../include/md5.h:59: error: conflicts with previous declaration `typedef struct 
MD5Context MD5_CTX'
/usr/include/sys/md5.h:62: error: declaration of `typedef struct MD5_CTX 
MD5_CTX'
../include/md5.h:59: error: conflicts with previous declaration `typedef struct 
MD5Context MD5_CTX'
/usr/include/sys/md5.h:62: error: declaration of `typedef struct MD5_CTX 
MD5_CTX'
../include/md5.h:59: error: conflicts with previous declaration `typedef struct 
MD5Context MD5_CTX'
/usr/include/sys/md5.h:66: error: declaration of C function `void 
MD5Final(void*, MD5_CTX*)' conflicts with
../include/md5.h:63: error: previous declaration `void MD5Final(uint8_t*, 
MD5Context*)' here
gmake[1]: *** [IPInterception.lo] Error 1
gmake[1]: Leaving directory `/export/home/randy/Download/squid-3.0.RC1/src'
gmake: *** [all-recursive] Error 1

IPInterception does nothing with MD5_CTX.
Ooooh. Last time I saw an error that appeared to be buried in the sys headers it turned out to be an autoconf problem generating weird syntax.

Try running bootstrap.sh, and configure, etc again on a clean set of sources. If the problem persists please attach a copy of the resulting include/autoconf.h and configure.log to squid-dev or bugzilla.

Also any patches you are applying.



I'm still running an older (2.6-STABLE5) release that was built on an earlier release of OpenSolaris so I'm not exactly sure what changed or when.

Further, I've tried to build 3.0RC1 with SunStudio12 but it complains about 
operator overloading when building Squid's 3.0 RC1 like so:

CC: Warning: Option -fhuge-objects passed to ld, if ld is invoked, ignored 
otherwise
"HttpRequestMethod.h", line 138: Error: Overloading ambiguity between "operator!=(const 
HttpRequestMethod&, const _method_t&)" and "operator!=(int, int)".
1 Error(s) detected.
*** Error code 1
make: Fatal error: Command failed for target `cf_gen.o'
Current working directory /export/home/randy/Download/squid-3.0.RC1/src

This second looks like a compiler issue.
Somehow its not registering types properly in its symbol tables. It's confusing ptr with int, and even appears to be screwing the const correctness over (the error is for constptr-to-data, where the squid code contains ptr-to-constdata. Two very different types in C++).


I can hack my way past the overloading ambiguity problem as well as the GNU 
assumpton about the -f switch (-fhuge-objects ) but end up
with roughly the same problem with /usr/include/sys/md5.h.

What the heck am I missing??????


Kind regards!


Amos

Reply via email to