I use sigar 1.6.4 to get file system information on aix 5.3, when I compile my test project I get the following error:
"
ld: 0711-317 ERROR: Undefined symbol: CuDv_CLASS
ld: 0711-317 ERROR: Undefined symbol: .getattr
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
make: *** [edit] Error 1"
Source code:
int main(int argc, char *argv[])
{
sigar_t *sigar;
sigar_open(&sigar);
sigar_file_system_list_t fslist;
if (SIGAR_OK == sigar_file_system_list_get(sigar, &fslist))
{
if (fslist.number > 0)
{
int i;
int ret;
for(i=0;i<fslist.number;i++)
{
sigar_file_system_t fs = fslist.data[i];
sigar_file_system_usage_t fsusage;
sigar_disk_usage_t diskusage;
// printf("dir name : %s.\n", fs.dir_name);
// printf("dev name : %s.\n", fs.dev_name);
if (SIGAR_OK != (ret = sigar_file_system_ping(sigar, &fs))) {
continue;
}
if (SIGAR_OK == (ret = sigar_file_system_usage_get(sigar, fs.dir_name, &fsusage))) {
// printf("total : %s.\n", fsusage.total);
// printf("free : %s.\n", fsusage.free);
// printf("used : %s.\n", fsusage.used);
// printf("avail : %s.\n", fsusage.avail);
} else {
// printf("sigar_file_system_usage_get(%s) ret = %d (%s)\n",fs.dir_name,ret, sigar_strerror(sigar, ret));
}
if (SIGAR_OK == (ret = sigar_disk_usage_get(sigar, fs.dev_name, &diskusage))) {
// printf("diskusage.reads : %s.\n", diskusage.reads);
// printf("diskusage.writes : %s.\n", diskusage.writes);
// printf("diskusage.rtime : %s.\n", diskusage.rtime);
} else {
// printf("sigar_disk_usage_get(%s) ret = %d (%s)\n",fs.dev_name,ret, sigar_strerror(sigar, ret));
}
}
}
}
sigar_file_system_list_destroy(sigar,&fslist);
sigar_close(sigar);
return 0;
}