Coder Social home page Coder Social logo

hyperic / sigar Goto Github PK

View Code? Open in Web Editor NEW
1.5K 1.5K 503.0 29.71 MB

System Information Gatherer And Reporter

Home Page: http://sigar.hyperic.com/

License: Apache License 2.0

CMake 0.20% Ruby 1.14% Shell 0.21% Perl 3.26% C# 1.07% Makefile 0.03% C 57.27% Erlang 0.36% Java 31.29% C++ 2.20% HTML 0.05% Lua 0.16% XS 0.45% PHP 0.02% Python 0.38% Batchfile 0.07% Go 1.83%

sigar's People

Contributors

dougm avatar edschouten avatar emonty avatar hananaharonof avatar ieure avatar ilanuriel avatar ispringer avatar mdkent avatar mdoboi avatar nira11 avatar pmenglund avatar tgoldman avatar tpounds avatar trav avatar ville-k avatar weigon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sigar's Issues

Error installing sigar on SmartOS

SmartOS ~ Solaris 11

Installing sigar (0.7.2) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /opt/local/bin/ruby193 extconf.rb 
Ruby platform=x86_64-solaris2.11
checking for main() in -lnsl... yes
checking for main() in -lsocket... yes
checking for main() in -lkstat... yes
rbsigar_generated.rx needs update
generating rbsigar_generated.rx
fatal: Not a git repository (or any of the parent directories): .git
../../src/sigar_ptql.c -> sigar_ptql.c
../../src/sigar_format.c -> sigar_format.c
../../src/sigar.c -> sigar.c
../../src/sigar_signal.c -> sigar_signal.c
../../src/sigar_getline.c -> sigar_getline.c
../../src/sigar_cache.c -> sigar_cache.c
../../src/sigar_util.c -> sigar_util.c
../../src/sigar_fileinfo.c -> sigar_fileinfo.c
../../src/os/solaris/kstats.c -> kstats.c
../../src/os/solaris/procfs.c -> procfs.c
../../src/os/solaris/solaris_sigar.c -> solaris_sigar.c
../../src/os/solaris/get_mib2.c -> get_mib2.c
creating Makefile

make
compiling rbsigar.c
compiling sigar_ptql.c
compiling sigar_cache.c
compiling get_mib2.c
compiling sigar_signal.c
compiling sigar_fileinfo.c
compiling kstats.c
compiling procfs.c
compiling solaris_sigar.c
compiling sigar_version.c
compiling sigar_format.c
compiling sigar_getline.c
compiling sigar.c
sigar.c: In function 'sigar_net_interface_config_get':
sigar.c:1721:35: error: 'struct ifreq' has no member named 'ifr_hwaddr'
sigar.c:1722:13: error: 'struct ifreq' has no member named 'ifr_hwaddr'
sigar.c:1722:13: error: 'IFHWADDRLEN' undeclared (first use in this function)
sigar.c:1722:13: note: each undeclared identifier is reported only once for each function it appears in
make: *** [sigar.o] Error 1

df truncate /etc/mnttab

Content of /etc/mnttab:

cat /etc/mnttab

/dev/vg00/lvol3 / vxfs ioerror=mwdisable,qio,delaylog,dev=40000003 0 1 1290511348
/dev/vg00/lvol1 /stand vxfs ioerror=mwdisable,qio,log,tranflush,dev=40000001 0 0 1290511351
/dev/vg00/lvol8 /var vxfs ioerror=mwdisable,qio,delaylog,dev=40000008 0 0 1290511373
/dev/vg00/lvol11 /var/adm/crash vxfs ioerror=mwdisable,qio,delaylog,dev=4000000b 0 0 1290511373
/dev/vg00/lvol7 /usr vxfs ioerror=mwdisable,qio,delaylog,dev=40000007 0 0 1290511373
/dev/vg00/lvol6 /tmp vxfs ioerror=mwdisable,qio,delaylog,dev=40000006 0 0 1290511373
/dev/vg00/lvol5 /opt vxfs ioerror=mwdisable,qio,delaylog,dev=40000005 0 0 1290511374
/dev/vg00/lvol4 /home vxfs ioerror=mwdisable,qio,delaylog,dev=40000004 0 0 1290511374
/dev/vg01/lvol1 /app/oracle vxfs ioerror=mwdisable,qio,delaylog,dev=40020001 0 0 1290511374
-hosts /net autofs ignore,indirect,nosuid,soft,nobrowse,dev=1 0 0 1290511584
/dev/odm /dev/odm odm defaults,dev=0 0 0 1290511626
/dev/vx/dsk/cfsdg13/cfsvol13 /ng_oratdb vxfs ioerror=disable,qio,cluster,crw,log,dev=2002af8 0 0 1290512871
/dev/vx/dsk/cfsdg03/cfsvol03 /ng_orabase/redo/NGOPSC1/R2 vxfs ioerror=disable,qio,cluster,crw,log,dev=2006978 0 0 1290512870
/dev/vx/dsk/cfsdg07/cfsvol07 /ng_orabase/archive/NGOPSC1 vxfs ioerror=disable,qio,cluster,crw,log,dev=2007d00 0 0 1290512871
/dev/vx/dsk/cfsdg10/cfsvol10 /ng_oraindex vxfs ioerror=disable,qio,cluster,crw,log,dev=2001f40 0 0 1290512871

df Sigar command:

sigar> df
Filesystem Size Used Avail Use% Mounted on Type
/dev/vg00/lvol3 4.0G 435M 3.5G 11% / vxfs/local
/dev/vg00/lvol1 1.8G 216M 1.5G 13% /stand vxfs/local
/dev/vg00/lvol4 2.0G 580M 1.4G 28% /home vxfs/local
/dev/vg00/lvol5 12G 5.9G 6.1G 49% /opt vxfs/local
/dev/vg00/lvol6 18G 2.4G 15G 14% /tmp vxfs/local
/dev/vg00/lvol7 18G 5.9G 12G 33% /usr vxfs/local
/dev/vg00/lvol8 18G 6.5G 11G 37% /var vxfs/local
/dev/vg00/lvol11 24G 17G 6.7G 72% /var/adm/crash vxfs/local
/dev/vg01/lvol1 34G 29G 4.2G 88% /app/oracle vxfs/local

No other lines will be get after the following one:
"-hosts /net autofs ignore,indirect,nosuid,soft,nobrowse,dev=1 0 0 1290511584"

In particular server configurations, /etc/mnttab could has:
...
-hosts /net autofs indirect,nosuid,ignore,nobrowse,dev=5000001 1321281264
-xfn /xfn autofs indirect,ignore,dev=5000003 1321281264
etc.

These need to be skipped, but sigar have to continue to read the file to get other filesystems

Regards,
Claudio

Python binding: sigar_version.o: In function `sigar_version_get': sigar_version.c:(.text+0x0): multiple definition of `sigar_version_get'

Using master (7a6aefc)

