You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I compile a program using CMake, the target that links directly to clBLAS builds, but anything that then links to that target fails because:
make[2]: *** No rule to make target '/opt/AMDAPPSDK-3.0/lib/x86_64/libOpenCL.so', needed by [target]. Stop
The offending line appears in clBLASTargets-release.cmake when the concrete path to the AMD APP SDK is set. Removing that path allows the compilation to succeed.
We could remove that path or substitute in ${OpenCL_LIBRARY}, but I think the real goal should be to move towards a Modern CMake approach where targets, not variables, are defined as this is best-practice. Something like clBLAS::clBLAS rather than the variables.
Notice: when you download & install AMD 's graphic driver (https://www.amd.com/en/support). You actually have already installed the OpenCL real driver.
When I compile a program using CMake, the target that links directly to clBLAS builds, but anything that then links to that target fails because:
The offending line appears in clBLASTargets-release.cmake when the concrete path to the AMD APP SDK is set. Removing that path allows the compilation to succeed.
We could remove that path or substitute in
${OpenCL_LIBRARY}
, but I think the real goal should be to move towards a Modern CMake approach where targets, not variables, are defined as this is best-practice. Something likeclBLAS::clBLAS
rather than the variables.refer to: https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/#model-dependencies-with-target_link_libraries
The text was updated successfully, but these errors were encountered: