Any idea what I need to do to avoid this error ?
ld: fatal: symbol `void*operator new(unsigned)' is multiply-defined:
(file debug.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: symbol `void operator delete(void*)' is multiply-defined:
(file debug.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: symbol `void*operator new[](unsigned)' is multiply-defined:
(file store.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: symbol `void operator delete[](void*)' is multiply-defined:
(file store.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: file processing errors. No output written to ufsdump
Thank you
Markus
"Markus Moeller" <huaraz@xxxxxxxxxxxxxxxx> wrote in message
news:h4hlvp$1tl$1@xxxxxxxxxxxxxxxx
OK removing "private:" from the definition seems to work. Not sure how
important the warnings are.
CC -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\"
-I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include
-I/usr/include/libxml2 -fhuge-objects -g -c comm.cc -o comm.o
CC: Warning: Option -fhuge-objects passed to ld, if ld is invoked, ignored
otherwise
"comm.h", line 24: Warning: Identifier expected instead of "}".
"comm.cc", line 329: Warning: Identifier expected instead of "}".
"comm.cc", line 2112: Warning: fd hides fdc_t::fd.
3 Warning(s) detected.
until I get here which seems a linker error because of -fhuge-objects. I
guess this should be check in configure.
(cd .libs && rm -f libauth.la && ln -s ../libauth.la libauth.la)
/bin/bash ../libtool --tag=CXX --mode=link CC -fhuge-objects -g -g -o
cf_gen cf_gen.o debug.o time.o globals.o libsquid.la
libauth.la -L../lib -lmiscutil -lm -lresolv -lmalloc -lsocket -lnsl
CC -fhuge-objects -g -g -o cf_gen cf_gen.o debug.o time.o globals.o
./.libs/libsquid.a
./.libs/libauth.a -L/home/markus/sources/squid-3.0.STABLE16/lib -lmiscutil
-lm -lresolv -lmalloc -lsocket -lnsl
CC: Warning: Option -fhuge-objects passed to ld, if ld is invoked, ignored
otherwise
ld: fatal: auxiliary filter option (-f, --auxiliary) is incompatible with
building a dynamic executable
ld: fatal: flags processing errors
*** Error code 1
make: Fatal error: Command failed for target `cf_gen'
Current working directory /src/src/squid-3.0.STABLE16/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='lib snmplib scripts src icons errors doc helpers test-suite tools';
for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
After removing -fhuge-objetcs I get till:
/bin/bash ../libtool --tag=CXX --mode=link CC -g -g -o ufsdump
debug.o int.o mem.o store_key_md5.o StoreMeta.o StoreMetaMD5.o
StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaUnpacker.o StoreMetaURL.o
StoreMetaVary.o String.o time.o ufsdump.o url.o AsyncCall.o BodyPipe.o
ConfigParser.o store.o StoreFileSystem.o StoreSwapLogData.o access_log.o
acl.o acl_noncore.o ACLChecklist.o ACLProxyAuth.o ACLUserData.o
ACLRegexData.o ACLStringData.o authenticate.o cache_cf.o cache_manager.o
CacheDigest.o carp.o cbdata.o ChunkedCodingParser.o client_db.o
client_side.o client_side_reply.o client_side_request.o clientStream.o
comm_select.o comm_select_win32.o comm_poll.o comm_epoll.o comm_kqueue.o
ConfigOption.o disk.o dns_internal.o errorpage.o ETag.o event.o
external_acl.o ExternalACLEntry.o fd.o fde.o filemap.o forward.o
fqdncache.o ftp.o gopher.o helper.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
HttpReply.o HttpRequest.o HttpRequestMethod.o icmp.o icp_v2.o icp_v3.o
ACLIdent.o ident.o internal.o ipc.o ipcache.o list.o logfile.o
mem_node.o MemBuf.o MemObject.o mime.o multicast.o neighbors.o net_db.o
Packer.o Parsing.o pconn.o peer_digest.o peer_select.o
peer_sourcehash.o peer_userhash.o redirect.o referer.o refresh.o
RemovalPolicy.o send-announce.o snmp_core.o snmp_agent.o tunnel.o
Server.o SquidNew.o stat.o StatHist.o stmem.o store_io.o StoreIOState.o
store_client.o store_digest.o store_dir.o store_log.o store_rebuild.o
store_swapin.o store_swapmeta.o store_swapout.o SwapDir.o
TextException.o tools.o unlinkd.o URLScheme.o urn.o useragent.o wccp.o
wccp2.o whois.o wordlist.o repl_modules.o globals.o string_arrays.o
libsquid.la libauth.la repl/liblru.a fs/libufs.a auth/libntlm.a
auth/libbasic.a auth/libdigest.a auth/libnegotiate.a -lcrypt -lmd5
../snmplib/libsnmp.a -L../lib -lmiscutil -lm -lresolv -lmalloc -lsocket
-lnsl
CC -g -g -o ufsdump debug.o int.o mem.o store_key_md5.o StoreMeta.o
StoreMetaMD5.o StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaUnpacker.o
StoreMetaURL.o StoreMetaVary.o String.o time.o ufsdump.o url.o AsyncCall.o
BodyPipe.o ConfigParser.o store.o StoreFileSystem.o StoreSwapLogData.o
access_log.o acl.o acl_noncore.o ACLChecklist.o ACLProxyAuth.o
ACLUserData.o ACLRegexData.o ACLStringData.o authenticate.o cache_cf.o
cache_manager.o CacheDigest.o carp.o cbdata.o ChunkedCodingParser.o
client_db.o client_side.o client_side_reply.o client_side_request.o
clientStream.o comm_select.o comm_select_win32.o comm_poll.o comm_epoll.o
comm_kqueue.o ConfigOption.o disk.o dns_internal.o errorpage.o ETag.o
event.o external_acl.o ExternalACLEntry.o fd.o fde.o filemap.o forward.o
fqdncache.o ftp.o gopher.o helper.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
HttpReply.o HttpRequest.o HttpRequestMethod.o icmp.o icp_v2.o icp_v3.o
ACLIdent.o ident.o internal.o ipc.o ipcache.o list.o logfile.o mem_node.o
MemBuf.o MemObject.o mime.o multicast.o neighbors.o net_db.o Packer.o
Parsing.o pconn.o peer_digest.o peer_select.o peer_sourcehash.o
peer_userhash.o redirect.o referer.o refresh.o RemovalPolicy.o
send-announce.o snmp_core.o snmp_agent.o tunnel.o Server.o SquidNew.o
stat.o StatHist.o stmem.o store_io.o StoreIOState.o store_client.o
store_digest.o store_dir.o store_log.o store_rebuild.o store_swapin.o
store_swapmeta.o store_swapout.o SwapDir.o TextException.o tools.o
unlinkd.o URLScheme.o urn.o useragent.o wccp.o wccp2.o whois.o wordlist.o
repl_modules.o globals.o string_arrays.o ./.libs/libsquid.a
./.libs/libauth.a repl/liblru.a fs/libufs.a auth/libntlm.a auth/libbasic.a
auth/libdigest.a auth/libnegotiate.a -lcrypt -lmd5
../snmplib/libsnmp.a -L/home/markus/sources/squid-3.0.STABLE16/lib -lmiscutil
-lm -lresolv -lmalloc -lsocket -lnsl
ld: fatal: symbol `void*operator new(unsigned)' is multiply-defined:
(file debug.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: symbol `void operator delete(void*)' is multiply-defined:
(file debug.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: symbol `void*operator new[](unsigned)' is multiply-defined:
(file store.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: symbol `void operator delete[](void*)' is multiply-defined:
(file store.o type=FUNC; file SquidNew.o type=FUNC);
ld: fatal: file processing errors. No output written to ufsdump
*** Error code 1
make: Fatal error: Command failed for target `ufsdump'
Current working directory /src/src/squid-3.0.STABLE16/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='fs repl auth'; for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /src/src/squid-3.0.STABLE16/src
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /src/src/squid-3.0.STABLE16/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
case $f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='lib snmplib scripts src icons errors doc helpers test-suite tools';
for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Regards
Markus
"Amos Jeffries" <squid3@xxxxxxxxxxxxx> wrote in message
news:4A6C5285.5040007@xxxxxxxxxxxxxxxx
Markus Moeller wrote:
I get the following compile error on Opensolaris. How can I fix this ?
Thank you
Markus
# uname -a
SunOS opensolaris 5.11 snv_109 i86pc i386 i86pc
# cc -V
cc: Sun C 5.9 SunOS_i386 Patch 124868-07 2008/10/07
usage: cc [ options] files. Use 'cc -flags' for details
source='comm.cc' object='comm.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../cfgaux/depcomp \
/bin/bash ../libtool --tag=CXX --mode=compile
CC -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\"
-I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include
-I/usr/include/libxml2 -fhuge-objects -g -c -o comm.lo comm.cc
CC -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\"
-I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include
-I/usr/include/libxml2 -fhuge-objects -g -c comm.cc -o comm.o
CC: Warning: Option -fhuge-objects passed to ld, if ld is invoked,
ignored otherwise
"cbdata.h", line 134: Error: "}" expected instead of ";".
"cbdata.h", line 135: Error: A declaration was expected instead of "}".
"MemBuf.h", line 126: Error: "}" expected instead of ";".
"MemBuf.h", line 53: Error: buf is not defined.
Looks like macros are not working. The one in question expands to a set
of definitions, terminating in "private:". I would think that is the
problem.
But there is some code checking and cleanup before that can be removed.
Every class that uses CBDATA_CLASS2() macro needs to be checked of need
of the "private:".
Amos
--
Please be using
Current Stable Squid 2.7.STABLE6 or 3.0.STABLE16
Current Beta Squid 3.1.0.10 or 3.1.0.11