/var/tmp/paludis/app-admin-sigar-9999/work/sigar-9999-python2_7/temp.linux-x86_64-2.7/build/sigar_version.o: In function sigar_version_get': sigar_version.c:(.text+0x0): multiple definition ofsigar_version_get'
/var/tmp/paludis/app-admin-sigar-9999/work/sigar-9999-python2_7/temp.linux-x86_64-2.7/build/sigar_version_autoconf.o:sigar_version_autoconf.c:(.text+0x0): first defined here
/var/tmp/paludis/app-admin-sigar-9999/work/sigar-9999-python2_7/temp.linux-x86_64-2.7/build/sigar_getline.o: In function sigar_getline_histadd': sigar_getline.c:(.text+0x23ba): warning: the use oftmpnam' is dangerous, better use `mkstemp'
collect2: error: ld returned 1 exit status
error: command 'x86_64-pc-linux-gnu-gcc' failed with exit status 1

Can't install in Yosemite

This are the errors I get: https://gist.github.com/mrfoto/4dc512a19a23bc03e962

I found via Googling that @drnic had a very similar error, but doesn't describe how he fixed it https://gist.github.com/drnic/4210300

All other gems are installing normally, I have latest gcc

gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix

sigar_proc_mem_get returns 32-bit values

Hello, I try to retrieve a memory and CPU usage per process. I noticed, that I receive 4294967295 bytes tops, when the return value should allow 64-bit unsigned integers. I built SIGAR as 32-bit library. Is there a way to receive correct memory usage on 32-bit compiled library ?

Suppressing Linux x86 Java 7u40+ warning about disabled stack guard

Sigar lib causes warnings on latest HostSpot JVM:

Java HotSpot(TM) Server VM warning: You have loaded library .../libsigar-x86-linux.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.

Is it possible to provide recompiled Linux binaries that do not cause these warning messages?

The mark callback for the ruby bindings calls rb_gc_mark on uninitialized data.

At the following line the rb_sigar_mark call back doesn't check whether logger is pointing to a valid Ruby object or not.

rb_gc_mark(rbsigar->logger);

The following ruby code will segfault without the sigar.logger set:

require 'sigar'
require 'logger'

GC.disable

sigars = []

10.times do
  sigar = Sigar.new
  #sigar.logger = Logger.new(STDOUT)
  sigars << sigar
end

GC.enable
GC.start

sleep 2

os/linux/linux_sigar.c:1822: Off by one error ?

sigar-1.6.5/src/os/linux/linux_sigar.c:1822]: (error) Width 128 given in format string (no. 2) is larger than destination buffer 'net_addr[128]', use %127s to prevent overflowing it.

   num = sscanf(buffer, ROUTE_FMT,
                 route->ifname, net_addr, gate_addr,
                 &flags, &route->refcnt, &route->use,
                 &route->metric, mask_addr,
                 &route->mtu, &route->window, &route->irtt);

FreeBSD 11 compilation failed.

/home/system/.rvm/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20170111-55035-10ls70r.rb extconf.rb
Ruby platform=x86_64-freebsd11.0
checking for main() in -lkvm... yes
rbsigar_generated.rx needs update
generating rbsigar_generated.rx
fatal: Not a git repository (or any parent up to mount point /usr/home/system)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
../../src/sigar_util.c -> sigar_util.c
../../src/sigar_signal.c -> sigar_signal.c
../../src/sigar_fileinfo.c -> sigar_fileinfo.c
../../src/sigar_getline.c -> sigar_getline.c
../../src/sigar.c -> sigar.c
../../src/sigar_cache.c -> sigar_cache.c
../../src/sigar_format.c -> sigar_format.c
../../src/sigar_ptql.c -> sigar_ptql.c
../../src/os/darwin/darwin_sigar.c -> darwin_sigar.c
creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/home/system/.rvm/gems/ruby-2.3.1/extensions/x86_64-freebsd-11/2.3.0/sigar-0.7.3/mkmf.log

current directory: /usr/home/system/.rvm/gems/ruby-2.3.1/gems/sigar-0.7.3/bindings/ruby
make "DESTDIR=" clean

current directory: /usr/home/system/.rvm/gems/ruby-2.3.1/gems/sigar-0.7.3/bindings/ruby
make "DESTDIR="
compiling sigar_fileinfo.c
compiling sigar_ptql.c
sigar_ptql.c: In function 'ptql_branch_list_destroy':
sigar_ptql.c:540:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; inumber; i++) {
^
sigar_ptql.c: In function 'ptql_pid_list_get':
sigar_ptql.c:1077:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; ipids->number; i++) {
^
sigar_ptql.c: In function 'ptql_args_match':
sigar_ptql.c:1134:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; i<args.number; i++) {
^
sigar_ptql.c:1150:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ((num >= 0) && (num < args.number)) {
^
sigar_ptql.c: At top level:
sigar_ptql.c:1325:5: warning: initialization discards 'const' qualifier from pointer target type
{ "StartTime", PTQL_LOOKUP_ENTRY(proc_time, start_time, UI64) },
^
sigar_ptql.c:1326:5: warning: initialization discards 'const' qualifier from pointer target type
{ "User", PTQL_LOOKUP_ENTRY(proc_time, user, UI64) },
^
sigar_ptql.c:1327:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Sys", PTQL_LOOKUP_ENTRY(proc_time, sys, UI64) },
^
sigar_ptql.c:1328:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Total", PTQL_LOOKUP_ENTRY(proc_time, total, UI64) },
^
sigar_ptql.c:1333:5: warning: initialization discards 'const' qualifier from pointer target type
{ "StartTime", PTQL_LOOKUP_ENTRY(proc_cpu, start_time, UI64) },
^
sigar_ptql.c:1334:5: warning: initialization discards 'const' qualifier from pointer target type
{ "User", PTQL_LOOKUP_ENTRY(proc_cpu, user, UI64) },
^
sigar_ptql.c:1335:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Sys", PTQL_LOOKUP_ENTRY(proc_cpu, sys, UI64) },
^
sigar_ptql.c:1336:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Total", PTQL_LOOKUP_ENTRY(proc_cpu, total, UI64) },
^
sigar_ptql.c:1337:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Percent", PTQL_LOOKUP_ENTRY(proc_cpu, percent, DBL) },
^
sigar_ptql.c:1342:5: warning: initialization discards 'const' qualifier from pointer target type
{ "BytesRead", PTQL_LOOKUP_ENTRY(proc_disk_io, bytes_read, UI64) },
^
sigar_ptql.c:1343:5: warning: initialization discards 'const' qualifier from pointer target type
{ "BytesWritten", PTQL_LOOKUP_ENTRY(proc_disk_io, bytes_written, UI64) },
^
sigar_ptql.c:1344:5: warning: initialization discards 'const' qualifier from pointer target type
{ "BytesTotal", PTQL_LOOKUP_ENTRY(proc_disk_io, bytes_total, UI64) },
^
sigar_ptql.c:1350:5: warning: initialization discards 'const' qualifier from pointer target type
{ "User", PTQL_LOOKUP_ENTRY(proc_cred_name, user, STR) },
^
sigar_ptql.c:1351:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Group", PTQL_LOOKUP_ENTRY(proc_cred_name, group, STR) },
^
sigar_ptql.c:1356:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Size", PTQL_LOOKUP_ENTRY(proc_mem, size, UI64) },
^
sigar_ptql.c:1357:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Resident", PTQL_LOOKUP_ENTRY(proc_mem, resident, UI64) },
^
sigar_ptql.c:1358:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Share", PTQL_LOOKUP_ENTRY(proc_mem, share, UI64) },
^
sigar_ptql.c:1359:5: warning: initialization discards 'const' qualifier from pointer target type
{ "MinorFaults", PTQL_LOOKUP_ENTRY(proc_mem, minor_faults, UI64) },
^
sigar_ptql.c:1360:5: warning: initialization discards 'const' qualifier from pointer target type
{ "MajorFaults", PTQL_LOOKUP_ENTRY(proc_mem, major_faults, UI64) },
^
sigar_ptql.c:1361:5: warning: initialization discards 'const' qualifier from pointer target type
{ "PageFaults", PTQL_LOOKUP_ENTRY(proc_mem, page_faults, UI64) },
^
sigar_ptql.c:1366:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Name", PTQL_LOOKUP_ENTRY(proc_exe, name, STR) },
^
sigar_ptql.c:1367:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Cwd", PTQL_LOOKUP_ENTRY(proc_exe, cwd, STR) },
^
sigar_ptql.c:1372:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Uid", PTQL_LOOKUP_ENTRY(proc_cred, uid, UID) },
^
sigar_ptql.c:1373:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Gid", PTQL_LOOKUP_ENTRY(proc_cred, gid, UID) },
^
sigar_ptql.c:1374:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Euid", PTQL_LOOKUP_ENTRY(proc_cred, euid, UID) },
^
sigar_ptql.c:1375:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Egid", PTQL_LOOKUP_ENTRY(proc_cred, egid, UID) },
^
sigar_ptql.c:1380:5: warning: initialization discards 'const' qualifier from pointer target type
{ "State", PTQL_LOOKUP_ENTRY(proc_state, state, CHR) },
^
sigar_ptql.c:1381:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Name", PTQL_LOOKUP_ENTRY(proc_state, name, STR) },
^
sigar_ptql.c:1382:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Ppid", PTQL_LOOKUP_ENTRY(proc_state, ppid, PID) },
^
sigar_ptql.c:1383:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Tty", PTQL_LOOKUP_ENTRY(proc_state, tty, UI32) },
^
sigar_ptql.c:1384:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Nice", PTQL_LOOKUP_ENTRY(proc_state, nice, UI32) },
^
sigar_ptql.c:1385:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Priority", PTQL_LOOKUP_ENTRY(proc_state, priority, UI32) },
^
sigar_ptql.c:1386:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Threads", PTQL_LOOKUP_ENTRY(proc_state, threads, UI64) },
^
sigar_ptql.c:1387:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Processor", PTQL_LOOKUP_ENTRY(proc_state, processor, UI32) },
^
sigar_ptql.c:1392:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Total", PTQL_LOOKUP_ENTRY(proc_fd, total, UI64) },
^
sigar_ptql.c:1421:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Time", PTQL_Time },
^
sigar_ptql.c:1422:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Cpu", PTQL_Cpu },
^
sigar_ptql.c:1423:5: warning: initialization discards 'const' qualifier from pointer target type
{ "CredName", PTQL_CredName },
^
sigar_ptql.c:1424:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Mem", PTQL_Mem },
^
sigar_ptql.c:1425:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Exe", PTQL_Exe },
^
sigar_ptql.c:1426:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Cred", PTQL_Cred },
^
sigar_ptql.c:1427:5: warning: initialization discards 'const' qualifier from pointer target type
{ "State", PTQL_State },
^
sigar_ptql.c:1428:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Fd", PTQL_Fd },
^
sigar_ptql.c:1429:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Args", PTQL_Args },
^
sigar_ptql.c:1430:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Modules", PTQL_Modules },
^
sigar_ptql.c:1431:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Env", PTQL_Env },
^
sigar_ptql.c:1432:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Port", PTQL_Port },
^
sigar_ptql.c:1433:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Pid", PTQL_Pid },
^
sigar_ptql.c:1434:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Service", PTQL_Service },
^
sigar_ptql.c:1435:5: warning: initialization discards 'const' qualifier from pointer target type
{ "Disk_IO", PTQL_Disk_IO },
^
sigar_ptql.c: In function 'ptql_branch_parse':
sigar_ptql.c:1497:22: warning: assignment discards 'const' qualifier from pointer target type
branch->attr = "Name";
^
sigar_ptql.c: In function 'sigar_ptql_query_match':
sigar_ptql.c:1777:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; ibranches.number; i++) {
^
sigar_ptql.c: In function 'ptql_proc_list_get':
sigar_ptql.c:1845:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; ibranches.number; i++) {
^
sigar_ptql.c: In function 'sigar_ptql_query_find_process':
sigar_ptql.c:1901:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; inumber; i++) {
^
sigar_ptql.c:1927:28: warning: passing argument 2 of 'sigar_strerror_set' discards 'const' qualifier from pointer target type
"Query did not match any processes");
^
In file included from sigar_ptql.c:20:0:
../../include/sigar_private.h:184:6: note: expected 'char *' but argument is of type 'const char *'
void sigar_strerror_set(sigar_t sigar, char msg);
^
sigar_ptql.c: In function 'sigar_ptql_query_find':
sigar_ptql.c:1953:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; inumber; i++) {
^
compiling sigar_format.c
sigar_format.c: In function 'sigar_error_string':
sigar_format.c:131:9: warning: return discards 'const' qualifier from pointer target type
return "This function has not been implemented on this platform";
^
sigar_format.c:133:9: warning: return discards 'const' qualifier from pointer target type
return "Error string not specified yet";
^
sigar_format.c: In function 'sigar_strerror':
sigar_format.c:149:9: warning: return discards 'const' qualifier from pointer target type
return "Unknown OS Error"; /
should never happen /
^
sigar_format.c: In function 'sigar_format_size':
sigar_format.c:223:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (size == SIGAR_FIELD_NOTIMPL) {
^
sigar_format.c: In function 'net_services_parse':
sigar_format.c:583:14: warning: assignment discards 'const' qualifier from pointer target type
file = NET_SERVICES_FILE;
^
sigar_format.c: In function 'sigar_net_services_name_get':
sigar_format.c:629:15: warning: assignment discards 'const' qualifier from pointer target type
pname = "tcp";
^
sigar_format.c:633:15: warning: assignment discards 'const' qualifier from pointer target type
pname = "udp";
^
compiling sigar_cache.c
sigar_cache.c: In function 'sigar_cache_dump':
sigar_cache.c:67:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; isize; i++) {
^
sigar_cache.c:72:13: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'sigar_uint64_t' [-Wformat=]
printf("%lld", entry->id);
^
sigar_cache.c: In function 'sigar_cache_rehash':
sigar_cache.c:94:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; isize; i++) {
^
sigar_cache.c: In function 'sigar_perform_cleanup_if_necessary':
sigar_cache.c:119:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (table->cleanup_period_millis == SIGAR_FIELD_NOTIMPL) {
^
sigar_cache.c:134:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; isize; i++) {
^
sigar_cache.c: In function 'sigar_cache_destroy':
sigar_cache.c:237:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; isize; i++) {
^
compiling sigar_util.c
sigar_util.c: In function 'sigar_iodev_get':
sigar_util.c:413:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; i<fslist.number; i++) {
^
sigar_util.c: At top level:
sigar_util.c:639:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Xeon"),
^
sigar_util.c:639:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:640:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT_R("XEON", "Xeon"),
^
sigar_util.c:640:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:641:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Pentium III"),
^
sigar_util.c:641:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:642:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Pentium II"),
^
sigar_util.c:642:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:643:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT_R("Pentium(R) III", "Pentium III"),
^
sigar_util.c:643:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:644:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT_R("Pentium(R) 4", "Pentium 4"),
^
sigar_util.c:644:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:645:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT_R("Pentium(R) M", "Pentium M"),
^
sigar_util.c:645:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:646:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Pentium Pro"),
^
sigar_util.c:646:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:647:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Celeron"),
^
sigar_util.c:647:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:650:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Opteron"),
^
sigar_util.c:650:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:651:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Athlon"),
^
sigar_util.c:651:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:652:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT("Duron"),
^
sigar_util.c:652:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:653:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT_R("K6(tm)-III", "K6 III"),
^
sigar_util.c:653:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c:654:5: warning: initialization discards 'const' qualifier from pointer target type
CPU_MODEL_ENT_R("K6(tm) 3D+", "K6 3D+"),
^
sigar_util.c:654:5: warning: initialization discards 'const' qualifier from pointer target type
sigar_util.c: In function 'get_sockaddr':
sigar_util.c:766:51: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ((addr->sin_addr.s_addr = inet_addr(host)) == -1) {
^
compiling sigar_version.c
compiling rbsigar.c
rbsigar.c: In function 'rb_sigar_pid_get':
rbsigar.c:107:9: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
if (sigar_isdigit(pid)) {
^
compiling sigar_getline.c
sigar_getline.c: In function 'sigar_getline_setwidth':
sigar_getline.c:751:18: warning: passing argument 1 of 'gl_error' discards 'const' qualifier from pointer target type
gl_error("\n
Error: minimum screen width is 21\n");
^
sigar_getline.c:696:1: note: expected 'char ' but argument is of type 'const char '
gl_error(char buf)
^
sigar_getline.c: In function 'gl_addchar':
sigar_getline.c:1029:18: warning: passing argument 1 of 'gl_error' discards 'const' qualifier from pointer target type
gl_error("\n
Error: sigar_getline(): input buffer overflow\n");
^
sigar_getline.c:696:1: note: expected 'char ' but argument is of type 'const char '
gl_error(char buf)
^
sigar_getline.c: In function 'gl_yank':
sigar_getline.c:1053:26: warning: passing argument 1 of 'gl_error' discards 'const' qualifier from pointer target type
gl_error("\n
Error: sigar_getline(): input buffer overflow\n");
^
sigar_getline.c:696:1: note: expected 'char ' but argument is of type 'const char '
gl_error(char buf)
^
sigar_getline.c:1062:30: warning: passing argument 1 of 'gl_error' discards 'const' qualifier from pointer target type
gl_error("\n
Error: sigar_getline(): input buffer overflow\n");
^
sigar_getline.c:696:1: note: expected 'char ' but argument is of type 'const char '
gl_error(char buf)
^
sigar_getline.c: In function 'gl_newline':
sigar_getline.c:1102:18: warning: passing argument 1 of 'gl_error' discards 'const' qualifier from pointer target type
gl_error("\n
Error: sigar_getline(): input buffer overflow\n");
^
sigar_getline.c:696:1: note: expected 'char *' but argument is of type 'const char *'
gl_error(char *buf)
^
sigar_getline.c:1110:18: warning: passing argument 1 of 'gl_fixup' discards 'const' qualifier from pointer target type
gl_fixup("", 0, 0);
^
sigar_getline.c:292:17: note: expected 'char *' but argument is of type 'const char *'
static void gl_fixup(char p, int c, int cur); / fixup state variables and screen */
^
sigar_getline.c: In function 'sigar_getline_clear_screen':
sigar_getline.c:1165:22: warning: passing argument 1 of 'gl_puts' discards 'const' qualifier from pointer target type
#define CLEAR_SCREEN "\033[2J"
^
sigar_getline.c:1172:17: note: in expansion of macro 'CLEAR_SCREEN'
gl_puts(CLEAR_SCREEN);
^
sigar_getline.c:678:1: note: expected 'char ' but argument is of type 'const char '
gl_puts(char buf)
^
sigar_getline.c: In function 'hist_init':
sigar_getline.c:1342:17: warning: assignment discards 'const' qualifier from pointer target type
hist_buf[0] = "";
^
sigar_getline.c: In function 'sigar_getline_histadd':
sigar_getline.c:1399:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (prev == 0 || strlen(prev) != len ||
^
sigar_getline.c:1407:33: warning: assignment discards 'const' qualifier from pointer target type
hist_buf[hist_last] = "";
^
sigar_getline.c: In function 'hist_prev':
sigar_getline.c:1471:11: warning: assignment discards 'const' qualifier from pointer target type
p = "";
^
sigar_getline.c: In function 'hist_next':
sigar_getline.c:1488:11: warning: assignment discards 'const' qualifier from pointer target type
p = "";
^
sigar_getline.c: In function 'hist_save':
sigar_getline.c:1513:18: warning: passing argument 1 of 'gl_error' discards 'const' qualifier from pointer target type
gl_error("\n
Error: hist_save() failed on malloc\n");
^
sigar_getline.c:696:1: note: expected 'char *' but argument is of type 'const char *'
gl_error(char *buf)
^
compiling sigar.c
sigar.c: In function 'get_io_diff':
sigar.c:190:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ( current_value == SIGAR_FIELD_NOTIMPL ) {
^
sigar.c:195:20: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
if (int_io_diff >=0) {
^
sigar.c: In function 'sigar_proc_disk_io_get':
sigar.c:245:16: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
if (time_diff < 0) {
^
sigar.c: In function 'sigar_dump_pid_cache_get':
sigar.c:277:35: warning: passing argument 2 of 'get_cache_info' discards 'const' qualifier from pointer target type
get_cache_info(sigar->proc_cpu, "proc cpu cache");
^
sigar.c:266:6: note: expected 'char *' but argument is of type 'const char *'
void get_cache_info(sigar_cache_t * cache, char * name){
^
sigar.c:278:34: warning: passing argument 2 of 'get_cache_info' discards 'const' qualifier from pointer target type
get_cache_info(sigar->proc_io, "proc io cache");
^
sigar.c:266:6: note: expected 'char *' but argument is of type 'const char *'
void get_cache_info(sigar_cache_t * cache, char * name){
^
sigar.c: In function 'sigar_proc_stat_get':
sigar.c:298:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; inumber; i++) {
^
sigar.c:306:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (state.threads != SIGAR_FIELD_NOTIMPL) {
^
sigar.c: In function 'sigar_get_default_gateway':
sigar.c:1303:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; i<routelist.number; i++) {
^
sigar.c: In function 'sigar_net_interface_config_primary_get':
sigar.c:1977:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; i<iflist.number; i++) {
^
sigar.c: In function 'sigar_fqdn_get':
sigar.c:2157:19: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type
"[fqdn] resolved using gethostbyname.h_name");
^
In file included from ../../include/sigar_private.h:22:0,
from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
^
sigar.c:2174:27: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type
"[fqdn] resolved using gethostbyname.h_aliases");
^
In file included from ../../include/sigar_private.h:22:0,
from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
^
sigar.c:2221:27: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type
"[fqdn] resolved using gethostbyaddr.h_name");
^
In file included from ../../include/sigar_private.h:22:0,
from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
^
sigar.c:2237:35: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type
"[fqdn] resolved using "
^
In file included from ../../include/sigar_private.h:22:0,
from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
^
sigar.c:2253:15: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type
"[fqdn] unresolved using gethostbyname.h_addr_list");
^
In file included from ../../include/sigar_private.h:22:0,
from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
^
sigar.c:2270:19: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type
"[fqdn] resolved using getdomainname");
^
In file included from ../../include/sigar_private.h:22:0,
from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
^
sigar.c:2274:19: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type
"[fqdn] getdomainname failed");
^
In file included from ../../include/sigar_private.h:22:0,
from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
^
compiling sigar_signal.c
compiling darwin_sigar.c
darwin_sigar.c: In function 'sigar_os_error_string':
darwin_sigar.c:299:9: warning: return discards 'const' qualifier from pointer target type
return "Failed to open /dev/kmem for reading";
^
darwin_sigar.c:301:9: warning: return discards 'const' qualifier from pointer target type
return "/proc filesystem is not mounted";
^
darwin_sigar.c: In function 'sigar_vmstat':
darwin_sigar.c:362:63: error: 'struct vmmeter' has no member named 'v_cache_min'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
^
darwin_sigar.c:403:5: note: in expansion of macro 'GET_VM_STATS'
GET_VM_STATS(vm, v_cache_min, 0);
^
darwin_sigar.c:362:63: error: 'struct vmmeter' has no member named 'v_cache_max'
if (used) sysctlbyname("vm.stats." #cat "." #name, &vmstat->name, &size, NULL, 0)
^
darwin_sigar.c:404:5: note: in expansion of macro 'GET_VM_STATS'
GET_VM_STATS(vm, v_cache_max, 0);
^
darwin_sigar.c: In function 'sigar_cpu_list_get':
darwin_sigar.c:920:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=1; incpu; i++) {
^
darwin_sigar.c: In function 'sigar_cpu_info_list_get':
darwin_sigar.c:2364:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (mhz != SIGAR_FIELD_NOTIMPL) {
^
darwin_sigar.c:2367:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (mhz_max != SIGAR_FIELD_NOTIMPL) {
^
darwin_sigar.c:2370:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (mhz_min != SIGAR_FIELD_NOTIMPL) {
^
darwin_sigar.c:2391:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (mhz == SIGAR_FIELD_NOTIMPL) {
^
darwin_sigar.c:2396:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (mhz_max == SIGAR_FIELD_NOTIMPL) {
^
darwin_sigar.c:2399:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (mhz_min == SIGAR_FIELD_NOTIMPL) {
^
darwin_sigar.c:2445:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i=0; incpu; i++) {
^
In file included from darwin_sigar.c:112:0:
../../include/sigar_util.h:147:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
(sigar->ncpu < sigar->lcpu) ? sigar->ncpu :
^
darwin_sigar.c:2462:31: note: in expansion of macro 'sigar_cpu_socket_count'
info->total_sockets = sigar_cpu_socket_count(sigar);
^
darwin_sigar.c: In function 'sigar_ifmsg_init':
darwin_sigar.c:2584:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (sigar->ifconf_len < len) {
^
darwin_sigar.c: In function 'get_hw_type':
darwin_sigar.c:3345:9: warning: return discards 'const' qualifier from pointer target type
return "ether";
^
darwin_sigar.c:3347:9: warning: return discards 'const' qualifier from pointer target type
return "tr";
^
darwin_sigar.c:3349:9: warning: return discards 'const' qualifier from pointer target type
return "fddi";
^
darwin_sigar.c:3351:9: warning: return discards 'const' qualifier from pointer target type
return "atm";
^
darwin_sigar.c:3353:9: warning: return discards 'const' qualifier from pointer target type
return "vlan";
^
darwin_sigar.c:3355:9: warning: return discards 'const' qualifier from pointer target type
return "firewire";
^
darwin_sigar.c:3358:9: warning: return discards 'const' qualifier from pointer target type
return "bridge";
^
darwin_sigar.c:3361:9: warning: return discards 'const' qualifier from pointer target type
return "unknown";
^
*** Error code 1

Stop.
make: stopped in /usr/home/system/.rvm/gems/ruby-2.3.1/gems/sigar-0.7.3/bindings/ruby

make failed, exit code 1

linux sigar_proc_state_get internal cache returns invalid state

Illustrative example:

~/sigar/bindings/ruby$ irb
irb(main):001:0> require 'sigar'
=> true
irb(main):002:0> sig = Sigar.new
=> #<Sigar:0x7f50747cbbd8>
irb(main):003:0> sig.proc_state(0).name
ArgumentError: No such process
  from (irb):3:in `proc_state'
  from (irb):3
  from :0
