Ok, so I was able to reproduce this problem. Make does require another package, but it is cblas, not blas. With this package and openblas installed I was able to get the error when linking lc0, but not liblc0_lib.so This looks like a problem upstream, and looking at the README it seems we need a git version to use openblas, as suggested by the example with raspberry pi. There is already an openblas git version of this package in the aur using this method.
Search Criteria
Package Details: lc0 0.30.0-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/lc0.git (read-only, click to copy) |
---|---|
Package Base: | lc0 |
Description: | UCI-compliant chess engine designed to play chess via neural network, specifically those of the LeelaChessZero project. |
Upstream URL: | https://lczero.org/ |
Keywords: | chess engine lc0 lczero leela neural-network uci |
Licenses: | GPL3 |
Submitter: | ivanmlerner |
Maintainer: | ivanmlerner |
Last Packager: | ivanmlerner |
Votes: | 5 |
Popularity: | 0.000106 |
First Submitted: | 2019-08-04 07:47 (UTC) |
Last Updated: | 2023-09-10 20:20 (UTC) |
Dependencies (11)
- ocl-icd (opencl-icd-loaderAUR, khronos-ocl-icd-loaderAUR, khronos-ocl-icd-gitAUR)
- openblas (openblas-lapackAUR)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR) (make)
- eigen (eigen-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- meson (meson-gitAUR) (make)
- opencl-headers (opencl-headers-gitAUR) (make)
- gtest (googletest-gitAUR) (check)
- blas-openblas (optional) – Backend for use with CPUs
- cudnn (optional) – Backend for use with nvidia GPUs
- opencl-driver (opencl-nvidia-410xxAUR, amdapp-sdkAUR, opencl-nvidia-440xxAUR, vc4cl-gitAUR, opencl-nvidia-430xxAUR, opencl-legacy-amdgpu-proAUR, intel-compute-runtime-gitAUR, beignetAUR, opencl-nvidia-vulkanAUR, beignet-gitAUR, intel-openclAUR, clvk-gitAUR, opencl-rusticl-mesa-minimal-gitAUR, mesa-gitAUR, mesa-wsl2-gitAUR, opencl-nvidia-535xxAUR, opencl-nvidia-470xxAUR, amdonly-gaming-opencl-clover-mesa-gitAUR, amdonly-gaming-opencl-rusticl-mesa-gitAUR, opencl-nvidia-390xxAUR, opencl-nvidia-teslaAUR, opencl-amdAUR, intel-compute-runtime-binAUR, opencl-nvidia-betaAUR, intel-compute-runtime-legacy-binAUR, intel-compute-runtime-legacyAUR, opencl-nvidia-525xxAUR, opencl-510xx-nvidiaAUR, opencl-nvidia-340xxAUR, opencl-nvidia-550xxAUR, intel-compute-runtime, intel-oneapi-compiler-shared-runtime, opencl-clover-mesa, opencl-nvidia, opencl-rusticl-mesa, rocm-opencl-runtime) (optional) – Backend for use with OpenCL
Required by (0)
Sources (3)
Latest Comments
« First ‹ Previous 1 2 3 4
ivanmlerner commented on 2020-03-25 21:57 (UTC) (edited on 2020-03-25 21:57 (UTC) by ivanmlerner)
tee commented on 2020-03-25 15:21 (UTC) (edited on 2020-03-25 15:22 (UTC) by tee)
Library libtensorflow_cc found: NO Found pkg-config: /usr/bin/pkg-config (1.6.3) Found CMake: /usr/bin/cmake (3.17.0) Appending CFLAGS from environment: '-march=native -mtune=native -O2 -pipe -fno-plt -flto' Appending LDFLAGS from environment: ['-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'] Appending CPPFLAGS from environment: '-D_FORTIFY_SOURCE=2' Appending LDFLAGS from environment: ['-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'] Run-time dependency accelerate found: NO (tried pkgconfig and cmake) Library mkl_rt found: NO Library mklml found: NO Library dnnl found: NO Library openblas.dll found: NO Library openblas found: YES Has header "openblas_config.h" : YES Program ispc found: YES (/usr/bin/ispc) Library OpenCL found: YES Run-time dependency opencl found: YES 2.2 Library cublas found: NO Library cudnn found: NO Library cudart found: NO Program nvcc found: NO Program /usr/local/cuda/bin/nvcc found: NO Program /opt/cuda/bin/nvcc found: NO Run-time dependency zlib found: YES 1.2.11 Run-time dependency GTest found: YES 1.8.1 Build targets in project: 8 Found ninja-1.10.0 at /usr/bin/ninja [120/128] Linking target lc0. FAILED: lc0 c++ -o lc0 'lc0@exe/winograd_transform.o' 'lc0@exe/src_main.cc.o' 'lc0@exe/src_utils_protomessage.cc.o' 'lc0@exe/src_engine.cc.o' 'lc0@exe/src_version.cc.o' 'lc0@exe/src_benchmark_backendbench.cc.o' 'lc0@exe/src_benchmark_benchmark.cc.o' 'lc0@exe/src_chess_bitboard.cc.o' 'lc0@exe/src_chess_board.cc.o' 'lc0@exe/src_chess_position.cc.o' 'lc0@exe/src_chess_uciloop.cc.o' 'lc0@exe/src_mcts_node.cc.o' 'lc0@exe/src_mcts_params.cc.o' 'lc0@exe/src_mcts_search.cc.o' 'lc0@exe/src_mcts_stoppers_factory.cc.o' 'lc0@exe/src_mcts_stoppers_stoppers.cc.o' 'lc0@exe/src_mcts_stoppers_timemgr.cc.o' 'lc0@exe/src_neural_cache.cc.o' 'lc0@exe/src_neural_encoder.cc.o' 'lc0@exe/src_neural_factory.cc.o' 'lc0@exe/src_neural_loader.cc.o' 'lc0@exe/src_neural_network_check.cc.o' 'lc0@exe/src_neural_network_demux.cc.o' 'lc0@exe/src_neural_network_legacy.cc.o' 'lc0@exe/src_neural_network_mux.cc.o' 'lc0@exe/src_neural_network_random.cc.o' 'lc0@exe/src_neural_network_rr.cc.o' 'lc0@exe/src_neural_writer.cc.o' 'lc0@exe/src_selfplay_game.cc.o' 'lc0@exe/src_selfplay_loop.cc.o' 'lc0@exe/src_selfplay_tournament.cc.o' 'lc0@exe/src_syzygy_syzygy.cc.o' 'lc0@exe/src_utils_commandline.cc.o' 'lc0@exe/src_utils_configfile.cc.o' 'lc0@exe/src_utils_esc_codes.cc.o' 'lc0@exe/src_utils_histogram.cc.o' 'lc0@exe/src_utils_logging.cc.o' 'lc0@exe/src_utils_optionsdict.cc.o' 'lc0@exe/src_utils_optionsparser.cc.o' 'lc0@exe/src_utils_random.cc.o' 'lc0@exe/src_utils_string.cc.o' 'lc0@exe/src_utils_transpose.cc.o' 'lc0@exe/src_utils_weights_adapter.cc.o' 'lc0@exe/src_utils_filesystem.posix.cc.o' 'lc0@exe/src_neural_blas_convolution1.cc.o' 'lc0@exe/src_neural_blas_fully_connected_layer.cc.o' 'lc0@exe/src_neural_blas_se_unit.cc.o' 'lc0@exe/src_neural_blas_network_blas.cc.o' 'lc0@exe/src_neural_blas_winograd_convolution3.cc.o' 'lc0@exe/src_neural_opencl_network_opencl.cc.o' 'lc0@exe/src_neural_opencl_OpenCL.cc.o' 'lc0@exe/src_neural_opencl_OpenCLTuner.cc.o' 'lc0@exe/src_neural_opencl_OpenCLBuffers.cc.o' 'lc0@exe/src_neural_shared_activation.cc.o' 'lc0@exe/src_neural_shared_winograd_filter.cc.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -march=native -mtune=native -O2 -pipe -fno-plt -flto -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -pthread -Wl,--start-group /usr/lib/libopenblas.so /usr/lib/libOpenCL.so /usr/lib/libz.so -Wl,--end-group /usr/bin/ld: /tmp/lc0.wSG0qd.ltrans3.ltrans.o: in function `lczero::WinogradConvolution3::Forward(unsigned long, unsigned long, unsigned long, float const*, float const*, float*)': <artificial>:(.text+0x6b8): undefined reference to `cblas_sgemm' /usr/bin/ld: /tmp/lc0.wSG0qd.ltrans3.ltrans.o: in function `lczero::Convolution1::Forward(unsigned long, unsigned long, unsigned long, float const*, float const*, float*)': <artificial>:(.text+0x787): undefined reference to `cblas_sgemm' /usr/bin/ld: /tmp/lc0.wSG0qd.ltrans3.ltrans.o: in function `lczero::FullyConnectedLayer::Forward1D(unsigned long, unsigned long, unsigned long, float const*, float const*, float const*, bool, float*)': <artificial>:(.text+0x9b1): undefined reference to `cblas_sgemm' /usr/bin/ld: <artificial>:(.text+0xa8f): undefined reference to `cblas_sgemv' /usr/bin/ld: /tmp/lc0.wSG0qd.ltrans3.ltrans.o: in function `lczero::(anonymous namespace)::BlasComputation::ComputeBlocking()': <artificial>:(.text+0x2c98): undefined reference to `cblas_sdot' collect2: error: ld returned 1 exit status [121/128] Linking target liblc0_lib.so. FAILED: liblc0_lib.so c++ -o liblc0_lib.so 'lc0_lib@sha/winograd_transform.o' 'lc0_lib@sha/src_utils_protomessage.cc.o' 'lc0_lib@sha/src_engine.cc.o' 'lc0_lib@sha/src_version.cc.o' 'lc0_lib@sha/src_benchmark_backendbench.cc.o' 'lc0_lib@sha/src_benchmark_benchmark.cc.o' 'lc0_lib@sha/src_chess_bitboard.cc.o' 'lc0_lib@sha/src_chess_board.cc.o' 'lc0_lib@sha/src_chess_position.cc.o' 'lc0_lib@sha/src_chess_uciloop.cc.o' 'lc0_lib@sha/src_mcts_node.cc.o' 'lc0_lib@sha/src_mcts_params.cc.o' 'lc0_lib@sha/src_mcts_search.cc.o' 'lc0_lib@sha/src_mcts_stoppers_factory.cc.o' 'lc0_lib@sha/src_mcts_stoppers_stoppers.cc.o' 'lc0_lib@sha/src_mcts_stoppers_timemgr.cc.o' 'lc0_lib@sha/src_neural_cache.cc.o' 'lc0_lib@sha/src_neural_encoder.cc.o' 'lc0_lib@sha/src_neural_factory.cc.o' 'lc0_lib@sha/src_neural_loader.cc.o' 'lc0_lib@sha/src_neural_network_check.cc.o' 'lc0_lib@sha/src_neural_network_demux.cc.o' 'lc0_lib@sha/src_neural_network_legacy.cc.o' 'lc0_lib@sha/src_neural_network_mux.cc.o' 'lc0_lib@sha/src_neural_network_random.cc.o' 'lc0_lib@sha/src_neural_network_rr.cc.o' 'lc0_lib@sha/src_neural_writer.cc.o' 'lc0_lib@sha/src_selfplay_game.cc.o' 'lc0_lib@sha/src_selfplay_loop.cc.o' 'lc0_lib@sha/src_selfplay_tournament.cc.o' 'lc0_lib@sha/src_syzygy_syzygy.cc.o' 'lc0_lib@sha/src_utils_commandline.cc.o' 'lc0_lib@sha/src_utils_configfile.cc.o' 'lc0_lib@sha/src_utils_esc_codes.cc.o' 'lc0_lib@sha/src_utils_histogram.cc.o' 'lc0_lib@sha/src_utils_logging.cc.o' 'lc0_lib@sha/src_utils_optionsdict.cc.o' 'lc0_lib@sha/src_utils_optionsparser.cc.o' 'lc0_lib@sha/src_utils_random.cc.o' 'lc0_lib@sha/src_utils_string.cc.o' 'lc0_lib@sha/src_utils_transpose.cc.o' 'lc0_lib@sha/src_utils_weights_adapter.cc.o' 'lc0_lib@sha/src_utils_filesystem.posix.cc.o' 'lc0_lib@sha/src_neural_blas_convolution1.cc.o' 'lc0_lib@sha/src_neural_blas_fully_connected_layer.cc.o' 'lc0_lib@sha/src_neural_blas_se_unit.cc.o' 'lc0_lib@sha/src_neural_blas_network_blas.cc.o' 'lc0_lib@sha/src_neural_blas_winograd_convolution3.cc.o' 'lc0_lib@sha/src_neural_opencl_network_opencl.cc.o' 'lc0_lib@sha/src_neural_opencl_OpenCL.cc.o' 'lc0_lib@sha/src_neural_opencl_OpenCLTuner.cc.o' 'lc0_lib@sha/src_neural_opencl_OpenCLBuffers.cc.o' 'lc0_lib@sha/src_neural_shared_activation.cc.o' 'lc0_lib@sha/src_neural_shared_winograd_filter.cc.o' -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,liblc0_lib.so -march=native -mtune=native -O2 -pipe -fno-plt -flto -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -pthread /usr/lib/libopenblas.so /usr/lib/libOpenCL.so /usr/lib/libz.so -Wl,--end-group /usr/bin/ld: /tmp/liblc0_lib.so.KhRIPQ.ltrans2.ltrans.o: in function `lczero::WinogradConvolution3::Sgemm(unsigned long, float const*, unsigned long, unsigned long)': <artificial>:(.text+0x3d7d): undefined reference to `cblas_sgemm' /usr/bin/ld: /tmp/liblc0_lib.so.KhRIPQ.ltrans3.ltrans.o: in function `lczero::FullyConnectedLayer::Forward0D(unsigned long, float const*, float const*)': <artificial>:(.text+0x9f0): undefined reference to `cblas_sdot' /usr/bin/ld: /tmp/liblc0_lib.so.KhRIPQ.ltrans3.ltrans.o: in function `lczero::FullyConnectedLayer::Forward1D(unsigned long, unsigned long, unsigned long, float const*, float const*, float const*, bool, float*)': <artificial>:(.text+0xa51): undefined reference to `cblas_sgemm' /usr/bin/ld: <artificial>:(.text+0xb2f): undefined reference to `cblas_sgemv' /usr/bin/ld: /tmp/liblc0_lib.so.KhRIPQ.ltrans3.ltrans.o: in function `lczero::Convolution1::Forward(unsigned long, unsigned long, unsigned long, float const*, float const*, float*)': <artificial>:(.text+0xeb7): undefined reference to `cblas_sgemm' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting...
tee commented on 2020-03-02 14:33 (UTC)
Also make depends on blas not openblas
tee commented on 2019-12-09 08:33 (UTC)
build depends on opencl-headers
ivanmlerner commented on 2019-08-04 18:25 (UTC) (edited on 2023-09-10 20:23 (UTC) by ivanmlerner)
At least one backend is needed. The most common are listed as optional dependencies.
Pinned Comments
ivanmlerner commented on 2019-08-04 18:25 (UTC) (edited on 2023-09-10 20:23 (UTC) by ivanmlerner)
At least one backend is needed. The most common are listed as optional dependencies.