[netperf-talk] netperf4: solaris building, and usage..

Rick Jones rick.jones2 at hp.com
Mon May 22 09:39:23 PDT 2006


Andrew Gallatin wrote:
> I'm trying to get netperf4 working on Solaris because I need a
> multi-threaded bandwidth benchmark (as opposed to iperf, which, while
> it does threads, is mainly a gettimeofday benchmark).
> 
> I checked this out from svn:
> http://www.netperf.org/svn/netperf4/branches/glib_migration
> 
> I'm trying to build on Solaris10U1, sparc and x86.
> On x86, I've actually managed to produce binaries, but
> I'm unsure as yet what to do with them.  Here are the
> problems I've encountered, and the hacks I've applied
> to get them out of my way:
> 
> 1) Solaris 10U1 has a glib2, pkg-config, and all that GNUish stuff,
> but probably not the one you want.  The build dies with complaints
> that it cannot find gstdio.h.  To work around this, I installed glib2,
> libxml2 and pkg-config from blastwave.org and re-configured.   

Ah, I guess those guys included the glibconfig.h file that sunfreeware 
forgot.

> 
> 2) Somewhere in here, the build dies because it cannot find
> netsysstats_kstat10.c and netlib_kstat10.c.   This confused
> me, since configure knows about them.  Do they exist, just
> not on this branch?  Anyway, I copied the _none variants
> over to their names.

That is the correct first step.  That will give files with "null" CPU 
util and processor affinity calls.

> 2) At this point, the build dies complaining about passing a
> GNUish --export-dynamic dynamic to ld.  I edited src/Makefile
> by hand and removed this flag.

Libtool bug perhaps, or was there an actual --export-dynamic in one of 
the ".am" makefiles?

> 3) After 2 hours, I now have binaries (woo-hoo!).  But I
> have no clue how to use them.

That's OK, neither do I :)

> 
> When I try to start netserver, it dies:
>      establish_listen: could not resolve host '
> 
> I started it like I always have in the past:
>      src/netserver
> 
> Running with --nodaemonize shows that its SEGV'ing
> due to a null localhost_name:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0xfeac4acc in strlen () from /lib/libc.so.1
> (gdb) bt
> #0  0xfeac4acc in strlen () from /lib/libc.so.1
> #1  0xfeb1a086 in _ndoprnt () from /lib/libc.so.1
> #2  0xfeb1cc0d in fprintf () from /lib/libc.so.1
> #3  0x08056d07 in establish_listen (hostname=0x0, 
>     service=0x805a46a "netperf4", af=1, addrlenp=0x8047388) at
> netlib.c:1748
> #4  0x08054600 in main (argc=1, argv=0x80477f8) at netserver.c:787
> gdb) frame 4
> #4  0x08054600 in main (argc=1, argv=0x80477f8) at netserver.c:787
> 787         listenfd = establish_listen(local_host_name,
> (gdb) p local_host_name
> $1 = 0x0

Hmm, seems that solaris dumps core where others might not.  You can use 
the -L option to specify the local control endpoint stuff.  As a start 
you can try -L localhost  so  src/netserver -L localhost

Make sure that "netperf4" is in /etc/services or whatever your system 
uses to lookup service names.

Also make sure that /etc/xml/catalog got updated during the make install 
to include an entry for netperf.

rick jones

> 
> 
> Please help..
> 
> Thanks,
> 
> Drew
> 
> _______________________________________________
> netperf-talk mailing list
> netperf-talk at netperf.org
> http://www.netperf.org/cgi-bin/mailman/listinfo/netperf-talk



More information about the netperf-talk mailing list