irb(main):004:0> sig.proc_state(0).name
=> ""

irb(main):013:0> sig.proc_state(45).name
=> "kseriod"
irb(main):014:0> sig.proc_state(0).name
ArgumentError: No such process
  from (irb):14:in `proc_state'
  from (irb):14
  from :0
irb(main):015:0> sig.proc_state(0).name
=> "kseriod"

Culprit appears to be that the cache maintained by proc_stat_read() isn't fully checked for validity.
In production we've also seen garbage data being returned, though I haven't been able to replicate by hand.

Problem with Java bindings on FreeBSD

fiend /opt/sigar/bindings/java # ant
Buildfile: /opt/sigar/bindings/java/build.xml

jni-init:
[echo] jni.src=darwin, jni.jdk.os=freebsd, 64-bit
[javac] /opt/sigar/bindings/java/hyperic_jni/jni-build.xml:165: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

BUILD FAILED
/opt/sigar/bindings/java/hyperic_jni/jni-build.xml:167: taskdef A class needed by class org.hyperic.jni.ArchNameTask cannot be found: org/apache/tools/ant/Task
using the classloader AntClassLoader[/opt/sigar/bindings/java/build/classes]

Total time: 0 seconds
zsh: exit 1 ant

Compile fails on Alpine Linux

Any ideas?

$ bundle config --local build.sigar '--with-cppflags="-fgnu89-inline"'  && gem install sigar -v '0.7.3'
Building native extensions.  This could take a while...
ERROR:  Error installing sigar:
    ERROR: Failed to build gem native extension.

    current directory: /usr/local/bundle/gems/sigar-0.7.3/bindings/ruby
/usr/local/bin/ruby -r ./siteconf20160312-10-dqsh82.rb extconf.rb
Ruby platform=x86_64-linux
rbsigar_generated.rx needs update
generating rbsigar_generated.rx
fatal: Not a git repository (or any of the parent directories): .git
../../src/sigar_cache.c -> sigar_cache.c
../../src/sigar_fileinfo.c -> sigar_fileinfo.c
../../src/sigar.c -> sigar.c
../../src/sigar_ptql.c -> sigar_ptql.c
../../src/sigar_format.c -> sigar_format.c
../../src/sigar_util.c -> sigar_util.c
../../src/sigar_getline.c -> sigar_getline.c
../../src/sigar_signal.c -> sigar_signal.c
../../src/os/linux/linux_sigar.c -> linux_sigar.c
creating Makefile

current directory: /usr/local/bundle/gems/sigar-0.7.3/bindings/ruby
make "DESTDIR=" clean

current directory: /usr/local/bundle/gems/sigar-0.7.3/bindings/ruby
make "DESTDIR="
compiling sigar_cache.c
sigar_cache.c: In function 'sigar_cache_dump':
sigar_cache.c:67:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<table->size; i++) {
                ^
sigar_cache.c:72:20: warning: format '%lld' expects argument of type 'long long int', but argument 2 has type 'sigar_uint64_t {aka long unsigned int}' [-Wformat=]
             printf("%lld", entry->id);
                    ^
sigar_cache.c: In function 'sigar_cache_rehash':
sigar_cache.c:94:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<table->size; i++) {
                ^
sigar_cache.c: In function 'sigar_perform_cleanup_if_necessary':
sigar_cache.c:119:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (table->cleanup_period_millis == SIGAR_FIELD_NOTIMPL) {
                                      ^
sigar_cache.c:134:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<table->size; i++) {
                ^
sigar_cache.c: In function 'sigar_cache_destroy':
sigar_cache.c:237:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<table->size; i++) {
                ^
In file included from sigar_cache.c:19:0:
sigar_cache.c: At top level:
../../include/sigar_util.h:82:20: warning: inline function 'sigar_skip_multiple_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_multiple_token(char *p, int count);
                    ^
../../include/sigar_util.h:80:20: warning: inline function 'sigar_skip_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_token(char *p);
                    ^
../../include/sigar_util.h:78:20: warning: inline function 'sigar_skip_line' declared but never defined
 SIGAR_INLINE char *sigar_skip_line(char *buffer, int buflen);
                    ^
compiling sigar_fileinfo.c
compiling sigar.c
sigar.c: In function 'get_io_diff':
sigar.c:190:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if ( current_value == SIGAR_FIELD_NOTIMPL ) {
                       ^
sigar.c:195:20: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
    if (int_io_diff >=0) {
                    ^
sigar.c: In function 'sigar_proc_disk_io_get':
sigar.c:245:16: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
  if (time_diff < 0) {
                ^
sigar.c: In function 'sigar_dump_pid_cache_get':
sigar.c:277:35: warning: passing argument 2 of 'get_cache_info' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   get_cache_info(sigar->proc_cpu, "proc cpu cache");
                                   ^
sigar.c:266:6: note: expected 'char *' but argument is of type 'const char *'
 void get_cache_info(sigar_cache_t * cache, char * name){
      ^
sigar.c:278:34: warning: passing argument 2 of 'get_cache_info' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
   get_cache_info(sigar->proc_io, "proc io cache");
                                  ^
sigar.c:266:6: note: expected 'char *' but argument is of type 'const char *'
 void get_cache_info(sigar_cache_t * cache, char * name){
      ^
sigar.c: In function 'sigar_proc_stat_get':
sigar.c:298:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<pids->number; i++) {
                ^
sigar.c:306:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (state.threads != SIGAR_FIELD_NOTIMPL) {
                           ^
sigar.c: In function 'sigar_get_default_gateway':
sigar.c:1303:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<routelist.number; i++) {
                ^
sigar.c: In function 'get_interface_type':
sigar.c:1565:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_SLIP;
              ^
sigar.c:1568:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_CSLIP;
              ^
sigar.c:1571:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_SLIP6;
              ^
sigar.c:1574:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_CSLIP6;
              ^
sigar.c:1577:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_ADAPTIVE;
              ^
sigar.c:1580:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_ETHERNET;
              ^
sigar.c:1583:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_ASH;
              ^
sigar.c:1586:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_FDDI;
              ^
sigar.c:1589:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_HIPPI;
              ^
sigar.c:1592:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_AX25;
              ^
sigar.c:1595:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_ROSE;
              ^
sigar.c:1598:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_NETROM;
              ^
sigar.c:1601:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_X25;
              ^
sigar.c:1604:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_TUNNEL;
              ^
sigar.c:1607:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_PPP;
              ^
sigar.c:1610:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_HDLC;
              ^
sigar.c:1613:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_LAPB;
              ^
sigar.c:1616:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_ARCNET;
              ^
sigar.c:1619:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_DLCI;
              ^
sigar.c:1622:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_FRAD;
              ^
sigar.c:1625:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_SIT;
              ^
sigar.c:1628:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_IRDA;
              ^
sigar.c:1631:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_EC;
              ^
sigar.c:1634:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         type = SIGAR_NIC_UNSPEC;
              ^
sigar.c: In function 'sigar_net_interface_config_primary_get':
sigar.c:1977:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<iflist.number; i++) {
                ^
sigar.c: In function 'sigar_fqdn_get':
sigar.c:2157:19: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                   "[fqdn] resolved using gethostbyname.h_name");
                   ^
In file included from ../../include/sigar_private.h:22:0,
                 from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
                     ^
sigar.c:2174:27: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                           "[fqdn] resolved using gethostbyname.h_aliases");
                           ^
In file included from ../../include/sigar_private.h:22:0,
                 from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
                     ^
sigar.c:2221:27: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                           "[fqdn] resolved using gethostbyaddr.h_name");
                           ^
In file included from ../../include/sigar_private.h:22:0,
                 from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
                     ^
sigar.c:2237:35: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                                   "[fqdn] resolved using "
                                   ^
In file included from ../../include/sigar_private.h:22:0,
                 from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
                     ^
sigar.c:2253:15: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
               "[fqdn] unresolved using gethostbyname.h_addr_list");
               ^
In file included from ../../include/sigar_private.h:22:0,
                 from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
                     ^
sigar.c:2270:19: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                   "[fqdn] resolved using getdomainname");
                   ^
In file included from ../../include/sigar_private.h:22:0,
                 from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
                     ^
sigar.c:2274:19: warning: passing argument 3 of 'sigar_log' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                   "[fqdn] getdomainname failed");
                   ^
In file included from ../../include/sigar_private.h:22:0,
                 from sigar.c:40:
../../include/sigar_log.h:67:21: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_DECLARE(void) sigar_log(sigar_t *sigar, int level, char *message);
                     ^
In file included from sigar.c:41:0:
sigar.c: At top level:
../../include/sigar_util.h:82:20: warning: inline function 'sigar_skip_multiple_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_multiple_token(char *p, int count);
                    ^
../../include/sigar_util.h:80:20: warning: inline function 'sigar_skip_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_token(char *p);
                    ^
../../include/sigar_util.h:78:20: warning: inline function 'sigar_skip_line' declared but never defined
 SIGAR_INLINE char *sigar_skip_line(char *buffer, int buflen);
                    ^
compiling sigar_ptql.c
sigar_ptql.c: In function 'ptql_branch_list_destroy':
sigar_ptql.c:540:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (i=0; i<branches->number; i++) {
                    ^
sigar_ptql.c: In function 'ptql_pid_list_get':
sigar_ptql.c:1077:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<sigar->pids->number; i++) {
                ^
sigar_ptql.c: In function 'ptql_args_match':
sigar_ptql.c:1134:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (i=0; i<args.number; i++) {
                    ^
sigar_ptql.c:1150:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if ((num >= 0) && (num < args.number)) {
                                ^
sigar_ptql.c: At top level:
sigar_ptql.c:1325:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "StartTime", PTQL_LOOKUP_ENTRY(proc_time, start_time, UI64) },
       ^
sigar_ptql.c:1326:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "User",      PTQL_LOOKUP_ENTRY(proc_time, user, UI64) },
       ^
sigar_ptql.c:1327:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Sys",       PTQL_LOOKUP_ENTRY(proc_time, sys, UI64) },
       ^
sigar_ptql.c:1328:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Total",     PTQL_LOOKUP_ENTRY(proc_time, total, UI64) },
       ^
sigar_ptql.c:1333:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "StartTime", PTQL_LOOKUP_ENTRY(proc_cpu, start_time, UI64) },
       ^
sigar_ptql.c:1334:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "User",      PTQL_LOOKUP_ENTRY(proc_cpu, user, UI64) },
       ^
sigar_ptql.c:1335:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Sys",       PTQL_LOOKUP_ENTRY(proc_cpu, sys, UI64) },
       ^
sigar_ptql.c:1336:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Total",     PTQL_LOOKUP_ENTRY(proc_cpu, total, UI64) },
       ^
sigar_ptql.c:1337:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Percent",   PTQL_LOOKUP_ENTRY(proc_cpu, percent, DBL) },
       ^
sigar_ptql.c:1342:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "BytesRead", PTQL_LOOKUP_ENTRY(proc_disk_io, bytes_read, UI64) },
       ^
sigar_ptql.c:1343:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "BytesWritten",      PTQL_LOOKUP_ENTRY(proc_disk_io, bytes_written, UI64) },
       ^
sigar_ptql.c:1344:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "BytesTotal",       PTQL_LOOKUP_ENTRY(proc_disk_io, bytes_total, UI64) },
       ^
sigar_ptql.c:1350:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "User",  PTQL_LOOKUP_ENTRY(proc_cred_name, user, STR) },
       ^
sigar_ptql.c:1351:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Group", PTQL_LOOKUP_ENTRY(proc_cred_name, group, STR) },
       ^
sigar_ptql.c:1356:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Size",        PTQL_LOOKUP_ENTRY(proc_mem, size, UI64) },
       ^
sigar_ptql.c:1357:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Resident",    PTQL_LOOKUP_ENTRY(proc_mem, resident, UI64) },
       ^
sigar_ptql.c:1358:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Share",       PTQL_LOOKUP_ENTRY(proc_mem, share, UI64) },
       ^
sigar_ptql.c:1359:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "MinorFaults", PTQL_LOOKUP_ENTRY(proc_mem, minor_faults, UI64) },
       ^
sigar_ptql.c:1360:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "MajorFaults", PTQL_LOOKUP_ENTRY(proc_mem, major_faults, UI64) },
       ^
sigar_ptql.c:1361:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "PageFaults",  PTQL_LOOKUP_ENTRY(proc_mem, page_faults, UI64) },
       ^
sigar_ptql.c:1366:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Name", PTQL_LOOKUP_ENTRY(proc_exe, name, STR) },
       ^
sigar_ptql.c:1367:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Cwd",  PTQL_LOOKUP_ENTRY(proc_exe, cwd, STR) },
       ^
sigar_ptql.c:1372:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Uid",  PTQL_LOOKUP_ENTRY(proc_cred, uid, UID) },
       ^
sigar_ptql.c:1373:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Gid",  PTQL_LOOKUP_ENTRY(proc_cred, gid, UID) },
       ^
sigar_ptql.c:1374:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Euid", PTQL_LOOKUP_ENTRY(proc_cred, euid, UID) },
       ^
sigar_ptql.c:1375:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Egid", PTQL_LOOKUP_ENTRY(proc_cred, egid, UID) },
       ^
sigar_ptql.c:1380:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "State",     PTQL_LOOKUP_ENTRY(proc_state, state, CHR) },
       ^
sigar_ptql.c:1381:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Name",      PTQL_LOOKUP_ENTRY(proc_state, name, STR) },
       ^
sigar_ptql.c:1382:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Ppid",      PTQL_LOOKUP_ENTRY(proc_state, ppid, PID) },
       ^
sigar_ptql.c:1383:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Tty",       PTQL_LOOKUP_ENTRY(proc_state, tty, UI32) },
       ^
sigar_ptql.c:1384:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Nice",      PTQL_LOOKUP_ENTRY(proc_state, nice, UI32) },
       ^
sigar_ptql.c:1385:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Priority",  PTQL_LOOKUP_ENTRY(proc_state, priority, UI32) },
       ^
sigar_ptql.c:1386:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Threads",   PTQL_LOOKUP_ENTRY(proc_state, threads, UI64) },
       ^
sigar_ptql.c:1387:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Processor", PTQL_LOOKUP_ENTRY(proc_state, processor, UI32) },
       ^
sigar_ptql.c:1392:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Total", PTQL_LOOKUP_ENTRY(proc_fd, total, UI64) },
       ^
sigar_ptql.c:1421:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Time",     PTQL_Time },
       ^
sigar_ptql.c:1422:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Cpu",      PTQL_Cpu },
       ^
sigar_ptql.c:1423:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "CredName", PTQL_CredName },
       ^
sigar_ptql.c:1424:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Mem",      PTQL_Mem },
       ^
sigar_ptql.c:1425:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Exe",      PTQL_Exe },
       ^
sigar_ptql.c:1426:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Cred",     PTQL_Cred },
       ^
sigar_ptql.c:1427:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "State",    PTQL_State },
       ^
sigar_ptql.c:1428:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Fd",       PTQL_Fd },
       ^
sigar_ptql.c:1429:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Args",     PTQL_Args },
       ^
sigar_ptql.c:1430:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Modules",  PTQL_Modules },
       ^
sigar_ptql.c:1431:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Env",      PTQL_Env },
       ^
sigar_ptql.c:1432:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Port",     PTQL_Port },
       ^
sigar_ptql.c:1433:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Pid",      PTQL_Pid },
       ^
sigar_ptql.c:1434:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Service",  PTQL_Service },
       ^
sigar_ptql.c:1435:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     { "Disk_IO",   PTQL_Disk_IO },
       ^
sigar_ptql.c: In function 'ptql_branch_parse':
sigar_ptql.c:1497:22: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         branch->attr = "Name";
                      ^
sigar_ptql.c: In function 'sigar_ptql_query_match':
sigar_ptql.c:1777:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<query->branches.number; i++) {
                ^
sigar_ptql.c: In function 'ptql_proc_list_get':
sigar_ptql.c:1845:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<query->branches.number; i++) {
                ^
sigar_ptql.c: In function 'sigar_ptql_query_find_process':
sigar_ptql.c:1901:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<pids->number; i++) {
                ^
sigar_ptql.c:1927:28: warning: passing argument 2 of 'sigar_strerror_set' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                            "Query did not match any processes");
                            ^
In file included from sigar_ptql.c:20:0:
../../include/sigar_private.h:184:6: note: expected 'char *' but argument is of type 'const char *'
 void sigar_strerror_set(sigar_t *sigar, char *msg);
      ^
sigar_ptql.c: In function 'sigar_ptql_query_find':
sigar_ptql.c:1953:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i=0; i<pids->number; i++) {
                ^
In file included from sigar_ptql.c:21:0:
sigar_ptql.c: At top level:
../../include/sigar_util.h:82:20: warning: inline function 'sigar_skip_multiple_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_multiple_token(char *p, int count);
                    ^
../../include/sigar_util.h:80:20: warning: inline function 'sigar_skip_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_token(char *p);
                    ^
../../include/sigar_util.h:78:20: warning: inline function 'sigar_skip_line' declared but never defined
 SIGAR_INLINE char *sigar_skip_line(char *buffer, int buflen);
                    ^
compiling sigar_format.c
sigar_format.c: In function 'sigar_error_string':
sigar_format.c:131:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "This function has not been implemented on this platform";
                ^
sigar_format.c:133:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "Error string not specified yet";
                ^
sigar_format.c: In function 'sigar_strerror':
sigar_format.c:149:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "Unknown OS Error"; /* should never happen */
                ^
sigar_format.c: In function 'sigar_strerror_get':
sigar_format.c:180:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     buf = strerror_r(err, errbuf, buflen);
         ^
sigar_format.c: In function 'sigar_format_size':
sigar_format.c:223:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (size == SIGAR_FIELD_NOTIMPL) {
              ^
sigar_format.c: In function 'net_services_parse':
sigar_format.c:583:14: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         file = NET_SERVICES_FILE;
              ^
sigar_format.c: In function 'sigar_net_services_name_get':
sigar_format.c:629:15: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         pname = "tcp";
               ^
sigar_format.c:633:15: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         pname = "udp";
               ^
In file included from sigar_format.c:23:0:
sigar_format.c: At top level:
../../include/sigar_util.h:82:20: warning: inline function 'sigar_skip_multiple_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_multiple_token(char *p, int count);
                    ^
../../include/sigar_util.h:80:20: warning: inline function 'sigar_skip_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_token(char *p);
                    ^
../../include/sigar_util.h:78:20: warning: inline function 'sigar_skip_line' declared but never defined
 SIGAR_INLINE char *sigar_skip_line(char *buffer, int buflen);
                    ^
compiling linux_sigar.c
linux_sigar.c: In function 'sigar_mem_get':
linux_sigar.c:335:55: warning: passing argument 2 of 'sigar_meminfo' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     mem->total  = sigar_meminfo(buffer, MEMINFO_PARAM("MemTotal"));
                                                       ^
linux_sigar.c:298:26: note: in definition of macro 'MEMINFO_PARAM'
 #define MEMINFO_PARAM(a) a ":", SSTRLEN(a ":")
                          ^
linux_sigar.c:300:36: note: expected 'char *' but argument is of type 'const char *'
 static SIGAR_INLINE sigar_uint64_t sigar_meminfo(char *buffer,
                                    ^
linux_sigar.c:336:55: warning: passing argument 2 of 'sigar_meminfo' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     mem->free   = sigar_meminfo(buffer, MEMINFO_PARAM("MemFree"));
                                                       ^
linux_sigar.c:298:26: note: in definition of macro 'MEMINFO_PARAM'
 #define MEMINFO_PARAM(a) a ":", SSTRLEN(a ":")
                          ^
linux_sigar.c:300:36: note: expected 'char *' but argument is of type 'const char *'
 static SIGAR_INLINE sigar_uint64_t sigar_meminfo(char *buffer,
                                    ^
linux_sigar.c:339:51: warning: passing argument 2 of 'sigar_meminfo' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     buffers = sigar_meminfo(buffer, MEMINFO_PARAM("Buffers"));
                                                   ^
linux_sigar.c:298:26: note: in definition of macro 'MEMINFO_PARAM'
 #define MEMINFO_PARAM(a) a ":", SSTRLEN(a ":")
                          ^
linux_sigar.c:300:36: note: expected 'char *' but argument is of type 'const char *'
 static SIGAR_INLINE sigar_uint64_t sigar_meminfo(char *buffer,
                                    ^
linux_sigar.c:340:51: warning: passing argument 2 of 'sigar_meminfo' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     cached  = sigar_meminfo(buffer, MEMINFO_PARAM("Cached"));
                                                   ^
linux_sigar.c:298:26: note: in definition of macro 'MEMINFO_PARAM'
 #define MEMINFO_PARAM(a) a ":", SSTRLEN(a ":")
                          ^
linux_sigar.c:300:36: note: expected 'char *' but argument is of type 'const char *'
 static SIGAR_INLINE sigar_uint64_t sigar_meminfo(char *buffer,
                                    ^
linux_sigar.c: In function 'sigar_swap_get':
linux_sigar.c:367:56: warning: passing argument 2 of 'sigar_meminfo' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     swap->total  = sigar_meminfo(buffer, MEMINFO_PARAM("SwapTotal"));
                                                        ^
linux_sigar.c:298:26: note: in definition of macro 'MEMINFO_PARAM'
 #define MEMINFO_PARAM(a) a ":", SSTRLEN(a ":")
                          ^
linux_sigar.c:300:36: note: expected 'char *' but argument is of type 'const char *'
 static SIGAR_INLINE sigar_uint64_t sigar_meminfo(char *buffer,
                                    ^
linux_sigar.c:368:56: warning: passing argument 2 of 'sigar_meminfo' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     swap->free   = sigar_meminfo(buffer, MEMINFO_PARAM("SwapFree"));
                                                        ^
linux_sigar.c:298:26: note: in definition of macro 'MEMINFO_PARAM'
 #define MEMINFO_PARAM(a) a ":", SSTRLEN(a ":")
                          ^
linux_sigar.c:300:36: note: expected 'char *' but argument is of type 'const char *'
 static SIGAR_INLINE sigar_uint64_t sigar_meminfo(char *buffer,
                                    ^
linux_sigar.c: In function 'sigar_proc_cumulative_disk_io_get':
linux_sigar.c:792:72: warning: passing argument 2 of 'get_named_proc_token' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     proc_cumulative_disk_io->bytes_read = get_named_proc_token(buffer, "\nread_bytes");
                                                                        ^
linux_sigar.c:771:29: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_INLINE sigar_uint64_t get_named_proc_token(char *buffer,
                             ^
linux_sigar.c:793:75: warning: passing argument 2 of 'get_named_proc_token' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     proc_cumulative_disk_io->bytes_written = get_named_proc_token(buffer, "\nwrite_bytes");
                                                                           ^
linux_sigar.c:771:29: note: expected 'char *' but argument is of type 'const char *'
 SIGAR_INLINE sigar_uint64_t get_named_proc_token(char *buffer,
                             ^
linux_sigar.c: In function 'sigar_disk_usage_get':
linux_sigar.c:1462:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (disk->time == SIGAR_FIELD_NOTIMPL) {
                        ^
linux_sigar.c:1466:36: error: 'HZ' undeclared (first use in this function)
             tput = ((double)ios) * HZ / interval;
                                    ^
linux_sigar.c:1466:36: note: each undeclared identifier is reported only once for each function it appears in
linux_sigar.c:1470:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (disk->qtime == SIGAR_FIELD_NOTIMPL) {
                         ^
In file included from linux_sigar.c:30:0:
linux_sigar.c: In function 'sigar_cpu_info_list_get':
../../include/sigar_util.h:147:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     (sigar->ncpu < sigar->lcpu) ? sigar->ncpu : \
                  ^
linux_sigar.c:1675:31: note: in expansion of macro 'sigar_cpu_socket_count'
         info->total_sockets = sigar_cpu_socket_count(sigar);
                               ^
linux_sigar.c: In function 'sigar_nfs_v2_get':
linux_sigar.c:2251:29: warning: passing argument 2 of 'sigar_proc_nfs_gets' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                             "proc2", buffer, sizeof(buffer));
                             ^
linux_sigar.c:2223:12: note: expected 'char *' but argument is of type 'const char *'
 static int sigar_proc_nfs_gets(char *file, char *tok,
            ^
In file included from linux_sigar.c:30:0:
linux_sigar.c: In function 'sigar_nfs_client_v2_get':
../../include/sigar_util.h:60:22: warning: passing argument 1 of 'sigar_nfs_v2_get' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 #define PROC_FS_ROOT "/proc/"
                      ^
linux_sigar.c:2284:29: note: in expansion of macro 'PROC_FS_ROOT'
     return sigar_nfs_v2_get(PROC_FS_ROOT "net/rpc/nfs",
                             ^
linux_sigar.c:2246:12: note: expected 'char *' but argument is of type 'const char *'
 static int sigar_nfs_v2_get(char *file, sigar_nfs_v2_t *nfs)
            ^
In file included from linux_sigar.c:30:0:
linux_sigar.c: In function 'sigar_nfs_server_v2_get':
../../include/sigar_util.h:60:22: warning: passing argument 1 of 'sigar_nfs_v2_get' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 #define PROC_FS_ROOT "/proc/"
                      ^
linux_sigar.c:2291:29: note: in expansion of macro 'PROC_FS_ROOT'
     return sigar_nfs_v2_get(PROC_FS_ROOT "net/rpc/nfsd",
                             ^
linux_sigar.c:2246:12: note: expected 'char *' but argument is of type 'const char *'
 static int sigar_nfs_v2_get(char *file, sigar_nfs_v2_t *nfs)
            ^
linux_sigar.c: In function 'sigar_nfs_v3_get':
linux_sigar.c:2300:29: warning: passing argument 2 of 'sigar_proc_nfs_gets' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
                             "proc3", buffer, sizeof(buffer));
                             ^
linux_sigar.c:2223:12: note: expected 'char *' but argument is of type 'const char *'
 static int sigar_proc_nfs_gets(char *file, char *tok,
            ^
In file included from linux_sigar.c:30:0:
linux_sigar.c: In function 'sigar_nfs_client_v3_get':
../../include/sigar_util.h:60:22: warning: passing argument 1 of 'sigar_nfs_v3_get' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 #define PROC_FS_ROOT "/proc/"
                      ^
linux_sigar.c:2337:29: note: in expansion of macro 'PROC_FS_ROOT'
     return sigar_nfs_v3_get(PROC_FS_ROOT "net/rpc/nfs",
                             ^
linux_sigar.c:2295:12: note: expected 'char *' but argument is of type 'const char *'
 static int sigar_nfs_v3_get(char *file, sigar_nfs_v3_t *nfs)
            ^
In file included from linux_sigar.c:30:0:
linux_sigar.c: In function 'sigar_nfs_server_v3_get':
../../include/sigar_util.h:60:22: warning: passing argument 1 of 'sigar_nfs_v3_get' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 #define PROC_FS_ROOT "/proc/"
                      ^
linux_sigar.c:2344:29: note: in expansion of macro 'PROC_FS_ROOT'
     return sigar_nfs_v3_get(PROC_FS_ROOT "net/rpc/nfsd",
                             ^
linux_sigar.c:2295:12: note: expected 'char *' but argument is of type 'const char *'
 static int sigar_nfs_v3_get(char *file, sigar_nfs_v3_t *nfs)
            ^
linux_sigar.c: In function 'get_hw_type':
linux_sigar.c:2354:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "ax25";
                ^
linux_sigar.c:2356:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "ec";
                ^
linux_sigar.c:2358:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "ether";
                ^
linux_sigar.c:2360:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "fddi";
                ^
linux_sigar.c:2362:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "dlci";
                ^
linux_sigar.c:2364:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "frad";
                ^
linux_sigar.c:2366:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "hdlc";
                ^
linux_sigar.c:2368:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "lapb";
                ^
linux_sigar.c:2370:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "hippi";
                ^
linux_sigar.c:2372:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "irda";
                ^
linux_sigar.c:2374:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "loop";
                ^
linux_sigar.c:2376:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "netrom";
                ^
linux_sigar.c:2378:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "ppp";
                ^
linux_sigar.c:2380:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "rose";
                ^
linux_sigar.c:2382:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "sit";
                ^
linux_sigar.c:2384:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "slip";
                ^
linux_sigar.c:2386:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "cslip";
                ^
linux_sigar.c:2388:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "slip6";
                ^
linux_sigar.c:2390:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "cslip6";
                ^
linux_sigar.c:2392:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "adaptive";
                ^
linux_sigar.c:2394:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "tr";
                ^
linux_sigar.c:2396:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "tr";
                ^
linux_sigar.c:2398:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "tunnel";
                ^
linux_sigar.c:2400:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "x25";
                ^
linux_sigar.c:2402:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
         return "unknown";
                ^
linux_sigar.c: In function 'generic_vendor_parse':
linux_sigar.c:2605:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if (len > sizeof(info->vendor_version)) {
                     ^
In file included from linux_sigar.c:30:0:
linux_sigar.c: At top level:
../../include/sigar_util.h:82:20: warning: inline function 'sigar_skip_multiple_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_multiple_token(char *p, int count);
                    ^
../../include/sigar_util.h:80:20: warning: inline function 'sigar_skip_token' declared but never defined
 SIGAR_INLINE char *sigar_skip_token(char *p);
                    ^
../../include/sigar_util.h:78:20: warning: inline function 'sigar_skip_line' declared but never defined
 SIGAR_INLINE char *sigar_skip_line(char *buffer, int buflen);
                    ^
Makefile:238: recipe for target 'linux_sigar.o' failed
make: *** [linux_sigar.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/bundle/gems/sigar-0.7.3 for inspection.
Results logged to /usr/local/bundle/extensions/x86_64-linux/2.3.0-static/sigar-0.7.3/gem_make.out

Sigar Accessing Services in Linux

Hi,

I am using Sigar Java API to start, stop the services from my java application. My application intended for multiple platforms. (windows, Linux, mac) I am using org.hyperic.sigar.win32.Service class to check the service current status, start & stop.
This class is working fine in windows environment, when I ported my application in Linux, the code is not able to service information. It is throwing UnsatisfiedLinkError. I googled on the error, if .so file is not there in class path will leads to this error. But I am able to run sigar.jar application in Linux machine.

Please help me to solve my problem of handling services with sigar api in Linux platform.

Thanks in Advance.

macos make error

./autogen.sh && make && make install
*** No targets specified and no makefile found. Stop.

how issues?

JVM crashes occassionally with access violation when using Sigar.getProcMem with disabled Windows performance counters

We are using Sigar 1.6.4 to monitor, among other things, CPU and memory usage of the components of our software. Sigar itself is used from within our "Agent" component, which is responsible for controlling the lifecycle and monitoring all components.
Recently, we are getting more reports that the agent crashes with an access violation (hs_err_pid file written to disk).

Usually, the stack trace in the hs_err_pid file indicates that it is directly related to the use of getProcMem():

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j org.hyperic.sigar.ProcMem.gather(Lorg/hyperic/sigar/Sigar;J)V+0 j org.hyperic.sigar.ProcMem.fetch(Lorg/hyperic/sigar/Sigar;J)Lorg/hyperic/sigar/ProcMem;+11 j org.hyperic.sigar.Sigar.getProcMem(J)Lorg/hyperic/sigar/ProcMem;+2 [...]

Sometimes, the issue also happens when the Sigar instance that we used for getProcMem is closed by our code:

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j org.hyperic.sigar.Sigar.nativeClose()I+0 j org.hyperic.sigar.Sigar.close()V+8 [...]

I attached a sample hs_err_pid (which I had to obfuscate a bit, replacing package, product and servernames).

What we noticed first was that on more and more of our machines, the memory measurement would suddenly no longer work, where it had worked fine before.
When I first debugged this, I noticed that a SigarException was being thrown by getProcMem():

org.hyperic.sigar.SigarException: No Process counters defined (disabled?) at org.hyperic.sigar.ProcMem.gather(Native Method) at org.hyperic.sigar.ProcMem.fetch(ProcMem.java:30) at org.hyperic.sigar.Sigar.getProcMem(Sigar.java:445)

So quite obviously, it is related to the Windows performance counters having been disabled on these machines. Checking the registry confirmed this:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PerfProc\Performance] "Disable Performance Counters"=dword:00000001

If we set this setting to 0 and restart the "WMI Performance Adapter" service, measurements work again and we also have never seen the access violation happening with enabled perf counters.

Currently, we could live with memory measurements not being available on machines with disabled performance counters, but we have no good way of figuring this out ourselves from within the agent.
If we would simply always get the above mentioned exception, we would be OK (as we have a functionality to disable measurements if they fail repeatedly) - it is the occasional access violation that is really spoiling it.
Still, I would hope that there is another way to get a process's memory usage without resorting to the performance counters.

hs_err_pid27764.log.txt

Running ES on OpenVZ instance fails

After clean install on Vmware Client, ES runs successfully.
After clean install (the same Ubuntu distrib, the same ES version) on VPS running OpenVZ, ES fails on run. After setting ES_USER to root, it starts correctly. I suppose that issue is related to sigar library and user permissions in OpenVZ.

network info

Is there any reason sigar needs privileged access to gather network information?
I currently use ohai, and when ohai is run as a non-privileged user, no network information is returned.

facter (http://puppetlabs.com/puppet/related-projects/facter/) gathers similar interface information, but does not need to run as a privileged user.

Before I dig too deep into this, is this by design? It does not appear ohai does anything other than defer to 'sigar' for this data.

Thanks -
John

java binding fails on OS X 10.11.2

I believe the problem is that bindings/java/hyperic_jni/src/org/hyperic/jni/ArchNameTask.java makes some assumptions that no not true about location of java. Particularly I see the lines:

if (ArchLoader.IS_DARWIN) { //default to most recent SDK //MacOSX10.3.9.sdk, MacOSX10.4u.sdk, MacOSX10.5.sdk,etc. String sdkRoot = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"; if (new File(sdkRoot).exists() == false) { sdkRoot = "/Developer/SDKs"; }

Neither of the two checked paths exist on my computer. My javac is located in /System/Library/Frameworks/JavaVM.framework/Versions/Current/ . There are also some jdk files in /Library/Java/JavaVirtualMachines/ .

Here is the error itself:

`piotrmย ๎‚ฐย โ‹ฏย ๎‚ฑย sigar.gitย ๎‚ฑย bindingsย ๎‚ฑย javaย ๎‚ฐย ant ย ๎‚ฒย ๎‚ ย master
Buildfile: /Users/piotrm/github/sigar.git/bindings/java/build.xml

