VMware Cloud Community
Gonzalez2011
Contributor
Contributor

Sigar compile failed on aix

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;

}

0 Kudos
0 Replies