Hi! - I'm trying to compile squid 3.2.5 on Solaris 10 SPARC using SunStudio 12.3, and produces the following error at link fase: CC -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\" -DDEFAULT_SQUID_DATA_DIR=\"/usr/local/squid/share\" -DDEFAULT_SQUID_CONFIG_DIR=\"/usr/local/squid/etc\" -I.. -I../include -I../lib -I../src -I../include -I../libltdl -I../src -I../libltdl -I/usr/local/include -errwarn=%all,no%badargtype2w,no%wbadinit,no%wbadasg -errtags -D_REENTRANT -lpthread -erroff=wvarhidemem,nullref,identexpected -library=stlport4 -c -o swap_log_op.o swap_log_op.cc /bin/bash ../libtool --tag=CXX --mode=link CC -errwarn=%all,no%badargtype2w,no%wbadinit,no%wbadasg -errtags -D_REENTRANT -lpthread -erroff=wvarhidemem,nullref,identexpected -library=stlport4 -export-dynamic -dlopen force -g -o squid AclRegs.o AuthReg.o AccessLogEntry.o AsyncEngine.o cache_cf.o CacheDigest.o cache_manager.o carp.o cbdata.o ChunkedCodingParser.o client_db.o client_side.o client_side_reply.o client_side_request.o BodyPipe.o clientStream.o CompletionDispatcher.o ConfigOption.o ConfigParser.o CpuAffinity.o CpuAffinityMap.o CpuAffinitySet.o debug.o delay_pools.o DelayId.o DelayBucket.o DelayConfig.o DelayPool.o DelaySpec.o DelayTagged.o DelayUser.o DelayVector.o NullDelayId.o ClientDelayConfig.o disk.o DiskIO/DiskIOModule.o DiskIO/ReadRequest.o DiskIO/WriteRequest.o dlink.o dns_internal.o DnsLookupDetails.o errorpage.o ETag.o event.o EventLoop.o external_acl.o ExternalACLEntry.o FadingCounter.o fd.o fde.o filemap.o forward.o fqdncache.o ftp.o gopher.o helper.o HelperChildConfig.o htcp.o http.o HttpStatusLine.o HttpHdrCc.o HttpHdrRange.o HttpHdrSc.o HttpHdrScTarget.o HttpHdrContRange.o HttpHeader.o HttpHeaderTools.o HttpBody.o HttpMsg.o HttpParser.o HttpReply.o HttpRequest.o HttpRequestMethod.o icp_v2.o icp_v3.o int.o internal.o ipc.o ipcache.o list.o main.o mem.o mem_node.o MemBuf.o MemObject.o mime.o mime_header.o multicast.o neighbors.o Packer.o Parsing.o pconn.o peer_digest.o peer_proxy_negotiate_auth.o peer_select.o peer_sourcehash.o peer_userhash.o redirect.o refresh.o RemovalPolicy.o send-announce.o MemBlob.o SquidMath.o SquidNew.o stat.o StatCounters.o StatHist.o String.o stmem.o store.o StoreFileSystem.o store_io.o StoreIOState.o store_client.o store_digest.o store_dir.o store_key_md5.o store_log.o store_rebuild.o store_swapin.o store_swapmeta.o store_swapout.o StoreMeta.o StoreMetaMD5.o StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaUnpacker.o StoreMetaURL.o StoreMetaVary.o StoreStats.o StoreSwapLogData.o Server.o SwapDir.o MemStore.o time.o tools.o tunnel.o unlinkd.o url.o URLScheme.o urn.o wccp.o wccp2.o whois.o wordlist.o LoadableModule.o LoadableModules.o DiskIO/DiskIOModules_gen.o err_type.o err_detail_type.o globals.o hier_code.o icp_opcode.o lookup_t.o repl_modules.o swap_log_op.o auth/libacls.la ident/libident.la acl/libacls.la eui/libeui.la acl/libstate.la auth/libauth.la libBlocking.a libDiskDaemon.a libDiskThreads.a libMmapped.a acl/libapi.la base/libbase.la libsquid.la ip/libip.la fs/libfs.la ipc/libipc.la mgr/libmgr.la anyp/libanyp.la comm/libcomm.la eui/libeui.la icmp/libicmp.la icmp/libicmp-core.la log/liblog.la format/libformat.la DiskIO/Blocking/BlockingDiskIOModule.o DiskIO/DiskDaemon/DiskDaemonDiskIOModule.o DiskIO/DiskThreads/DiskThreadsDiskIOModule.o DiskIO/Mmapped/MmappedDiskIOModule.o repl/liblru.a -lcrypt -lmd5 ssl/libsslsquid.la ssl/libsslutil.la ../lib/libmisccontainers.la ../lib/libmiscencoding.la ../lib/libmiscutil.la -L/usr/local/lib -lssl -lcrypto -L../compat -lcompat-squid -lm -lsocket -lresolv -lnsl -lrt -L.. ../libltdl/libltdlc.la libtool: link: rm -f .libs/squid.nm .libs/squid.nmS .libs/squid.nmT libtool: link: (cd .libs && cc -xc99 -D_XOPEN_SOURCE=600 -D_XPG6 -c "squidS.c") libtool: link: rm -f ".libs/squidS.c" ".libs/squid.nm" ".libs/squid.nmS" ".libs/squid.nmT" libtool: link: CC -errwarn=%all,no%badargtype2w,no%wbadinit,no%wbadasg -errtags -D_REENTRANT -erroff=wvarhidemem,nullref,identexpected .libs/squidS.o -g -o squid AclRegs.o AuthReg.o AccessLogEntry.o AsyncEngine.o cache_cf.o CacheDigest.o cache_manager.o carp.o cbdata.o ChunkedCodingParser.o client_db.o client_side.o client_side_reply.o client_side_request.o BodyPipe.o clientStream.o CompletionDispatcher.o ConfigOption.o ConfigParser.o CpuAffinity.o CpuAffinityMap.o CpuAffinitySet.o debug.o delay_pools.o DelayId.o DelayBucket.o DelayConfig.o DelayPool.o DelaySpec.o DelayTagged.o DelayUser.o DelayVector.o NullDelayId.o ClientDelayConfig.o disk.o DiskIO/DiskIOModule.o DiskIO/ReadRequest.o DiskIO/WriteRequest.o dlink.o dns_internal.o DnsLookupDetails.o errorpage.o ETag.o event.o EventLoop.o external_acl.o ExternalACLEntry.o FadingCounter.o fd.o fde.o filemap.o forward.o fqdncache.o ftp.o gopher.o helper.o HelperChildConfig.o htcp.o http.o HttpStatusLine.o HttpHdrCc.o HttpHdrRange.o HttpHdrSc.o HttpHdrScTarget.o HttpHdrContRange.o HttpHeader.o HttpHeaderTools.o HttpBody.o HttpMsg.o HttpParser.o HttpReply.o HttpRequest.o HttpRequestMethod.o icp_v2.o icp_v3.o int.o internal.o ipc.o ipcache.o list.o main.o mem.o mem_node.o MemBuf.o MemObject.o mime.o mime_header.o multicast.o neighbors.o Packer.o Parsing.o pconn.o peer_digest.o peer_proxy_negotiate_auth.o peer_select.o peer_sourcehash.o peer_userhash.o redirect.o refresh.o RemovalPolicy.o send-announce.o MemBlob.o SquidMath.o SquidNew.o stat.o StatCounters.o StatHist.o String.o stmem.o store.o StoreFileSystem.o store_io.o StoreIOState.o store_client.o store_digest.o store_dir.o store_key_md5.o store_log.o store_rebuild.o store_swapin.o store_swapmeta.o store_swapout.o StoreMeta.o StoreMetaMD5.o StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaUnpacker.o StoreMetaURL.o StoreMetaVary.o StoreStats.o StoreSwapLogData.o Server.o SwapDir.o MemStore.o time.o tools.o tunnel.o unlinkd.o url.o URLScheme.o urn.o wccp.o wccp2.o whois.o wordlist.o LoadableModule.o LoadableModules.o DiskIO/DiskIOModules_gen.o err_type.o err_detail_type.o globals.o hier_code.o icp_opcode.o lookup_t.o repl_modules.o swap_log_op.o DiskIO/Blocking/BlockingDiskIOModule.o DiskIO/DiskDaemon/DiskDaemonDiskIOModule.o DiskIO/DiskThreads/DiskThreadsDiskIOModule.o DiskIO/Mmapped/MmappedDiskIOModule.o /export/home/access/squid-3.2.5/libltdl/./.libs/dlopen.a auth/.libs/libacls.a ident/.libs/libident.a acl/.libs/libacls.a acl/.libs/libstate.a auth/.libs/libauth.a libBlocking.a libDiskDaemon.a libDiskThreads.a libMmapped.a acl/.libs/libapi.a base/.libs/libbase.a ./.libs/libsquid.a ip/.libs/libip.a fs/.libs/libfs.a ipc/.libs/libipc.a mgr/.libs/libmgr.a anyp/.libs/libanyp.a comm/.libs/libcomm.a eui/.libs/libeui.a icmp/.libs/libicmp.a icmp/.libs/libicmp-core.a log/.libs/liblog.a format/.libs/libformat.a repl/liblru.a -lcrypt -lmd5 ssl/.libs/libsslsquid.a ssl/.libs/libsslutil.a ../lib/.libs/libmisccontainers.a ../lib/.libs/libmiscencoding.a ../lib/.libs/libmiscutil.a -lpthread -library=stlport4 -L/usr/local/lib -lssl -lcrypto -L/export/home/access/squid-3.2.5/compat -lcompat-squid -lm -lsocket -lresolv -lnsl -lrt -L/export/home/access/squid-3.2.5 ../libltdl/.libs/libltdlc.a Undefined first referenced symbol in file CommCloseCbPtrFun::CommCloseCbPtrFun(void(*)(const CommCloseCbParams&),const CommCloseCbParams&) ./.libs/libsquid.a(comm.o) CommTimeoutCbPtrFun::CommTimeoutCbPtrFun(void(*)(const CommTimeoutCbParams&),const CommTimeoutCbParams&) client_side.o void Ipc::TypedMsgHdr::putInt(int) mgr/.libs/libmgr.a(ActionParams.o) FdeCbPtrFun::FdeCbPtrFun(void(*)(const FdeCbParams&),const FdeCbParams&) ./.libs/libsquid.a(comm.o) ld: fatal: symbol referencing errors. No output written to squid libtool: link: rm -f ".libs/squidS.o" make[3]: *** [squid] Error 2 make[3]: Leaving directory `/export/home/access/squid-3.2.5/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/export/home/access/squid-3.2.5/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/export/home/access/squid-3.2.5/src' make: *** [all-recursive] Error 1 -bash-3.2# Platform details: uname -m = sun4u uname -r = 5.10 uname -s = SunOS uname -v = Generic_147440-26 /usr/bin/uname -p = sparc /bin/uname -X = System = SunOS Release = 5.10 KernelID = Generic_147440-26 Machine = sun4u BusType = <unknown> Serial = <unknown> Users = <unknown> OEM# = 0 Origin# = 1 NumCPU = 1 Configure details: configure --prefix=/usr/local/squid --enable-icmp --enable-delay-pools --enable-devpoll --enable-kill-parent-hack --enable-ssl --enable-ipf-transparent --with-openssl=/usr/local --without-krb5-config --enable-auth-basic="MSNT MSNT-multi-domain NCSA PAM POP3 RADIUS SASL SMB fake getpwnam" --enable-auth-ntlm="fake smb_lm" --enable-auth-negotiate=none --enable-auth-digest="file" --enable-external-acl-helpers="file_userip unix_group wbinfo_group" --enable-storeio="aufs diskd ufs" --enable-disk-io="Blocking DiskDaemon DiskThreads Mmapped" --disable-ident-lookups --disable-icap-client --disable-ecap --disable-snmp --disable-esi CC & CXX FLAGS CFLAGS="-xc99 -D_XOPEN_SOURCE=600 -D_XPG6" CXXFLAGS="-erroff=wvarhidemem,nullref,identexpected -library=stlport4" LD_LIBRARY_PATH value LD_LIBRARY_PATH="/usr/local/lib:/usr/lib:/lib" Squid patches applied: squid-3.2-11740.patch squid-3.2-11741.patch And I needed to change 2 files ... # vi src/ipc/Queue.h line 123 const int theCapacity; ///< maximum number of items, i.e. theBuffer size char theBuffer; <----- remove "[]" }; This change prevent this error: /bin/bash ../../libtool --tag=CXX --mode=compile CC -DHAVE_CONFIG_H -DDEFAULT_STATEDIR=\"/usr/local/squid/var/run/squid\" -I../.. -I../../include -I../../lib -I../../src -I../../include -I../../libltdl -I/usr/local/include -errwarn=%all,no%badargtype2w,no%wbadinit,no%wbadasg -errtags -D_REENTRANT -lpthread -erroff=wvarhidemem,nullref,identexpected -library=stlport4 -c -o Queue.lo Queue.cc libtool: compile: CC -DHAVE_CONFIG_H -DDEFAULT_STATEDIR=\"/usr/local/squid/var/run/squid\" -I../.. -I../../include -I../../lib -I../../src -I../../include -I../../libltdl -I/usr/local/include -errwarn=%all,no%badargtype2w,no%wbadinit,no%wbadasg -errtags -D_REENTRANT -lpthread -erroff=wvarhidemem,nullref,identexpected -library=stlport4 -c Queue.cc -KPIC -DPIC -o .libs/Queue.o "../../src/ipc/Queue.h", line 123: Error, incompnolink: In this declaration "theBuffer" is of an incomplete type "char[]". 1 Error(s) detected. make[3]: *** [Queue.lo] Error 1 make[3]: Leaving directory `/export/home/access/squid-3.2.5/src/ipc' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/export/home/access/squid-3.2.5/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/export/home/access/squid-3.2.5/src' make: *** [all-recursive] Error 1 -bash-3.2# # vi src/external_acl.cc line 602 & 603 #if USE_SSL DUMP_EXT_ACL_TYPE_FMT(USER_CERT_RAW, " %%USER_CERT_RAW", NULL); <------ added ", NULL" DUMP_EXT_ACL_TYPE_FMT(USER_CERTCHAIN_RAW, " %%USER_CERTCHAIN_RAW ", NULL); <----- added ",NULL" line 612 DUMP_EXT_ACL_TYPE(EXT_LOG); DUMP_EXT_ACL_TYPE(TAG); DUMP_EXT_ACL_TYPE_FMT(PERCENT, " %%%%", NULL); <------ added ", NULL" default: This change prevent this error: CC -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\" -DDEFAULT_SQUID_DATA_DIR=\"/usr/local/squid/share\" -DDEFAULT_SQUID_CONFIG_DIR=\"/usr/local/squid/etc\" -I.. -I../include -I../lib -I../src -I../include -I../libltdl -I../src -I../libltdl -I/usr/local/include -errwarn=%all,no%badargtype2w,no%wbadinit,no%wbadasg -errtags -D_REENTRANT -lpthread -erroff=wvarhidemem,nullref,identexpected -library=stlport4 -c -o external_acl.o external_acl.cc "external_acl.cc", line 602: Error, toofewmargs: Too few arguments in macro DUMP_EXT_ACL_TYPE_FMT. "external_acl.cc", line 602: Error, extracomma: Trailing comma in a parameter list. "external_acl.cc", line 603: Error, toofewmargs: Too few arguments in macro DUMP_EXT_ACL_TYPE_FMT. "external_acl.cc", line 603: Error, extracomma: Trailing comma in a parameter list. "external_acl.cc", line 612: Error, toofewmargs: Too few arguments in macro DUMP_EXT_ACL_TYPE_FMT. "external_acl.cc", line 612: Error, extracomma: Trailing comma in a parameter list. 6 Error(s) detected. make[3]: *** [external_acl.o] Error 2 make[3]: Leaving directory `/export/home/access/squid-3.2.5/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/export/home/access/squid-3.2.5/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/export/home/access/squid-3.2.5/src' make: *** [all-recursive] Error 1 Thank you in advanced for any kind of help to solve this problem or valid if the changes are correct!!!! Regards, Eric Pérez México