jni-init:
[echo] jni.src=darwin, jni.jdk.os=darwin, 64-bit
[javac] /Users/piotrm/github/sigar.git/bindings/java/hyperic_jni/jni-build.xml:165: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 1 source file to /Users/piotrm/github/sigar.git/bindings/java/build/classes
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.4
[javac] warning: [options] source value 1.4 is obsolete and will be removed in a future release
[javac] warning: [options] target value 1.4 is obsolete and will be removed in a future release
[javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
[javac] 4 warnings
[libarch] universal64-macosx
[libarch] Could not find sdk.
[echo] java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home

sigar-version:
[echo] SIGAR git revision ad47dc3

version-file:
[echo] cp ./src/org/hyperic/sigar/Version.java.in -> /Users/piotrm/github/sigar.git/bindings/java/build/./src/org/hyperic/sigar/Version.java
[copy] Copying 1 file to /Users/piotrm/github/sigar.git/bindings/java/build/src/org/hyperic/sigar

version-file:
[echo] cp ../../src/sigar_version.c.in -> /Users/piotrm/github/sigar.git/bindings/java/build/src/sigar_version.c
[copy] Copying 1 file to /Users/piotrm/github/sigar.git/bindings/java/build/src

version-file:
[echo] cp ../../src/os/darwin/Info.plist.in -> /Users/piotrm/github/sigar.git/bindings/java/build/src/Info.plist
[copy] Copying 1 file to /Users/piotrm/github/sigar.git/bindings/java/build/src

version-file:
[echo] cp ../../src/os/win32/sigar.rc.in -> /Users/piotrm/github/sigar.git/bindings/java/build/src/sigar.rc
[copy] Copying 1 file to /Users/piotrm/github/sigar.git/bindings/java/build/src

sigar.rc:

prepare-src:
[exec] javasigar_generated.c up-to-date
[exec] javasigar_generated.h up-to-date

jni-compile:

uni-cc:
[echo] build 'ppc' arch

jni-cc:
[echo] jni libname=sigar-universal64-macosx
[cc] 12 total files to be compiled.
[cc] clang: warning: no such sysroot directory: '${uni.sdk}'
[cc] clang: error: invalid version number in '-mmacosx-version-min=${osx.min}'

BUILD FAILED
/Users/piotrm/github/sigar.git/bindings/java/hyperic_jni/jni-build.xml:224: The following error occurred while executing this line:
/Users/piotrm/github/sigar.git/bindings/java/hyperic_jni/jni-build.xml:233: The following error occurred while executing this line:
/Users/piotrm/github/sigar.git/bindings/java/hyperic_jni/jni-build.xml:270: gcc failed with return code 1

Total time: 0 seconds`

build failed on mips/mipsel with an error: 'TIOCGETC' undeclared

In an attempt to build the package on mips/mipsel, build failed with an error:

make[1]: Entering directory `/ยซPKGBUILDDIRยป/bindings/ruby'
compiling sigar_format.c
compiling sigar_getline.c
sigar_getline.c: In function 'gl_char_init':
sigar_getline.c:416:14: error: 'TIOCGETC' undeclared (first use in this function)
ioctl(0, TIOCGETC, &tch);

Full build log is available here:
https://buildd.debian.org/status/fetch.php?pkg=ruby-sigar&arch=mipsel&ver=0.7.2-2&stamp=1388676984

On MIPS architectures TIOCGETP is defined in:
/usr/include/mips-linux-gnu/asm/ioctls.h,
but TIOCGETC is not.

I will prepare fix for this issue soon.

Regards,
Dejan

file system usage unit

Is sigar_file_system_usage_t.total in Kilobytes?

sigar_file_system_usage_t.total returns 975922976 on a 930gb disk.

Is this normal?

If this is normal i think you should document it somewhere.

I'm using the C API from master under OSX.

Thanks!

Build problem with Visual Studio 2010

I use 'ant' at bindings/java with set up environment by '<VS2010_dir>/VC/vcvarsall.bat x86'
Please take a look at the compilation errors below:

jni-cc:
[echo] jni libname=sigar-x86-winnt
[cc] Starting dependency analysis for 14 files.
[cc] ...
[cc] win32_sigar.c
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(212) : error C2011: 'sockaddr' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(485) : see declaration of 'sockaddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(390) : error C2059: syntax error : 'constant'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(232) : error C2011: 'hostent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(167) : see declaration of 'hostent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(245) : error C2011: 'netent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(180) : see declaration of 'netent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(252) : error C2011: 'servent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(187) : see declaration of 'servent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(264) : error C2011: 'protoent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(199) : see declaration of 'protoent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(360) : error C2011: 'WSAData' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(322) : see declaration of 'WSAData'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(458) : error C2011: 'sockproto' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(494) : see declaration of 'sockproto'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(500) : error C2011: 'linger' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1578) : error C2375: 'accept' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(742) : see declaration of 'accept'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1600) : error C2375: 'bind' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(747) : see declaration of 'bind'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1619) : error C2375: 'closesocket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(752) : see declaration of 'closesocket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1638) : error C2375: 'connect' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(754) : see declaration of 'connect'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1659) : error C2375: 'ioctlsocket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(759) : see declaration of 'ioctlsocket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1680) : error C2375: 'getpeername' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(764) : see declaration of 'getpeername'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1701) : error C2375: 'getsockname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(769) : see declaration of 'getsockname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1724) : error C2375: 'getsockopt' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(774) : see declaration of 'getsockopt'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1745) : error C2375: 'htonl' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(781) : see declaration of 'htonl'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1762) : error C2375: 'htons' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(783) : see declaration of 'htons'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1780) : error C2375: 'inet_addr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(785) : see declaration of 'inet_addr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1797) : error C2375: 'inet_ntoa' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(787) : see declaration of 'inet_ntoa'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1815) : error C2375: 'listen' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(789) : see declaration of 'listen'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1833) : error C2375: 'ntohl' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(793) : see declaration of 'ntohl'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1850) : error C2375: 'ntohs' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(795) : see declaration of 'ntohs'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1870) : error C2375: 'recv' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(797) : see declaration of 'recv'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1895) : error C2375: 'recvfrom' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(803) : see declaration of 'recvfrom'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1921) : error C2375: 'select' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(811) : see declaration of 'select'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1945) : error C2375: 'send' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(818) : see declaration of 'send'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1970) : error C2375: 'sendto' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(824) : see declaration of 'sendto'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1996) : error C2375: 'setsockopt' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(832) : see declaration of 'setsockopt'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2018) : error C2375: 'shutdown' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(839) : see declaration of 'shutdown'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2039) : error C2375: 'socket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(843) : see declaration of 'socket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2063) : error C2375: 'gethostbyaddr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(850) : see declaration of 'gethostbyaddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2083) : error C2375: 'gethostbyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(855) : see declaration of 'gethostbyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2101) : error C2375: 'gethostname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(857) : see declaration of 'gethostname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2121) : error C2375: 'getservbyport' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(861) : see declaration of 'getservbyport'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2141) : error C2375: 'getservbyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(865) : see declaration of 'getservbyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2160) : error C2375: 'getprotobynumber' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(869) : see declaration of 'getprotobynumber'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2178) : error C2375: 'getprotobyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(871) : see declaration of 'getprotobyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2200) : error C2375: 'WSAStartup' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(875) : see declaration of 'WSAStartup'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2219) : error C2375: 'WSACleanup' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(879) : see declaration of 'WSACleanup'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2236) : error C2375: 'WSASetLastError' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(881) : see declaration of 'WSASetLastError'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2253) : error C2375: 'WSAGetLastError' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(883) : see declaration of 'WSAGetLastError'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2270) : error C2375: 'WSAIsBlocking' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(885) : see declaration of 'WSAIsBlocking'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2287) : error C2375: 'WSAUnhookBlockingHook' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(887) : see declaration of 'WSAUnhookBlockingHook'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2304) : error C2375: 'WSASetBlockingHook' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(889) : see declaration of 'WSASetBlockingHook'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2321) : error C2375: 'WSACancelBlockingCall' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(891) : see declaration of 'WSACancelBlockingCall'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2343) : error C2375: 'WSAAsyncGetServByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(893) : see declaration of 'WSAAsyncGetServByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2370) : error C2375: 'WSAAsyncGetServByPort' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(901) : see declaration of 'WSAAsyncGetServByPort'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2396) : error C2375: 'WSAAsyncGetProtoByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(909) : see declaration of 'WSAAsyncGetProtoByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2421) : error C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(916) : see declaration of 'WSAAsyncGetProtoByNumber'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2446) : error C2375: 'WSAAsyncGetHostByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(923) : see declaration of 'WSAAsyncGetHostByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2473) : error C2375: 'WSAAsyncGetHostByAddr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(930) : see declaration of 'WSAAsyncGetHostByAddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2496) : error C2375: 'WSACancelAsyncRequest' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(939) : see declaration of 'WSACancelAsyncRequest'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2517) : error C2375: 'WSAAsyncSelect' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(941) : see declaration of 'WSAAsyncSelect'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(119) : warning C4005: 'IP_TOS' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(352) : see previous definition of 'IP_TOS'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(120) : warning C4005: 'IP_TTL' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(351) : see previous definition of 'IP_TTL'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(121) : warning C4005: 'IP_MULTICAST_IF' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(346) : see previous definition of 'IP_MULTICAST_IF'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(122) : warning C4005: 'IP_MULTICAST_TTL' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(347) : see previous definition of 'IP_MULTICAST_TTL'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(123) : warning C4005: 'IP_MULTICAST_LOOP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(348) : see previous definition of 'IP_MULTICAST_LOOP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(124) : warning C4005: 'IP_ADD_MEMBERSHIP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(349) : see previous definition of 'IP_ADD_MEMBERSHIP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(125) : warning C4005: 'IP_DROP_MEMBERSHIP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(350) : see previous definition of 'IP_DROP_MEMBERSHIP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(126) : warning C4005: 'IP_DONTFRAGMENT' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(353) : see previous definition of 'IP_DONTFRAGMENT'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(700) : error C2011: 'ip_mreq' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(363) : see declaration of 'ip_mreq'
[cc] C:\work\aurora\sigar\src\os\win32\win32_sigar.c(1339) : warning C4293: '<<' : shift count negative or too big, undefined behavior
[cc] C:\work\aurora\sigar\src\os\win32\win32_sigar.c(1340) : warning C4293: '<<' : shift count negative or too big, undefined behavior
[cc] C:\work\aurora\sigar\src\os\win32\win32_sigar.c(2420) : error C2039: 'unused2' : is not a member of '_MIB_IPADDRROW_XP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ipmib.h(39) : see declaration of '_MIB_IPADDRROW_XP'
[cc] C:\work\aurora\sigar\src\os\win32\win32_sigar.c(2643) : warning C4090: 'function' : different 'const' qualifiers
[cc] sigar.c
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(460) : see previous definition of 'AF_IPX'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(124) : warning C4005: 'AF_MAX' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(479) : see previous definition of 'AF_MAX'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(168) : warning C4005: 'SO_DONTLINGER' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(402) : see previous definition of 'SO_DONTLINGER'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(212) : error C2011: 'sockaddr' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(485) : see declaration of 'sockaddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(390) : error C2059: syntax error : 'constant'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(524) : warning C4005: 'IN_CLASSA' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(287) : see previous definition of 'IN_CLASSA'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(530) : warning C4005: 'IN_CLASSB' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(293) : see previous definition of 'IN_CLASSB'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(536) : warning C4005: 'IN_CLASSC' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(299) : see previous definition of 'IN_CLASSC'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(547) : warning C4005: 'INADDR_ANY' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(304) : see previous definition of 'INADDR_ANY'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(549) : warning C4005: 'INADDR_BROADCAST' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(306) : see previous definition of 'INADDR_BROADCAST'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(583) : error C2011: 'sockaddr_in' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(312) : see declaration of 'sockaddr_in'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(132) : error C2011: 'fd_set' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(68) : see declaration of 'fd_set'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(167) : warning C4005: 'FD_SET' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(102) : see previous definition of 'FD_SET'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(176) : error C2011: 'timeval' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(111) : see declaration of 'timeval'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(232) : error C2011: 'hostent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(167) : see declaration of 'hostent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(245) : error C2011: 'netent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(180) : see declaration of 'netent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(252) : error C2011: 'servent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(187) : see declaration of 'servent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(264) : error C2011: 'protoent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(199) : see declaration of 'protoent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(360) : error C2011: 'WSAData' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(322) : see declaration of 'WSAData'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(458) : error C2011: 'sockproto' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(494) : see declaration of 'sockproto'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(500) : error C2011: 'linger' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(531) : see declaration of 'linger'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(513) : warning C4005: 'SOMAXCONN' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(544) : see previous definition of 'SOMAXCONN'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(542) : warning C4005: 'FD_READ' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(562) : see previous definition of 'FD_READ'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(545) : warning C4005: 'FD_WRITE' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(563) : see previous definition of 'FD_WRITE'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(548) : warning C4005: 'FD_OOB' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(564) : see previous definition of 'FD_OOB'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(551) : warning C4005: 'FD_ACCEPT' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(565) : see previous definition of 'FD_ACCEPT'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(554) : warning C4005: 'FD_CONNECT' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(566) : see previous definition of 'FD_CONNECT'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(557) : warning C4005: 'FD_CLOSE' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(567) : see previous definition of 'FD_CLOSE'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1578) : error C2375: 'accept' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(742) : see declaration of 'accept'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1600) : error C2375: 'bind' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(747) : see declaration of 'bind'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1619) : error C2375: 'closesocket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(752) : see declaration of 'closesocket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1638) : error C2375: 'connect' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(754) : see declaration of 'connect'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1659) : error C2375: 'ioctlsocket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(759) : see declaration of 'ioctlsocket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1680) : error C2375: 'getpeername' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(764) : see declaration of 'getpeername'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1701) : error C2375: 'getsockname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(769) : see declaration of 'getsockname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1724) : error C2375: 'getsockopt' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(774) : see declaration of 'getsockopt'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1745) : error C2375: 'htonl' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(781) : see declaration of 'htonl'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1762) : error C2375: 'htons' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(783) : see declaration of 'htons'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1780) : error C2375: 'inet_addr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(785) : see declaration of 'inet_addr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1797) : error C2375: 'inet_ntoa' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(787) : see declaration of 'inet_ntoa'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1815) : error C2375: 'listen' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(789) : see declaration of 'listen'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1833) : error C2375: 'ntohl' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(793) : see declaration of 'ntohl'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1850) : error C2375: 'ntohs' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(795) : see declaration of 'ntohs'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1870) : error C2375: 'recv' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(797) : see declaration of 'recv'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1895) : error C2375: 'recvfrom' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(803) : see declaration of 'recvfrom'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1921) : error C2375: 'select' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(811) : see declaration of 'select'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1945) : error C2375: 'send' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(818) : see declaration of 'send'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1970) : error C2375: 'sendto' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(824) : see declaration of 'sendto'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1996) : error C2375: 'setsockopt' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(832) : see declaration of 'setsockopt'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2018) : error C2375: 'shutdown' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(839) : see declaration of 'shutdown'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2039) : error C2375: 'socket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(843) : see declaration of 'socket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2063) : error C2375: 'gethostbyaddr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(850) : see declaration of 'gethostbyaddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2083) : error C2375: 'gethostbyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(855) : see declaration of 'gethostbyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2101) : error C2375: 'gethostname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(857) : see declaration of 'gethostname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2121) : error C2375: 'getservbyport' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(861) : see declaration of 'getservbyport'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2141) : error C2375: 'getservbyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(865) : see declaration of 'getservbyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2160) : error C2375: 'getprotobynumber' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(869) : see declaration of 'getprotobynumber'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2178) : error C2375: 'getprotobyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(871) : see declaration of 'getprotobyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2200) : error C2375: 'WSAStartup' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(875) : see declaration of 'WSAStartup'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2219) : error C2375: 'WSACleanup' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(879) : see declaration of 'WSACleanup'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2236) : error C2375: 'WSASetLastError' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(881) : see declaration of 'WSASetLastError'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2253) : error C2375: 'WSAGetLastError' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(883) : see declaration of 'WSAGetLastError'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2270) : error C2375: 'WSAIsBlocking' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(885) : see declaration of 'WSAIsBlocking'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2287) : error C2375: 'WSAUnhookBlockingHook' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(887) : see declaration of 'WSAUnhookBlockingHook'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2304) : error C2375: 'WSASetBlockingHook' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(889) : see declaration of 'WSASetBlockingHook'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2321) : error C2375: 'WSACancelBlockingCall' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(891) : see declaration of 'WSACancelBlockingCall'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2343) : error C2375: 'WSAAsyncGetServByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(893) : see declaration of 'WSAAsyncGetServByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2370) : error C2375: 'WSAAsyncGetServByPort' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(901) : see declaration of 'WSAAsyncGetServByPort'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2396) : error C2375: 'WSAAsyncGetProtoByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(909) : see declaration of 'WSAAsyncGetProtoByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2421) : error C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(916) : see declaration of 'WSAAsyncGetProtoByNumber'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2446) : error C2375: 'WSAAsyncGetHostByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(923) : see declaration of 'WSAAsyncGetHostByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2473) : error C2375: 'WSAAsyncGetHostByAddr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(930) : see declaration of 'WSAAsyncGetHostByAddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2496) : error C2375: 'WSACancelAsyncRequest' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(939) : see declaration of 'WSACancelAsyncRequest'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2517) : error C2375: 'WSAAsyncSelect' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(941) : see declaration of 'WSAAsyncSelect'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(119) : warning C4005: 'IP_TOS' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(352) : see previous definition of 'IP_TOS'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(120) : warning C4005: 'IP_TTL' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(351) : see previous definition of 'IP_TTL'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(121) : warning C4005: 'IP_MULTICAST_IF' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(346) : see previous definition of 'IP_MULTICAST_IF'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(122) : warning C4005: 'IP_MULTICAST_TTL' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(347) : see previous definition of 'IP_MULTICAST_TTL'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(123) : warning C4005: 'IP_MULTICAST_LOOP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(348) : see previous definition of 'IP_MULTICAST_LOOP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(124) : warning C4005: 'IP_ADD_MEMBERSHIP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(349) : see previous definition of 'IP_ADD_MEMBERSHIP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(125) : warning C4005: 'IP_DROP_MEMBERSHIP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(350) : see previous definition of 'IP_DROP_MEMBERSHIP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(126) : warning C4005: 'IP_DONTFRAGMENT' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(353) : see previous definition of 'IP_DONTFRAGMENT'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(700) : error C2011: 'ip_mreq' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(363) : see declaration of 'ip_mreq'
[cc] sigar_ptql.c
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(460) : see previous definition of 'AF_IPX'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(124) : warning C4005: 'AF_MAX' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(479) : see previous definition of 'AF_MAX'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(168) : warning C4005: 'SO_DONTLINGER' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(402) : see previous definition of 'SO_DONTLINGER'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(212) : error C2011: 'sockaddr' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(485) : see declaration of 'sockaddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(390) : error C2059: syntax error : 'constant'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(524) : warning C4005: 'IN_CLASSA' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(287) : see previous definition of 'IN_CLASSA'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(530) : warning C4005: 'IN_CLASSB' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(293) : see previous definition of 'IN_CLASSB'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(536) : warning C4005: 'IN_CLASSC' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(299) : see previous definition of 'IN_CLASSC'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(547) : warning C4005: 'INADDR_ANY' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(304) : see previous definition of 'INADDR_ANY'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(549) : warning C4005: 'INADDR_BROADCAST' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(306) : see previous definition of 'INADDR_BROADCAST'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(583) : error C2011: 'sockaddr_in' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(312) : see declaration of 'sockaddr_in'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(132) : error C2011: 'fd_set' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(68) : see declaration of 'fd_set'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(167) : warning C4005: 'FD_SET' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(102) : see previous definition of 'FD_SET'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(176) : error C2011: 'timeval' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(111) : see declaration of 'timeval'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(232) : error C2011: 'hostent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(167) : see declaration of 'hostent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(245) : error C2011: 'netent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(180) : see declaration of 'netent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(252) : error C2011: 'servent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(187) : see declaration of 'servent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(264) : error C2011: 'protoent' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(199) : see declaration of 'protoent'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(360) : error C2011: 'WSAData' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(322) : see declaration of 'WSAData'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(458) : error C2011: 'sockproto' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(494) : see declaration of 'sockproto'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(500) : error C2011: 'linger' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(531) : see declaration of 'linger'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(513) : warning C4005: 'SOMAXCONN' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(544) : see previous definition of 'SOMAXCONN'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(542) : warning C4005: 'FD_READ' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(562) : see previous definition of 'FD_READ'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(545) : warning C4005: 'FD_WRITE' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(563) : see previous definition of 'FD_WRITE'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(548) : warning C4005: 'FD_OOB' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(564) : see previous definition of 'FD_OOB'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(551) : warning C4005: 'FD_ACCEPT' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(565) : see previous definition of 'FD_ACCEPT'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(554) : warning C4005: 'FD_CONNECT' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(566) : see previous definition of 'FD_CONNECT'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(557) : warning C4005: 'FD_CLOSE' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(567) : see previous definition of 'FD_CLOSE'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1578) : error C2375: 'accept' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(742) : see declaration of 'accept'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1600) : error C2375: 'bind' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(747) : see declaration of 'bind'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1619) : error C2375: 'closesocket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(752) : see declaration of 'closesocket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1638) : error C2375: 'connect' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(754) : see declaration of 'connect'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1659) : error C2375: 'ioctlsocket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(759) : see declaration of 'ioctlsocket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1680) : error C2375: 'getpeername' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(764) : see declaration of 'getpeername'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1701) : error C2375: 'getsockname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(769) : see declaration of 'getsockname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1724) : error C2375: 'getsockopt' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(774) : see declaration of 'getsockopt'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1745) : error C2375: 'htonl' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(781) : see declaration of 'htonl'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1762) : error C2375: 'htons' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(783) : see declaration of 'htons'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1780) : error C2375: 'inet_addr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(785) : see declaration of 'inet_addr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1797) : error C2375: 'inet_ntoa' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(787) : see declaration of 'inet_ntoa'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1815) : error C2375: 'listen' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(789) : see declaration of 'listen'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1833) : error C2375: 'ntohl' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(793) : see declaration of 'ntohl'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1850) : error C2375: 'ntohs' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(795) : see declaration of 'ntohs'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1870) : error C2375: 'recv' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(797) : see declaration of 'recv'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1895) : error C2375: 'recvfrom' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(803) : see declaration of 'recvfrom'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1921) : error C2375: 'select' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(811) : see declaration of 'select'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1945) : error C2375: 'send' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(818) : see declaration of 'send'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1970) : error C2375: 'sendto' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(824) : see declaration of 'sendto'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(1996) : error C2375: 'setsockopt' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(832) : see declaration of 'setsockopt'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2018) : error C2375: 'shutdown' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(839) : see declaration of 'shutdown'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2039) : error C2375: 'socket' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(843) : see declaration of 'socket'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2063) : error C2375: 'gethostbyaddr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(850) : see declaration of 'gethostbyaddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2083) : error C2375: 'gethostbyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(855) : see declaration of 'gethostbyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2101) : error C2375: 'gethostname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(857) : see declaration of 'gethostname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2121) : error C2375: 'getservbyport' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(861) : see declaration of 'getservbyport'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2141) : error C2375: 'getservbyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(865) : see declaration of 'getservbyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2160) : error C2375: 'getprotobynumber' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(869) : see declaration of 'getprotobynumber'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2178) : error C2375: 'getprotobyname' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(871) : see declaration of 'getprotobyname'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2200) : error C2375: 'WSAStartup' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(875) : see declaration of 'WSAStartup'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2219) : error C2375: 'WSACleanup' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(879) : see declaration of 'WSACleanup'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2236) : error C2375: 'WSASetLastError' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(881) : see declaration of 'WSASetLastError'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2253) : error C2375: 'WSAGetLastError' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(883) : see declaration of 'WSAGetLastError'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2270) : error C2375: 'WSAIsBlocking' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(885) : see declaration of 'WSAIsBlocking'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2287) : error C2375: 'WSAUnhookBlockingHook' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(887) : see declaration of 'WSAUnhookBlockingHook'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2304) : error C2375: 'WSASetBlockingHook' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(889) : see declaration of 'WSASetBlockingHook'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2321) : error C2375: 'WSACancelBlockingCall' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(891) : see declaration of 'WSACancelBlockingCall'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2343) : error C2375: 'WSAAsyncGetServByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(893) : see declaration of 'WSAAsyncGetServByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2370) : error C2375: 'WSAAsyncGetServByPort' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(901) : see declaration of 'WSAAsyncGetServByPort'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2396) : error C2375: 'WSAAsyncGetProtoByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(909) : see declaration of 'WSAAsyncGetProtoByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2421) : error C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(916) : see declaration of 'WSAAsyncGetProtoByNumber'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2446) : error C2375: 'WSAAsyncGetHostByName' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(923) : see declaration of 'WSAAsyncGetHostByName'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2473) : error C2375: 'WSAAsyncGetHostByAddr' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(930) : see declaration of 'WSAAsyncGetHostByAddr'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2496) : error C2375: 'WSACancelAsyncRequest' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(939) : see declaration of 'WSACancelAsyncRequest'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock2.h(2517) : error C2375: 'WSAAsyncSelect' : redefinition; different linkage
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(941) : see declaration of 'WSAAsyncSelect'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(119) : warning C4005: 'IP_TOS' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(352) : see previous definition of 'IP_TOS'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(120) : warning C4005: 'IP_TTL' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(351) : see previous definition of 'IP_TTL'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(121) : warning C4005: 'IP_MULTICAST_IF' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(346) : see previous definition of 'IP_MULTICAST_IF'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(122) : warning C4005: 'IP_MULTICAST_TTL' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(347) : see previous definition of 'IP_MULTICAST_TTL'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(123) : warning C4005: 'IP_MULTICAST_LOOP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(348) : see previous definition of 'IP_MULTICAST_LOOP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(124) : warning C4005: 'IP_ADD_MEMBERSHIP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(349) : see previous definition of 'IP_ADD_MEMBERSHIP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(125) : warning C4005: 'IP_DROP_MEMBERSHIP' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(350) : see previous definition of 'IP_DROP_MEMBERSHIP'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(126) : warning C4005: 'IP_DONTFRAGMENT' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(353) : see previous definition of 'IP_DONTFRAGMENT'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2ipdef.h(700) : error C2011: 'ip_mreq' : 'struct' type redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(363) : see declaration of 'ip_mreq'
[cc] sigar_util.c
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(460) : see previous definition of 'AF_IPX'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(124) : warning C4005: 'AF_MAX' : macro redefinition
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winsock.h(479) : see previous definition of 'AF_MAX'
[cc] c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h(168) : warning C4005: 'SO_DONTLINGER' : macro redefinition
[cc]

Load average always reported to 0.0

Hi, we are seeing a strange behavior when requesting the load average using the java bindings.

The load average is always reported as 0.0 (both for 1 min, 5 min and 15 min). We are able to reproduce this on Ubuntu 12.04 x86_64 with 3.11 kernel and on OpenSuse 13.1 x86_64 with 3.11 kernel.

Unfortunately, load average reporting is working correctly on Ubuntu 12.04 x86_64 with 3.2-virtual kernel (our jenkins host), hence the /proc/loadavg format is not changed between 3.2 and 3.11 kernel.

Any hints?

How to get CPU, motherboard serial number?

I am doing a project in Java where I have to implement a license control, in addition to the possibility of implementing the project in trial mode. For this I need to take the fingerprint of the machine, may be the serial number of CPU, motherboard, hard disk, or MAC address. But it may happen that the machine has no network card or is defective or the hard disk is changed, so I want to prioritize more the serial number of the CPU and motherboard. How I can get the serial number of the CPU or the motherboard of the machine, besides considering it to be multiplatform, that is, that should work on Windows, Linux and Mac, I would be very grateful if you can send a sample code on how to do, thank you very much

Failed to build gem native extension [windows 7][Rubyinstaller 2.2.5]

Hello. I try to install gem on windows platform but I have error.
I try 64 and 32 bit versions, but I have same result.
Other native extensions installed ok.

C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sigar-0.7.3/bindings/ruby
C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20161021-8004-1qe27k9.rb extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby22-x64/bin/$(RUBY_BASE_NAME)
C:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in
`require': cannot load such file -- ftools (LoadError)
from
C:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in
`require'
        from extconf.rb:39:in `<main>'
Ruby platform=x64-mingw32

extconf failed, exit code 1

Gem files will remain installed in
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/sigar-0.7.3 for inspection.
Results logged to
C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0/sigar-0.7.3/gem_make.out

Invalid description retrieve on Windows 10 - x64

On a windows 10 - x64 system, SIGAR returns the SysInfo.description field as "Microsoft ". That character (represented as \f) is invalid in a lot of places.

The correct result should be "Microsoft Windows 10.0 - x64"

linux sigar_proc_port_get assumes effective UID of bound socket & process are the same

This assumption is violated if the process binds the socket as root, and later drops it's effective UID for security.

We discovered this recently with stunnel, when configured to run as non-root user 'stunnel4'.

To replicate:

  • apt-get stunnel on debian or ubuntu
  • Edit /etc/default/stunnel4, and set ENABLED=1

Play with enabling/disabling the setuid/setgid options in /etc/stunnel/stunnel.conf. Assume $port is a port bound by stunnel.

Using the ruby bindings & running irb as root, Sigar.new().proc_port(Sigar::NETCONN_TCP, $port) returns the stunnel PID when stunnel is also running as root. 0 is returned if stunnel drops to user 'stunnel4'

Java bindings, trouble loading native library

I'm running into a strange issue where by sigar isn't locating or loading the native library. Not entirely sure why but I figured I'd throw this out there to see if anyone has any options i can troubleshoot with.

SigarLoader loader = new SigarLoader(Sigar.class);
System.out.println(loader.getLibraryName());

The output is `libsigar-amd64-linux.so'. This file is present and available on the class path so I'm not entirely sure what the issue is. The file is readable by the current user.

Shortly aftewards, it i get an UnsatifiedLinkError when loading OperatingSystem.getInstance @ SysInfo.gather(Native method)

Any help is appreciated

units documentation

Since there are issues opened for months or even a year I doubt I will get an answer but...

is there any "useful" documentation on what is exactly returned by each methods ? For example when they return a size sometimes it's bytes, sometimes is megabytes which is fine if it was documented anywhere but I don't even see a comment a code for that :(

I found most of the units I currently have with trial and errors by comparing to another tool but that's annoying as hell.

This is a shame because otherwise this is a really good library.

undefined symbol: sigar_skip_token

ruby: symbol lookup error: .... ruby/2.2.0/extensions/x86_64-linux/2.2.0/sigar-0.7.3/sigar.so: undefined symbol: sigar_skip_token
  • Archlinux x86_64

  • ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]

  • Happens with:

    Using built-in specs.
    COLLECT_GCC=/usr/bin/gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/lto-wrapper
    Target: x86_64-unknown-linux-gnu
    Configured with: /build/gcc-multilib/src/gcc-5-20150519/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --with-default-libstdcxx-abi=c++98
    Thread model: posix
    gcc version 5.1.0 (GCC) 
    
  • Happens with:

    clang version 3.6.1 (tags/RELEASE_361/final)
    Target: x86_64-unknown-linux-gnu
    Thread model: posix
    Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.1.0
    Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/5.1.0
    Found candidate GCC installation: /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0
    Found candidate GCC installation: /usr/lib64/gcc/x86_64-unknown-linux-gnu/5.1.0
    Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/5.1.0
    Candidate multilib: .;@m64
    Candidate multilib: 32;@m32
    Selected multilib: .;@m64
    

getLoadAverage() is not supporting on windows 7

I tried getLoadAverage() function in my project but its showing method is not implemented after putting in to try catch block it is giving "This method has not been implemented on this platform" Please try to fix it..

Lua 5.2 compatibility

Are the lua bindings not compatible with Lua 5.2? Sigar works fine with 5.1.4, but I get type errors with 5.2.

Thanks!

ruby: sporadic segfaults in garbage collection routines

$ cat test2.rb

require 'sigar'
100.times do
GC.disable
sigars = []
100.times do
sigar = Sigar.new
sigars << sigar
end
GC.enable
GC.start
sleep 2
end

$ ruby test2.rb

test2.rb:11: [BUG] rb_gc_mark(): unknown data type 0x0(0x7f30a00bd7e8) non object
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0007 p:---- s:0017 b:0017 l:000016 d:000016 CFUNC :start
c:0006 p:0065 s:0014 b:0014 l:0002c8 d:000013 BLOCK test2.rb:11
c:0005 p:---- s:0011 b:0011 l:000010 d:000010 FINISH
c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :times
c:0003 p:0022 s:0006 b:0006 l:0002c8 d:0012e8 EVAL test2.rb:3
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0002c8 d:0002c8 TOP

-- Ruby level backtrace information ----------------------------------------
test2.rb:3:in <main>' test2.rb:3:intimes'
test2.rb:11:in block in <main>' test2.rb:11:instart'

-- C level backtrace information -------------------------------------------
/usr/lib/libruby-1.9.1.so.1.9(+0x155bb9) [0x7f30a0219bb9] ../sysdeps/x86_64/multiarch/../strcmp.S:1007
/usr/lib/libruby-1.9.1.so.1.9(+0x5966d) [0x7f30a011d66d] vfscanf.c:2350
/usr/lib/libruby-1.9.1.so.1.9(rb_bug+0xb3) [0x7f30a011dde3] vfscanf.c:1602
/usr/lib/libruby-1.9.1.so.1.9(+0x6ef90) [0x7f30a0132f90] iogetdelim.c:56
/usr/lib/libruby-1.9.1.so.1.9(+0x6f0e1) [0x7f30a01330e1] iogetdelim.c:90
/usr/lib/libruby-1.9.1.so.1.9(rb_gc+0x1a) [0x7f30a013430a] ioseekpos.c:34
/usr/lib/libruby-1.9.1.so.1.9(rb_gc_start+0x9) [0x7f30a0134349] ioseekpos.c:49
/usr/lib/libruby-1.9.1.so.1.9(+0x14c1d3) [0x7f30a02101d3] ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1374
/usr/lib/libruby-1.9.1.so.1.9(+0x146a95) [0x7f30a020aa95] ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:1444
/usr/lib/libruby-1.9.1.so.1.9(+0x149d8e) [0x7f30a020dd8e] ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2078
/usr/lib/libruby-1.9.1.so.1.9(rb_yield+0x240) [0x7f30a0215230] ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1074
/usr/lib/libruby-1.9.1.so.1.9(+0x966ae) [0x7f30a015a6ae] strxfrm_l.c:65
/usr/lib/libruby-1.9.1.so.1.9(+0x14c1d3) [0x7f30a02101d3] ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1374
/usr/lib/libruby-1.9.1.so.1.9(+0x146a95) [0x7f30a020aa95] ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:1444
/usr/lib/libruby-1.9.1.so.1.9(+0x149d8e) [0x7f30a020dd8e] ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2078
/usr/lib/libruby-1.9.1.so.1.9(rb_iseq_eval_main+0x9f) [0x7f30a021685f] ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:2561
/usr/lib/libruby-1.9.1.so.1.9(+0x5ca1a) [0x7f30a0120a1a] vfscanf.c:1956
/usr/lib/libruby-1.9.1.so.1.9(ruby_exec_node+0x1d) [0x7f30a012185d] ../sysdeps/posix/tempname.c:203
/usr/lib/libruby-1.9.1.so.1.9(ruby_run_node+0x1e) [0x7f30a012330e] vfprintf.c:1422
ruby() [0x40086b]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f309fd20ec5] libc-start.c:287
ruby() [0x400899]

