1 Reply Latest reply on Sep 9, 2015 2:45 AM by rajeebbarman

    AMDTPowerProfileAPI on Linux has unknown external dependencies

    kenobrien

      I have created an application using the AMDTPowerProfileAPI api in AMD_CodeXL_Linux_x86_64_1.8.9654/SDK/AMDTPowerProfile/bin/x86_64/

       

      When I attempt to link with libAMDTPowerProfileAPI.so, I get linker errors:

       

      ./lib/libAMDTPowerProfileAPI.so: undefined reference to `osCriticalSectionLocker::osCriticalSectionLocker(osCriticalSection&)'

      ./lib/libAMDTPowerProfileAPI.so: undefined reference to `osCriticalSectionLocker::leaveCriticalSection()'

      ./lib/libAMDTPowerProfileAPI.so: undefined reference to `osCriticalSectionLocker::~osCriticalSectionLocker()'

      ./lib/libAMDTPowerProfileAPI.so: undefined reference to `osCriticalSection::osCriticalSection()'

      ./lib/libAMDTPowerProfileAPI.so: undefined reference to `osCriticalSection::~osCriticalSection()'

      collect2: error: ld returned 1 exit status

       

      I would call this a bug. Please may I have the correct linker flags to use this library. It is not given in the documentation.

       

      Thanks.

        • Re: AMDTPowerProfileAPI on Linux has unknown external dependencies
          rajeebbarman

          Hi,

           

          Since AMDTPowerProfileAPI.so has depenedencies on
          AMDTOSWrappers and AMDTBaseTools shared libraries we are getting this errors.
          These shared library is located in AMD_CodeXL_Linux_x86_64_1.8.9654 directory.

           

          Assuming test program is located in
          AMD_CodeXL_Linux_x86_64_1.8.XX/SDK/AMDTPowerProfile/bin/x86_64 directory as
          test.cpp and we are also executing from the same directory, we can perform the
          following steps to execute the test code.

           

          1. Set the LD_LIBRARY_PATH.

                        
          export LD_LIBRARY_PATH=export LD_LIBRARY_PATH=../../../../

          1. Set the linker flags

                        
          g++ test.cpp -I../../inc/ -L. -lAMDTPowerProfileAPI -L../../../../
          -lAMDTOSWrappers -lAMDTBaseTools -o test

          1. Execute

                        
          ./test

                        

          Regards

          Aalok