HewlettPackard / netperf

Netperf is a benchmark that can be used to measure the performance of many different types of networking. It provides tests for both unidirectional throughput, and end-to-end latency.
MIT License
873 stars 187 forks source link

netlib.c doesn't compile on Solaris 11: processor_affinity redeclared #18

Closed rorth closed 6 years ago

rorth commented 6 years ago

Compiling git netperf on Solaris 11.4 Beta fails even after appying the fix for issue #17:

In file included from /vol/src/adm/netperf/netperf/src/netlib.c:2296:0:
/usr/include/sys/processor.h: In function 'bind_to_specific_processor':
/usr/include/sys/processor.h:128:12: error: 'processor_affinity' redeclared as different kind of symbol
 extern int processor_affinity(procset_t *, uint_t *, id_t *, uint32_t *);
            ^~~~~~~~~~~~~~~~~~
/vol/src/adm/netperf/netperf/src/netlib.c:2273:32: note: previous definition of 'processor_affinity' was here
 bind_to_specific_processor(int processor_affinity, int use_cpu_map)

processor_affinity(2) is a syscall here, introduced in some Solaris 11.x update. Renaming the netlib.c symbol to proc_affinity allowed the compilation to succeed and the resulting binary to work just fine.

grundlerchromium commented 6 years ago

@rorth This should be fixed now. Can you verify and close the issue please? TIA!

rorth commented 6 years ago

I've just successfully built and (minimally) tested it on i386-pc-solaris2.11.

Thanks. Rainer

grundlerchromium commented 6 years ago

Awesome! Thanks Rainer!