-- Other runtime information -----------------------------------------------

  • Loaded script: test2.rb

  • Loaded features:

    0 enumerator.so
    1 /usr/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
    2 /usr/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
    3 /usr/lib/ruby/1.9.1/rubygems/defaults.rb
    4 /usr/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb
    5 /usr/lib/ruby/1.9.1/rubygems/deprecate.rb
    6 /usr/lib/ruby/1.9.1/rubygems/exceptions.rb
    7 /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb
    8 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb
    9 /usr/lib/ruby/1.9.1/rubygems.rb
    10 /usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux/sigar.so

  • Process memory map:

00400000-00401000 r-xp 00000000 fc:00 923860 /usr/bin/ruby1.9.1
00600000-00601000 r--p 00000000 fc:00 923860 /usr/bin/ruby1.9.1
00601000-00602000 rw-p 00001000 fc:00 923860 /usr/bin/ruby1.9.1
007fa000-00ada000 rw-p 00000000 00:00 0 [heap]
7f309e67d000-7f309e693000 r-xp 00000000 fc:00 1577960 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f309e693000-7f309e892000 ---p 00016000 fc:00 1577960 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f309e892000-7f309e893000 rw-p 00015000 fc:00 1577960 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f309e893000-7f309e8be000 r-xp 00000000 fc:00 1334140 /usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux/sigar.so
7f309e8be000-7f309eabd000 ---p 0002b000 fc:00 1334140 /usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux/sigar.so
7f309eabd000-7f309eabe000 r--p 0002a000 fc:00 1334140 /usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux/sigar.so
7f309eabe000-7f309eac0000 rw-p 0002b000 fc:00 1334140 /usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux/sigar.so
7f309eac0000-7f309eac6000 rw-p 00000000 00:00 0
7f309eac6000-7f309eac8000 r-xp 00000000 fc:00 1445559 /usr/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f309eac8000-7f309ecc8000 ---p 00002000 fc:00 1445559 /usr/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f309ecc8000-7f309ecc9000 r--p 00002000 fc:00 1445559 /usr/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f309ecc9000-7f309ecca000 rw-p 00003000 fc:00 1445559 /usr/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f309ecca000-7f309eccc000 r-xp 00000000 fc:00 1445508 /usr/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f309eccc000-7f309eecb000 ---p 00002000 fc:00 1445508 /usr/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f309eecb000-7f309eecc000 r--p 00001000 fc:00 1445508 /usr/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f309eecc000-7f309eecd000 rw-p 00002000 fc:00 1445508 /usr/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f309eecd000-7f309f196000 r--p 00000000 fc:00 1187285 /usr/lib/locale/locale-archive
7f309f196000-7f309f29b000 r-xp 00000000 fc:00 1579880 /lib/x86_64-linux-gnu/libm-2.19.so
7f309f29b000-7f309f49a000 ---p 00105000 fc:00 1579880 /lib/x86_64-linux-gnu/libm-2.19.so
7f309f49a000-7f309f49b000 r--p 00104000 fc:00 1579880 /lib/x86_64-linux-gnu/libm-2.19.so
7f309f49b000-7f309f49c000 rw-p 00105000 fc:00 1579880 /lib/x86_64-linux-gnu/libm-2.19.so
7f309f49c000-7f309f4a5000 r-xp 00000000 fc:00 1579883 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f309f4a5000-7f309f6a5000 ---p 00009000 fc:00 1579883 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f309f6a5000-7f309f6a6000 r--p 00009000 fc:00 1579883 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f309f6a6000-7f309f6a7000 rw-p 0000a000 fc:00 1579883 /lib/x86_64-linux-gnu/libcrypt-2.19.so
7f309f6a7000-7f309f6d5000 rw-p 00000000 00:00 0
7f309f6d5000-7f309f6d8000 r-xp 00000000 fc:00 1579882 /lib/x86_64-linux-gnu/libdl-2.19.so
7f309f6d8000-7f309f8d7000 ---p 00003000 fc:00 1579882 /lib/x86_64-linux-gnu/libdl-2.19.so
7f309f8d7000-7f309f8d8000 r--p 00002000 fc:00 1579882 /lib/x86_64-linux-gnu/libdl-2.19.so
7f309f8d8000-7f309f8d9000 rw-p 00003000 fc:00 1579882 /lib/x86_64-linux-gnu/libdl-2.19.so
7f309f8d9000-7f309f8e0000 r-xp 00000000 fc:00 1579894 /lib/x86_64-linux-gnu/librt-2.19.so
7f309f8e0000-7f309fadf000 ---p 00007000 fc:00 1579894 /lib/x86_64-linux-gnu/librt-2.19.so
7f309fadf000-7f309fae0000 r--p 00006000 fc:00 1579894 /lib/x86_64-linux-gnu/librt-2.19.so
7f309fae0000-7f309fae1000 rw-p 00007000 fc:00 1579894 /lib/x86_64-linux-gnu/librt-2.19.so
7f309fae1000-7f309fafa000 r-xp 00000000 fc:00 1579887 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f309fafa000-7f309fcf9000 ---p 00019000 fc:00 1579887 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f309fcf9000-7f309fcfa000 r--p 00018000 fc:00 1579887 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f309fcfa000-7f309fcfb000 rw-p 00019000 fc:00 1579887 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f309fcfb000-7f309fcff000 rw-p 00000000 00:00 0
7f309fcff000-7f309feba000 r-xp 00000000 fc:00 1579895 /lib/x86_64-linux-gnu/libc-2.19.so
7f309feba000-7f30a00b9000 ---p 001bb000 fc:00 1579895 /lib/x86_64-linux-gnu/libc-2.19.so
7f30a00b9000-7f30a00bd000 r--p 001ba000 fc:00 1579895 /lib/x86_64-linux-gnu/libc-2.19.so
7f30a00bd000-7f30a00bf000 rw-p 001be000 fc:00 1579895 /lib/x86_64-linux-gnu/libc-2.19.so
7f30a00bf000-7f30a00c4000 rw-p 00000000 00:00 0
7f30a00c4000-7f30a02ba000 r-xp 00000000 fc:00 930375 /usr/lib/libruby-1.9.1.so.1.9.1
7f30a02ba000-7f30a04b9000 ---p 001f6000 fc:00 930375 /usr/lib/libruby-1.9.1.so.1.9.1
7f30a04b9000-7f30a04be000 r--p 001f5000 fc:00 930375 /usr/lib/libruby-1.9.1.so.1.9.1
7f30a04be000-7f30a04c2000 rw-p 001fa000 fc:00 930375 /usr/lib/libruby-1.9.1.so.1.9.1
7f30a04c2000-7f30a04de000 rw-p 00000000 00:00 0
7f30a04de000-7f30a0501000 r-xp 00000000 fc:00 1579888 /lib/x86_64-linux-gnu/ld-2.19.so
7f30a05d6000-7f30a06dc000 rw-p 00000000 00:00 0
7f30a06f9000-7f30a06fa000 rw-p 00000000 00:00 0
7f30a06fa000-7f30a06fb000 ---p 00000000 00:00 0
7f30a06fb000-7f30a0700000 rw-p 00000000 00:00 0 [stack:17285]
7f30a0700000-7f30a0701000 r--p 00022000 fc:00 1579888 /lib/x86_64-linux-gnu/ld-2.19.so
7f30a0701000-7f30a0702000 rw-p 00023000 fc:00 1579888 /lib/x86_64-linux-gnu/ld-2.19.so
7f30a0702000-7f30a0703000 rw-p 00000000 00:00 0
7ffeb567a000-7ffeb569b000 rw-p 00000000 00:00 0 [stack]
7ffeb56b7000-7ffeb56b9000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Aborted (core dumped)

