InstallRequiredSystemLibraries: Intel oneAPI compilers on Linux
In the original description of !7057 (merged), @attila.krasznahorkay reported the following. I'm moving it to an issue.
When using
cmake_minimum_required( VERSION 3.10 )
project( IntelRuntimeInstallTest LANGUAGES C CXX VERSION 0.0.1 )
include( InstallRequiredSystemLibraries )
I would see:
[bash][atspot01]:test-build > source /atlas/software/intel/oneapi-2022.1.1/setvars.sh
:: initializing oneAPI environment ...
bash: BASH_VERSION = 4.4.20(1)-release
args: Using "$@" for setvars.sh arguments:
:: advisor -- latest
:: ccl -- latest
:: compiler -- latest
:: dal -- latest
:: debugger -- latest
:: dev-utilities -- latest
:: dnnl -- latest
:: dpcpp-ct -- latest
:: dpl -- latest
:: intelpython -- latest
:: ipp -- latest
:: ippcp -- latest
:: ipp -- latest
:: mkl -- latest
:: mpi -- latest
:: tbb -- latest
:: vpl -- latest
:: vtune -- latest
:: oneAPI environment initialized ::
[bash][atspot01]:test-build > export CC=icx
[bash][atspot01]:test-build > export CXX=icpx
[bash][atspot01]:test-build > /atlas/software/cmake/3.22.2/x86_64-ubuntu1804-gcc7-opt/bin/cmake ../source/
-- The C compiler identification is IntelLLVM 2022.0.0
-- The CXX compiler identification is IntelLLVM 2022.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /atlas/software/intel/oneapi-2022.1.1/compiler/2022.0.1/linux/bin/icx - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /atlas/software/intel/oneapi-2022.1.1/compiler/2022.0.1/linux/bin/icpx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at /atlas/software/cmake/3.22.2/x86_64-ubuntu1804-gcc7-opt/share/cmake-3.22/Modules/InstallRequiredSystemLibraries.cmake:732 (message):
system runtime library file does not exist: 'NOT-FOUND/libchkp.so'
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
CMake Warning at /atlas/software/cmake/3.22.2/x86_64-ubuntu1804-gcc7-opt/share/cmake-3.22/Modules/InstallRequiredSystemLibraries.cmake:732 (message):
system runtime library file does not exist: 'NOT-FOUND/libcilkrts.so'
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
CMake Warning at /atlas/software/cmake/3.22.2/x86_64-ubuntu1804-gcc7-opt/share/cmake-3.22/Modules/InstallRequiredSystemLibraries.cmake:732 (message):
system runtime library file does not exist: 'NOT-FOUND/libcilkrts.so.5'
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
...
With the change proposed in !7057 (merged), the warnings become:
[bash][atspot01]:test-build > ../install/bin/cmake ../source/
-- The C compiler identification is IntelLLVM 2022.0.0
-- The CXX compiler identification is IntelLLVM 2022.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /atlas/software/intel/oneapi-2022.1.1/compiler/2022.0.1/linux/bin/icx - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /atlas/software/intel/oneapi-2022.1.1/compiler/2022.0.1/linux/bin/icpx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at /home/krasznaa/ATLAS/projects/cmake-psxe/install/share/cmake-3.23/Modules/InstallRequiredSystemLibraries.cmake:733 (message):
system runtime library file does not exist:
'/atlas/software/intel/oneapi-2022.1.1/compiler/2022.0.1/linux/bin/../compiler/lib/intel64_lin/libcilkrts.so'
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
CMake Warning at /home/krasznaa/ATLAS/projects/cmake-psxe/install/share/cmake-3.23/Modules/InstallRequiredSystemLibraries.cmake:733 (message):
system runtime library file does not exist:
'/atlas/software/intel/oneapi-2022.1.1/compiler/2022.0.1/linux/bin/../compiler/lib/intel64_lin/libcilkrts.so.5'
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
...
The list of libraries will also need to be revised in a further step.
Note that the previous path is correct for PSXE 2019. For instance:
[bash][atspot01]:build > source /cvmfs/projects.cern.ch/intelsw/psxe/linux/19-all-setup.sh
---------- PLEASE NOTICE! ----------
Intel Parallel Studio will be discontinued in the near future
We recommend to switch to Intel oneAPI
---------- NOTICE: PS 2019 installed ------------
Setting up Parallel Studio 2019 environment for 'intel64'. Accepted arguments: intel64, ia32
Intel(R) Parallel Studio XE 2019 Update 4 for Linux*
Copyright (C) 2009-2019 Intel Corporation. All rights reserved.
If you wish to use Intel Amplifier XE with hardware counters, please first compile and run
the sep drivers (as root):
https://software.intel.com/en-us/sep_driver
[bash][atspot01]:build > export CC=icc
[bash][atspot01]:build > export CXX=icpc
[bash][atspot01]:build > /atlas/software/cmake/3.22.2/x86_64-ubuntu1804-gcc7-opt/bin/cmake ../source/
-- The C compiler identification is Intel 19.0.5.20190815
-- The CXX compiler identification is Intel 19.0.5.20190815
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /cvmfs/projects.cern.ch/intelsw/psxe/linux/x86_64/2019/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /cvmfs/projects.cern.ch/intelsw/psxe/linux/x86_64/2019/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at /atlas/software/cmake/3.22.2/x86_64-ubuntu1804-gcc7-opt/share/cmake-3.22/Modules/InstallRequiredSystemLibraries.cmake:732 (message):
system runtime library file does not exist:
'/cvmfs/projects.cern.ch/intelsw/psxe/linux/x86_64/2019/compilers_and_libraries_2019.5.281/linux/bin/intel64/../../compiler/lib/intel64_lin/libgfxoffload.so'
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
CMake Warning at /atlas/software/cmake/3.22.2/x86_64-ubuntu1804-gcc7-opt/share/cmake-3.22/Modules/InstallRequiredSystemLibraries.cmake:742 (message):
system runtime library file does not exist:
'/cvmfs/projects.cern.ch/intelsw/psxe/linux/x86_64/2019/compilers_and_libraries_2019.5.281/linux/bin/intel64/../../compiler/lib/intel64_lin/irml'
Call Stack (most recent call first):
CMakeLists.txt:4 (include)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/krasznaa/ATLAS/projects/cmake-psxe/build
[bash][atspot01]:build >