On Tue, Feb 15, 2011 at 1:41 PM, Yuri Voinov <yvoinov@xxxxxxxxx> wrote: > Hi there, > > > > I cannot build 3.1.11 with IP-Filter transparent support on Solaris 10 > due to duplicate IPF header. > > My build option (working with 2.7 STABLE 9) is: > > ./configure '--disable-unlinkd' '--disable-ipv6' '-enable-ssl' > '--enable-default-err-language=Russian-1251' > --enable-err-languages='Russian-1251 English' > '--enable-follow-x-forwarded-for' '--enable-delay-pools' > '--enable-async-io=4' '--enable-storeio=ufs,diskd' > '--prefix=/usr/local/squid' '--enable-external-acl-helpers=ldap_group' > '--enable-ipf-transparent' 'CC=gcc' 'CFLAGS=-O2 -march=i686 > -L/usr/local/lib -R/usr/local/lib -L/usr/local/ssl/lib > -R/usr/local/ssl/lib -L/usr/openwin/lib -R/usr/openwin/lib > -I/usr/local/rrdtool-1.4.2/include -I/usr/local/BerkeleyDB.4.7/include > -I/usr/local/mysql/include' 'LDFLAGS=-L/usr/local/lib -R/usr/local/lib > -R/usr/lib -L/usr/lib -R/usr/openwin/lib -L/usr/openwin/lib > -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/X11R6/lib > -R/usr/X11R6/lib -L/usr/local/BerkeleyDB.4.7/lib > -R/usr/local/BerkeleyDB.4.7/lib -L/usr/local/mysql/lib > -R/usr/local/mysql/lib' 'CPPFLAGS=-I/usr/local/include > -I/usr/local/ssl/include -I/usr/local/include/ncurses > -I/usr/openwin/include -I/usr/local/rrdtool-1.4.2/include > -I/usr/local/BerkeleyDB.4.7/include -I/usr/local/include/pcap > -I/usr/local/include/freetype2' > > Configuration is successful, but make produces an error. Erorr is > absent if I drop '--enable-ipf-transparent' configuration flag. > > Is it bug, or just feature? Why it is not clear documented? > > PS. Yes, I need to build transparent proxy with IP Filter. >>It's hard to tell if you don't paste the error message.. >>Could you please paste here the last few lines of the build output? Yes, here is it: libtool: compile: g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../src -I../../include -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/include/ncurses -I/usr/openwin/include -I/usr/local/rrdtool-1.4.2/include -I/usr/local/BerkeleyDB.4.7/include -I/usr/local/include/pcap -I/usr/local/include/freetype2 -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -D_REENTRANT -pthreads -DSOLARIS2=10 -g -O2 -MT IpIntercept.lo -MD -MP -MF .deps/IpIntercept.Tpo -c IpIntercept.cc -fPIC -DPIC -o .libs/IpIntercept.o In file included from /usr/include/inet/ip.h:16, from /usr/include/netinet/ip_compat.h:189, from IpIntercept.cc:60: /usr/include/inet/mib2.h:133: error: conflicting declaration 'typedef uint32_t IpAddress' ../../src/ip/IpAddress.h:77: error: 'class IpAddress' has a previous declaration as `class IpAddress' IpIntercept.cc:127: error: prototype for `int IpIntercept::NetfilterInterception(int, const IpAddress&, IpAddress&, int)' does not match any in class `IpIntercept' IpIntercept.h:106: error: candidate is: int IpIntercept::NetfilterInterception(int, const IpAddress&, IpAddress&, int) IpIntercept.cc:158: error: prototype for `int IpIntercept::NetfilterTransparent(int, const IpAddress&, IpAddress&, int)' does not match any in class `IpIntercept' IpIntercept.h:120: error: candidate is: int IpIntercept::NetfilterTransparent(int, const IpAddress&, IpAddress&, int) IpIntercept.cc:177: error: prototype for `int IpIntercept::IpfwInterception(int, const IpAddress&, IpAddress&, int)' does not match any in class `IpIntercept' IpIntercept.h:134: error: candidate is: int IpIntercept::IpfwInterception(int, const IpAddress&, IpAddress&, int) IpIntercept.cc:208: error: prototype for `int IpIntercept::IpfInterception(int, const IpAddress&, IpAddress&, IpAddress&, int)' does not match any in class `IpIntercept' IpIntercept.h:143: error: candidate is: int IpIntercept::IpfInterception(int, const IpAddress&, IpAddress&, IpAddress&, int) IpIntercept.cc: In member function `int IpIntercept::IpfInterception(int, const IpAddress&, IpAddress&, IpAddress&, int)': IpIntercept.cc:229: error: request for member `GetPort' in `me', which is of non-class type `const unsigned int' IpIntercept.cc:230: error: request for member `GetPort' in `dst', which is of non-class type `unsigned int' IpIntercept.cc:231: error: request for member `GetInAddr' in `me', which is of non-class type `const unsigned int' IpIntercept.cc:232: error: request for member `GetInAddr' in `dst', which is of non-class type `unsigned int' IpIntercept.cc:287: error: no match for 'operator!=' in 'client != natLookup.natlookup::nl_realip' IpIntercept.cc:288: error: cannot convert `in_addr' to `unsigned int' in assignment IpIntercept.cc:289: error: request for member `SetPort' in `client', which is of non-class type `unsigned int' IpIntercept.cc: At global scope: IpIntercept.cc:305: error: prototype for `int IpIntercept::PfInterception(int, const IpAddress&, IpAddress&, IpAddress&, int)' does not match any in class `IpIntercept' IpIntercept.h:152: error: candidate is: int IpIntercept::PfInterception(int, const IpAddress&, IpAddress&, IpAddress&, int) IpIntercept.cc:362: error: prototype for `int IpIntercept::NatLookup(int, const IpAddress&, const IpAddress&, IpAddress&, IpAddress&)' does not match any in class `IpIntercept' IpIntercept.h:30: error: candidate is: int IpIntercept::NatLookup(int, const IpAddress&, const IpAddress&, IpAddress&, IpAddress&) IpIntercept.cc: In member function `int IpIntercept::NatLookup(int, const IpAddress&, const IpAddress&, IpAddress&, IpAddress&)': IpIntercept.cc:389: error: request for member `IsIPv4' in `me', which is of non-class type `const unsigned int' IpIntercept.cc:390: error: request for member `IsIPv4' in `peer', which is of non-class type `const unsigned int' IpIntercept.cc: At global scope: IpIntercept.cc:446: error: prototype for `bool IpIntercept::ProbeForTproxy(IpAddress&)' does not match any in class `IpIntercept' IpIntercept.h:47: error: candidate is: bool IpIntercept::ProbeForTproxy(IpAddress&) *** Error code 1 make: Fatal error: Command failed for target `IpIntercept.lo'