get_iostat_sys in linux_sigar.c causes memory corruption

Hello,

I'd like to report get_iostat_sys bug which was founded when I was investigating the ElasticSearch issue elastic/elasticsearch#9582.

The function has a following code

    if (!(*iodev = sigar_iodev_get(sigar, dirname))) {
        return ENXIO;
    }

    name = fsdev = (*iodev)->name;

    if (SIGAR_NAME_IS_DEV(name)) {
        name += SSTRLEN(SIGAR_DEV_PREFIX); /* strip "/dev/" */
    }

    while (!sigar_isdigit(*fsdev)) {
        fsdev++;
    }

    partition = strtoul(fsdev, NULL, 0);
    *fsdev = '\0';

For example, if (*iodev)->name is /dev/ploop50957 (it's a real case value), *fsdev = '\0' line replaces the first 5 in the path by NULL. It doesn't cause an issue first time but the value is cached one so it's used repeatedly. Second time, the (*iodev)->name is /dev/ploop\00957 and sigar_isdigit returns false at the NULL character so 0 is replaced by NULL. Third time, the value is /dev/ploop\0\0957...

In this way, the function replaces the value referred by (*iodev)->name with NULL repeatedly and causes a segmentation fault.

To resolve it, I suggest a fix like following

diff --git a/src/os/linux/linux_sigar.c b/src/os/linux/linux_sigar.c
index a3fd230..1a5068b 100644
--- a/src/os/linux/linux_sigar.c
+++ b/src/os/linux/linux_sigar.c
@@ -1182,7 +1182,7 @@ static int get_iostat_sys(sigar_t *sigar,
                           sigar_disk_usage_t *disk,
                           sigar_iodev_t **iodev)
 {
-    char stat[1025], dev[1025];
+    char dev_name[256], stat[1025], dev[1025];
     char *name, *ptr, *fsdev;
     int partition, status;

@@ -1190,7 +1190,8 @@ static int get_iostat_sys(sigar_t *sigar,
         return ENXIO;
     }

-    name = fsdev = (*iodev)->name;
+    SIGAR_SSTRCPY(dev_name, (*iodev)->name);
+    name = fsdev = dev_name;

     if (SIGAR_NAME_IS_DEV(name)) {
         name += SSTRLEN(SIGAR_DEV_PREFIX); /* strip "/dev/" */

It's just a quick hack so other ideas welcome.

Are you guys going to either maintain of bless a new maintainer for this project?

I've been using this library for a few years in various projects, and am very happy with it. Thanks for the solid foundation. However, it's really showing its age and needs a solid upstream maintainer.

That I need hundreds of patches (as does everyone else) because nobody seems to actually be updating the official sources is concerning. Several major companies use this in their system monitoring agents (easy to see in public due to github's Network view), and everyone has a little different way that they have gone fixing the various bugs that have persisted for years. There are probably many security holes lurking in different people's versions as well. We have no idea. This hurts everyone.

Can the upstream project owners either come up with a plan to maintain this software, or can we decide on a maintained fork that the community can move to?

Sigar's 64-bit detection missing _WIN64

The sigar.h file tries to set SIGAR_64BIT on 64bit platforms, but it doesn't include a check for Windows (!!):

--- a/include/sigar.h
+++ b/include/sigar.h
@@ -35,7 +35,8 @@ extern "C" {
     defined(__LP64__)      || \
     defined(__64BIT__)     || \
     defined(__powerpc64__) || \
-    defined(__osf__)
+    defined(__osf__)       || \
+    defined(_WIN64)
 #define SIGAR_64BIT
 #endif

ProcCpu#getPercent always returning 0.0

I don't know whether it is a normal behaviour or not but when I try to get CPU usage for a given process (whatever this process is), ProcCpu#getPercent is always returning 0.0.

Below is a piece of code to reproduce the issue:

Sigar sigar = new Sigar();
long[] pids = sigar.getProcList();

for (int i = 0; i < pids.length; i++) {
    long pid = pids[i];
    try {
        System.out.println("PID=" + pid + ", cpuUsage=" + sigar.getProcCpu(pid).getPercent());
    } catch (SigarException e) {
        System.err.println("Could not get information for PID: " + pid);
    }
}

My test was performed on Fedora 21, Linux 3.18.7.

Is someone else experiencing the same issue? is there a way to get CPU usage for a given process?

Sigar build fails on Windows with Visual Studio 14 (2015)

Visual Studio 14 (finally...) supports C99, including snprintf. So the trick of defining snprintf to _snprintf is no longer valid:

--- a/src/os/win32/sigar_os.h
+++ b/src/os/win32/sigar_os.h
@@ -25,7 +25,9 @@

 #ifdef MSVC
 #define WIN32_LEAN_AND_MEAN
+#if _MSC_VER < 1900
 #define snprintf _snprintf
+#endif
 #if _MSC_VER <= 1200
 #define SIGAR_USING_MSC6 /* Visual Studio version 6 */
 #define HAVE_MIB_IPADDRROW_WTYPE 0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.