Search squid archive

Re: Compile error of 3.0-STABLE16 on OpenSolaris

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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







[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux