oneapi-src / oneMKL

oneAPI Math Kernel Library (oneMKL) Interfaces
Apache License 2.0
620 stars 158 forks source link

Conan build instructions aren't working #163

Open alexbatashev opened 2 years ago

alexbatashev commented 2 years ago

Summary

Building with conan following the instructions in README.md leads to an error:

conan install .. --build missing --profile inteldpcpp_lnx -o build_shared_libs=False
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=clang
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
os_build=Linux
[options]
build_shared_libs=False
[build_requires]
*: cmake/[>=3.15], ninja/1.10.0
[env]
CC=/home/alex/Projects/llvm/build/bin/clang
CFLAGS=-fdiagnostics-color -fdiagnostics-show-template-tree -march=native
CONAN_CMAKE_GENERATOR=Ninja
CONAN_SYSREQUIRES_MODE=enabled
CONAN_SYSREQUIRES_SUDO=True
CPATH=[/home/alex/Projects/llvm/build/include]
CXX=/home/alex/Projects/llvm/build/bin/dpcpp
CXXFLAGS=-fdiagnostics-color -fdiagnostics-show-template-tree -march=native
LDFLAGS=-Wl,-rpath=/home/alex/Projects/llvm/build/lib/
LD_LIBRARY_PATH=[/home/alex/Projects/llvm/build/lib:/home/alex/Projects/llvm/build/lib/x64:/home/alex/Projects/llvm/build/compiler/lib/intel64:/home/alex/Projects/llvm/build/../../../tbb/latest/lib/intel64/gcc4.8/]
LIBRARY_PATH=/home/alex/Projects/llvm/build/../../../tbb/latest/lib/intel64/gcc4.8/
lapack/3.7.1@conan/stable: Not found in local cache, looking in remotes...
lapack/3.7.1@conan/stable: Trying with 'conan-center'...
ERROR: Failed requirement 'lapack/3.7.1@conan/stable' from 'conanfile.py (oneMKL/0.1.0-beta)'
ERROR: Permission denied for user: 'None'. [Remote: conan-center]

URLs

https://github.com/oneapi-src/oneMKL#example

Additional details

conan --version
Conan version 1.45.0
vmalia commented 2 years ago

Hello @alexbatashev We are aware of this issue. It happens because:

  1. Conan changed their remote repository hosting site. Fix mentioned in #117
  2. Reference-LAPACK Conan package that was maintained by a third-party, is now end-of-lifed, so whenever we try to use the Conan build process, we get the error like you mentioned in the logs.

@hgunalan Possible solutions from best to worst in my opinion:

  1. If Intel can host a custom Conan pkg remote repository, we can upload all required packages for this project to that repo and also maintain them whenever required. We know that VTune already supports Conan packages. This repo can be public or private - up to Intel to decide.
  2. Replace Conan with another package manager that has more vendor-side support instead of community-driven, but this will require us to find supported distribution channels for all currently supported backends and dependencies before landing on a final decision. Also, future integrations for other backends will be questionable, because they may or may not provide Conan packages.
  3. Remove Conan and only support CMake. With this option, we will lose the ability to automate the installation of dependencies. This will affect customers and Continuous Integration.
vmalia commented 1 year ago

@alexbatashev We have decided to drop Conan package manager support. Please refer to https://github.com/oneapi-src/oneMKL/discussions/267 for more details.

The cleanup will be performed soon, and the build instructions will be updated as well.