You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by James Peach <jp...@apache.org> on 2012/01/28 07:11:19 UTC

solaris stdc++ support

Hey all,

The Solaris buildbot was unable to link my traffic_server changes that used a small amount of the standard C++ library. I don't have access to a Solaris box and couldn't figure it out remotely, so I disabled online help in traffic_shell for Solaris. If anyone has a clue, feel free to enlighten me ;)

<http://ci.apache.org/builders/tserver-solaris-trunk/builds/941/steps/compile_1/logs/stdio>

CC -DHAVE_CONFIG_H -I. -I../../lib/ts   -I../../iocore/eventsystem -I../../iocore/net -I../../iocore/aio -I../../iocore/hostdb -I../../iocore/cache -I../../iocore/cluster -I../../iocore/utils -I../../iocore/dns  -I../../lib  -I../../mgmt/api/include  -I../../mgmt/tools -I/export/home/buildbot/tcl/include/amd64 -I/export/home/buildbot/pcre/include/amd64 -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_REENTRANT -Dsolaris -I/usr/sfw/include -I/usr/local/include -I/opt/omni/include/amd64 -I/opt/expat-2.0.1/include -I/export/home/buildbot/pcre/include  -g -mt -m64 -D__WORDSIZE=64 -O3 -library=stlport4 -erroff -c -o cliMain.o cliMain.cc
/bin/bash ../../libtool --tag=CXX    --mode=link CC   -g -mt -m64 -D__WORDSIZE=64 -O3 -library=stlport4 -erroff -R/usr/sfw/lib -R/opt/expat-2.0.1/lib -R/export/home/buildbot/pcre/lib -L/export/home/buildbot/tcl/lib/amd64 -R/export/home/buildbot/tcl/lib/amd64 -L/usr/sfw/lib/amd64 -R/usr/sfw/lib/amd64 -L/export/home/buildbot/pcre/lib/amd64 -R/export/home/buildbot/pcre/lib/amd64 -L/lib -L/usr/local/lib -L/usr/sfw/lib -L/opt/expat-2.0.1/lib -L/export/home/buildbot/pcre/lib -o traffic_shell cliAppInit.o cliMain.o libtrafficshell.a  ../../mgmt/api/remote/libtsmgmt.la  ../../mgmt/tools/libinkconfigapi.a  ../../mgmt/utils/libutils_lm.a  ../../lib/ts/libtsutil.la  -L/opt/omni/lib/amd64 -ltcl8.5   -ldl -lm  -lexpat -lssl -lcrypto  -lpthread -lsocket -lnsl -lresolv  -lposix4  -lpcre -lz
libtool: link: CC -g -mt -m64 -D__WORDSIZE=64 -O3 -erroff -o .libs/traffic_shell cliAppInit.o cliMain.o  -L/export/home/buildbot/tcl/lib/amd64 -L/usr/sfw/lib/amd64 -L/export/home/buildbot/pcre/lib/amd64 -L/lib -L/usr/local/lib -L/usr/sfw/lib -L/opt/expat-2.0.1/lib -L/export/home/buildbot/pcre/lib libtrafficshell.a ../../mgmt/api/remote/.libs/libtsmgmt.so -L/opt/omni/lib/amd64 /export/home/buildbot/slave5/tserver-solaris-trunk/build/lib/ts/.libs/libtsutil.so ../../mgmt/tools/libinkconfigapi.a ../../mgmt/utils/libutils_lm.a ../../lib/ts/.libs/libtsutil.so -library=stlport4 -lc -ltcl8.5 -ldl -lm -lexpat -lssl -lcrypto -lpthread -lsocket -lnsl -lresolv -lposix4 /export/home/buildbot/pcre/lib/amd64/libpcre.so -lz -mt -R/usr/local/lib -R/export/home/buildbot/pcre/lib/amd64 -R/usr/sfw/lib -R/opt/expat-2.0.1/lib -R/export/home/buildbot/pcre/lib -R/export/home/buildbot/tcl/lib/amd64 -R/usr/sfw/lib/amd64

ld: warning: file ../../lib/ts/.libs/libtsutil.so: linked to /export/home/buildbot/slave5/tserver-solaris-trunk/build/lib/ts/.libs/libtsutil.so: attempted multiple inclusion of file
ld: warning: file /export/home/buildbot/tcl/lib/amd64/libtcl8.5.so: section .SUNW_ldynsym has invalid type 0x6ffffff3
ld: warning: file /export/home/buildbot/tcl/lib/amd64/libtcl8.5.so: section .SUNW_dynsymsort has invalid type 0x6ffffff1
Undefined			first referenced
 symbol  			    in file
void std::__node_alloc<1,0>::_M_deallocate(void*,unsigned long) libtrafficshell.a(CliCreateCommands.o)
ld: fatal: Symbol referencing errors. No output written to .libs/traffic_shell


Re: solaris stdc++ support

Posted by James Peach <jp...@apache.org>.
On 28/01/2012, at 8:23 AM, Theo Schlossnagle wrote:

> On Sat, Jan 28, 2012 at 1:11 AM, James Peach <jp...@apache.org> wrote:
> 
>> 
>> Undefined                       first referenced
>> symbol                             in file
>> void std::__node_alloc<1,0>::_M_deallocate(void*,unsigned long)
>> libtrafficshell.a(CliCreateCommands.o)
>> ld: fatal: Symbol referencing errors. No output written to
>> .libs/traffic_shell
>> 
> 
> So that's the sum of the issue -- the others are warnings.
> 
> I don't know much about C++, but it can't find that symbol.  That is often
> due to a mis-typing of one of the arguments.

Yeh this symbol is some standard library implementation detail. My guess is that we are missing some linker magic or it's due to a problem combining stlport and libstdc++.

J

Re: solaris stdc++ support

Posted by Theo Schlossnagle <je...@omniti.com>.
On Sat, Jan 28, 2012 at 1:11 AM, James Peach <jp...@apache.org> wrote:

>
> Undefined                       first referenced
>  symbol                             in file
> void std::__node_alloc<1,0>::_M_deallocate(void*,unsigned long)
> libtrafficshell.a(CliCreateCommands.o)
> ld: fatal: Symbol referencing errors. No output written to
> .libs/traffic_shell
>

So that's the sum of the issue -- the others are warnings.

I don't know much about C++, but it can't find that symbol.  That is often
due to a mis-typing of one of the arguments.


-- 

Theo Schlossnagle

http://omniti.com/is/theo-schlossnagle