Greetings all,


Amos wrote:

> Where else outside client_side_reply.cc did you remove 

> #if ESI / #endif code? you said 'modules' so I am assuming 

> the problem came up elsewhere later.



After disabling the block in client_side_reply.cc the build ended

with:



ld: warning: file /usr/sfw/lib/amd64/libstdc++.so: attempted multiple inclusion 
of file

Undefined                       first referenced

 symbol                             in file

ESIParser::Type                     cache_cf.o

ld: fatal: Symbol referencing errors. No output written to ufsdump

collect2: ld returned 1 exit status

gmake[2]: *** [ufsdump] Error 1

gmake[2]: Leaving directory `/export/home/randy/Download/squid-3.0.RC1/src'

gmake[1]: *** [all-recursive] Error 1

gmake[1]: Leaving directory `/export/home/randy/Download/squid-3.0.RC1/src'

gmake: *** [all] Error 2





Then in cache_cf.cc I commented out the 



#if ESI

#include "ESIParser.h

#endif



section, rebuilt, and g++ said:



        if g++ -DHAVE_CONFIG_H 
-DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\" -I. -I. -I../include 
-I. -I. -I../include -I../include -I../lib/libTrie/include   
-I/usr/include/libxml2 -I/usr/local/include -Wall -Wpointer-arith 
-Wwrite-strings -Wcomments  -D_REENTRANT -pthreads -DSOLARIS2=11 -O3 -m64 
-march=opteron -mcpu=opteron -mtune=opteron -msse3 -m3dnow -mfpmath=sse 
-pthreads -MT cache_cf.o -MD -MP -MF "$depbase.Tpo" -c -o cache_cf.o 
cache_cf.cc; \

        then mv -f "$depbase.Tpo" "$depbase.Po"; else rm -f "$depbase.Tpo"; 
exit 1; fi

In file included from cache_cf.cc:2564:

cf_parser.h: In function `int parse_line(char*)':

cf_parser.h:1145: error: `ESIParser' has not been declared

cf_parser.h:1145: error: `Type' undeclared (first use this function)

cf_parser.h:1145: error: (Each undeclared identifier is reported only once for 
each function it appears in.)

cf_parser.h: In function `void dump_config(StoreEntry*)':

cf_parser.h:1950: error: `ESIParser' has not been declared

cf_parser.h:1950: error: `Type' undeclared (first use this function)

cf_parser.h: In function `void free_all()':

cf_parser.h:2373: error: `ESIParser' has not been declared

cf_parser.h:2373: error: `Type' undeclared (first use this function)

gmake[2]: *** [cache_cf.o] Error 1

gmake[2]: Leaving directory `/export/home/randy/Download/squid-3.0.RC1/src'

gmake[1]: *** [all-recursive] Error 1

gmake[1]: Leaving directory `/export/home/randy/Download/squid-3.0.RC1/src'

gmake: *** [all] Error 2



so then, in cf_parser.h I commented out the 12 #if ESI/#endif blocks

and ran gmake again and end up with a binary that starts but when

accessed it says:

FATAL: Received Segment Violation...dying.

2007/11/11 00:02:42| storeDirWriteCleanLogs: Starting...

2007/11/11 00:02:42| WARNING: Closing open FD   13

2007/11/11 00:02:42|   Finished.  Wrote 1 entries.



I'm going to try and figure out how cf_parser.h gets built so I can

remove those ESI bits from the source and as an exercise in 

learning more about autotools.  I sure wish I could be more helpful

but I've never really had to understand autotools.  I don't use

them at work and up until now if I had any problems with them, I'd

simply upgrade the tools if I was trying to build some open source

distro.  I hope my lack of understanding of the tools isn't leading

you all on a wild goose chase.



Kind regards







-- 

Randall D. DuCharme (Radio AD5GB)

Powered by OpenSolaris!

http://www.opensolaris.org



 --- On Sun 11/11, Amos Jeffries < [EMAIL PROTECTED] > wrote:

From: Amos Jeffries [mailto: [EMAIL PROTECTED]

To: [EMAIL PROTECTED]

     Cc: [EMAIL PROTECTED], [email protected], [EMAIL PROTECTED]

Date: Sun, 11 Nov 2007 23:24:43 +1300

Subject: Re: [squid-users] Solaris/OpenSSL/MD5 Issues



Randall DuCharme wrote:>>> Undefined first referenced>>> symbol in file>>> 
esiEnableProcessing(HttpReply*) client_side_reply.o>>> 
esiProcessStream(clientStreamNode*, ClientHttpRequest*, HttpReply*, 
StoreIOBuffer) client_side_reply.o> >> What does adding a>> #if ESI>> #error 
Something defined ESI!>> #endif> >> Do to the compile process if its added near 
the top of>> src/client_side_reply.cc It may be a mater of making ESI use a>> 
different bounding macro (USE_ESI).> >> Amos> > Nothing. I never hits the 
error. Bizarre. Just as a hack I tried> commenting out the blocks of code 
inside the #if ESI/#endif sections> of the affected modules and was able to get 
a binary. It crashes> every time it's accessed accessed however though that may 
be yet> another issue.> Well, the error was meant to prove whether or not the 
esi* function calls in client_side_reply.cc were even compiled. Apparently not. 
Yet something is pulling the symbols into the linker.Where else outside 
client_side_reply.cc did you remove #if ESI / #endif code? you said 'modules' 
so I am assuming the problem came up elsewhere later.After Guidos comment, I 
think we should do with a diff of a good working include/autoconf.h against 
yours and see whats up.Guido: are you able to supply the working version 
please?Amos

_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!


Reply via email to