Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for arm64 #156

Closed
azimgivron opened this issue Nov 19, 2024 · 4 comments
Closed

Support for arm64 #156

azimgivron opened this issue Nov 19, 2024 · 4 comments

Comments

@azimgivron
Copy link

azimgivron commented Nov 19, 2024

Hello,

Currently smurff only support amd64 arch, I would like to extend it to arm64. I have started to make a Dockerfile.
I can install all dependencies by upgrading high-five to 2.3 but the compilation of smurff failed.

Here is the Dockerfile:

FROM --platform=linux/arm64 debian:bookworm

# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive
ENV PATH="/home/$USERNAME/venv/bin:$PATH"

# Update and install necessary packages in one step
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    python3 python3-pip zsh git wget unzip sudo cmake g++ \
    libblas-dev liblapack-dev liblapacke-dev libopenmpi-dev openmpi-bin \
    libeigen3-dev libboost-all-dev ca-certificates libhdf5-dev gdb vim \
    python3-pybind11 python3-setuptools python3-h5py python3-parameterized \
    build-essential && \
    apt-get clean && rm -rf /var/lib/apt/lists/*

# Clone, build, and install HighFive and Smurff in one step
RUN mkdir -p /tmp/build && cd /tmp/build && \
    git clone --branch v2.3 https://github.com/BlueBrain/HighFive.git && \
    cd HighFive && mkdir build && cd build && \
    cmake .. -DHIGHFIVE_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr/local && \
    make install && \
    cd /tmp/build && \
    git clone --branch v0.17.0 https://github.com/ExaScience/smurff.git && \
    cd smurff && \
    python3 setup.py install --install-binaries && \
    rm -rf /tmp/build

# Default shell and command
SHELL ["/bin/bash", "-c"]
CMD ["bash"]

The error occurs at the command:
python3 setup.py install --install-binaries

the trace is:

Initializing cmake ...
74.47 Fetching os and compiler ...
74.47 -- OS: Unix system
74.47 -- Compiler is a gcc variant
74.47 Initializing versioning...
74.48 -- GIT commit count 3811
74.49 -- GIT commit SHA e7b82d56be937ec4088133de9848dad2df0de964
74.49 -- GIT branch tags/v0.17.0^0
74.49 -- GIT describe v0.17.0
74.49 -- Cleaned version: v0.17.0
74.49 Analyzing build type...
74.49 Checking build dependencies...
74.49 -- Release build.
74.49 -- Initializing logging options...
74.49 -- Using 'double' as main computing type
74.49 Dependency check for eigen...
74.49 -- EIGEN3:/usr/include/eigen3
74.49 Dependency check for HighFive...
74.49 -- HIGHFIVE 2.3: (Re)Detecting Highfive dependencies (HIGHFIVE_USE_INSTALL_DEPS=NO)
74.60 -- Found HDF5: /usr/lib/aarch64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/aarch64-linux-gnu/libcrypto.so;/usr/lib/aarch64-linux-gnu/libcurl.so;/usr/lib/aarch64-linux-gnu/libpthread.a;/usr/lib/aarch64-linux-gnu/libsz.so;/usr/lib/aarch64-linux-gnu/libz.so;/usr/lib/aarch64-linux-gnu/libdl.a;/usr/lib/aarch64-linux-gnu/libm.so (found version "1.10.8")  
74.60 Dependency check for boost...
74.61 -- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0") found components: system program_options filesystem 
74.61 -- Found Boost_VERSION: 1.74.0
74.61 -- Found Boost_INCLUDE_DIRS: /usr/include
74.61 -- Found Boost_LIBRARY_DIRS: /usr/lib/aarch64-linux-gnu
74.61 -- Found Boost_LIBRARIES: Boost::system;Boost::program_options;Boost::filesystem
74.61 Dependency check for OpenMP
74.75 -- Found OpenMP_C: -fopenmp (found version "4.5") 
74.80 -- Found OpenMP_CXX: -fopenmp (found version "4.5") 
74.80 -- Found OpenMP: TRUE (found version "4.5")  
74.80 -- OpenMP found
74.80 -- OpenMP_CXX_LIB_NAMES gomp;pthread
74.80 -- OpenMP_CXX_LIBRARY 
74.80 -- OpenMP_CXX_LIBRARIES /usr/lib/gcc/aarch64-linux-gnu/12/libgomp.so;/usr/lib/aarch64-linux-gnu/libpthread.a
74.80 -- OpenMP_CXX_INCLUDE_DIRS 
74.80 -- OpenMP_CXX_FLAGS -fopenmp
74.80 Dependency check for lapack...
74.80 -- Looking for sgemm_
74.84 -- Looking for sgemm_ - not found
74.84 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
74.88 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
74.88 -- Found Threads: TRUE  
74.89 -- Looking for sgemm_
74.93 -- Looking for sgemm_ - found
74.93 -- Found BLAS: /usr/lib/aarch64-linux-gnu/libblas.so  
74.93 -- Looking for cheev_
74.97 -- Looking for cheev_ - not found
74.98 -- Looking for cheev_
75.02 -- Looking for cheev_ - found
75.02 -- Found LAPACK: /usr/lib/aarch64-linux-gnu/liblapack.so;/usr/lib/aarch64-linux-gnu/libblas.so  
75.02 -- A cache variable, namely LAPACKE_DIR, has been set to specify the install directory of LAPACKE
75.02 -- Looking for LAPACKE_dgeqrf
75.06 -- Looking for LAPACKE_dgeqrf - not found
75.06 -- Looking for lapacke : test with lapack fails
75.06 -- Looking for LAPACKE_dgeqrf
75.11 -- Looking for LAPACKE_dgeqrf - found
75.11 -- Found LAPACKE: /usr/lib/aarch64-linux-gnu/liblapacke.so  
75.11 -- LAPACK:/usr/lib/aarch64-linux-gnu/liblapack.so/usr/lib/aarch64-linux-gnu/libblas.so
75.11 -- Algebra lib name:  LAPACK
75.11 -- Algebra libs: /usr/lib/aarch64-linux-gnu/liblapacke.so;/usr/lib/aarch64-linux-gnu/liblapack.so;/usr/lib/aarch64-linux-gnu/libblas.so
75.11 -- Creating folder structure...
75.12 -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.11.2", minimum required is "3.6") 
75.13 -- Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.11.so
75.13 -- Performing Test HAS_FLTO
75.22 -- Performing Test HAS_FLTO - Success
75.22 -- Found pybind11: /usr/include (found version "2.10.3")
75.22 -- Configuring done
75.24 -- Generating done
75.24 -- Build files have been written to: /tmp/build/smurff/build/temp.linux-aarch64-cpython-311
75.27 [  3%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Model.cpp.o
75.27 [  3%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/StatusItem.cpp.o
75.27 [  4%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/HDF5Group.cpp.o
75.27 [  6%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/Distribution.cpp.o
75.27 [  7%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/result.cpp.o
75.27 [  9%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/MatrixUtils.cpp.o
75.28 [ 10%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/InvNormCdf.cpp.o
75.28 [ 12%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/StateFile.cpp.o
75.28 [ 13%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/SaveState.cpp.o
75.29 [ 15%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/StringUtils.cpp.o
75.30 [ 16%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/TruncNorm.cpp.o
75.30 [ 18%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/counters.cpp.o
75.30 [ 19%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/omp_util.cpp.o
75.30 [ 21%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Configs/DataConfig.cpp.o
75.30 [ 22%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Utils/Tensor.cpp.o
75.31 [ 24%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Configs/NoiseConfig.cpp.o
75.31 [ 25%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Configs/Config.cpp.o
75.32 [ 27%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Configs/SideInfoConfig.cpp.o
75.33 [ 28%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/FixedGaussianNoise.cpp.o
75.34 [ 30%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/AdaptiveGaussianNoise.cpp.o
75.35 [ 31%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/GaussianNoise.cpp.o
75.36 [ 33%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/ProbitNoise.cpp.o
75.38 [ 34%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/INoiseModel.cpp.o
75.38 [ 36%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/NoiseFactory.cpp.o
75.39 [ 37%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/SampledGaussianNoise.cpp.o
75.40 [ 39%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Noises/UnusedNoise.cpp.o
75.41 [ 40%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Priors/MacauOnePrior.cpp.o
75.41 [ 42%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Priors/ILatentPrior.cpp.o
75.42 [ 43%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Priors/SpikeAndSlabPrior.cpp.o
75.42 [ 45%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Priors/NormalPrior.cpp.o
75.43 [ 46%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Priors/MacauPrior.cpp.o
75.45 [ 48%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Priors/PriorFactory.cpp.o
75.46 [ 50%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Priors/NormalOnePrior.cpp.o
75.49 [ 51%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataMatrices/DenseMatrixData.cpp.o
75.51 [ 53%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataMatrices/MatrixData.cpp.o
75.51 [ 54%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataMatrices/Data.cpp.o
75.51 [ 56%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataMatrices/MatricesData.cpp.o
75.53 [ 57%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataMatrices/SparseMatrixData.cpp.o
75.53 [ 59%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataMatrices/ScarceMatrixData.cpp.o
75.59 [ 60%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataTensors/TensorData.cpp.o
75.59 [ 62%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/DataTensors/SparseMode.cpp.o
75.61 [ 63%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Sessions/ISession.cpp.o
75.61 [ 65%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Sessions/CmdSession.cpp.o
75.62 [ 66%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Sessions/PythonSession.cpp.o
75.64 [ 68%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Sessions/TrainSession.cpp.o
75.68 [ 69%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/SideInfo/SparseSideInfo.cpp.o
75.69 [ 71%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/SideInfo/DenseSideInfo.cpp.o
75.72 [ 72%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/SideInfo/linop.cpp.o
75.72 [ 74%] Building CXX object cpp/SmurffCpp/CMakeFiles/smurff-cpp.dir/Predict/PredictSession.cpp.o
142.4 [ 75%] Linking CXX static library libsmurff-cpp.a
142.5 [ 75%] Built target smurff-cpp
142.5 [ 78%] Building CXX object cpp/Smurff/CMakeFiles/smurff.dir/smurff.cpp.o
142.5 [ 80%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsPredict.cpp.o
142.5 [ 80%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsLinop.cpp.o
142.5 [ 81%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsInputData.cpp.o
142.5 [ 83%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsPVec.cpp.o
142.5 [ 84%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsSparseSideInfo.cpp.o
142.5 [ 86%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsDistribution.cpp.o
142.5 [ 87%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsRandom.cpp.o
142.5 [ 89%] Building CXX object python/CMakeFiles/wrapper.dir/smurff/wrapper.cpp.o
142.5 [ 90%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsMatrixVsTensor.cpp.o
142.5 [ 92%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/tests.cpp.o
142.5 [ 93%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsTensorData.cpp.o
142.5 [ 95%] Building CXX object cpp/Tests/CMakeFiles/tests.dir/TestsSmurff.cpp.o
144.8 In file included from /usr/include/signal.h:328,
144.8                  from /tmp/build/smurff/cpp/Tests/catch.hpp:7864,
144.8                  from /tmp/build/smurff/cpp/Tests/tests.cpp:2:
144.8 /tmp/build/smurff/cpp/Tests/catch.hpp:10717:58: error: call to non-‘constexpr’ function ‘long int sysconf(int)’
144.8 10717 |     static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
144.8       |                                                          ^~~~~~~~~~~
144.8 In file included from /usr/include/aarch64-linux-gnu/bits/sigstksz.h:24:
144.8 /usr/include/unistd.h:640:17: note: ‘long int sysconf(int)’ declared here
144.8   640 | extern long int sysconf (int __name) __THROW;
144.8       |                 ^~~~~~~
144.8 /tmp/build/smurff/cpp/Tests/catch.hpp:10776:45: error: size of array ‘altStackMem’ is not an integral constant-expression
144.8 10776 |     char FatalConditionHandler::altStackMem[sigStackSize] = {};
144.8       |                                             ^~~~~~~~~~~~
149.1 [ 96%] Linking CXX executable ../../bin/smurff
149.6 [ 96%] Built target smurff
152.4 gmake[2]: *** [cpp/Tests/CMakeFiles/tests.dir/build.make:216: cpp/Tests/CMakeFiles/tests.dir/tests.cpp.o] Error 1
152.4 gmake[2]: *** Waiting for unfinished jobs....
154.0 [ 98%] Linking CXX shared module /tmp/build/smurff/build/lib.linux-aarch64-cpython-311/smurff/wrapper.cpython-311-aarch64-linux-gnu.so
154.2 gmake[1]: *** [CMakeFiles/Makefile2:204: cpp/Tests/CMakeFiles/tests.dir/all] Error 2
154.2 gmake[1]: *** Waiting for unfinished jobs....
154.3 lto-wrapper: warning: using serial compilation of 5 LTRANS jobs
154.3 lto-wrapper: note: see the ‘-flto’ option documentation for more information
157.7 [ 98%] Built target wrapper
157.7 gmake: *** [Makefile:146: all] Error 2
157.7 Traceback (most recent call last):
157.7   File "/tmp/build/smurff/setup.py", line 105, in <module>
157.7     setup(
157.7   File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 108, in setup
157.7     return distutils.core.setup(**attrs)
157.7            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 185, in setup
157.7     return run_commands(dist)
157.7            ^^^^^^^^^^^^^^^^^^
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
157.7     dist.run_commands()
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 969, in run_commands
157.7     self.run_command(cmd)
157.7   File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1213, in run_command
157.7     super().run_command(command)
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
157.7     cmd_obj.run()
157.7   File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 74, in run
157.7     self.do_egg_install()
157.7   File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 123, in do_egg_install
157.7     self.run_command('bdist_egg')
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
157.7     self.distribution.run_command(command)
157.7   File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1213, in run_command
157.7     super().run_command(command)
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
157.7     cmd_obj.run()
157.7   File "/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py", line 165, in run
157.7     cmd = self.call_command('install_lib', warn_dir=0)
157.7           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157.7   File "/usr/lib/python3/dist-packages/setuptools/command/bdist_egg.py", line 151, in call_command
157.7     self.run_command(cmdname)
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
157.7     self.distribution.run_command(command)
157.7   File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1213, in run_command
157.7     super().run_command(command)
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
157.7     cmd_obj.run()
157.7   File "/usr/lib/python3/dist-packages/setuptools/command/install_lib.py", line 23, in run
157.7     self.build()
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/install_lib.py", line 112, in build
157.7     self.run_command('build_ext')
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
157.7     self.distribution.run_command(command)
157.7   File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1213, in run_command
157.7     super().run_command(command)
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
157.7     cmd_obj.run()
157.7   File "/usr/lib/python3/dist-packages/setuptools/command/build_ext.py", line 84, in run
157.7     _build_ext.run(self)
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 346, in run
157.7     self.build_extensions()
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 468, in build_extensions
157.7     self._build_extensions_serial()
157.7   File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_ext.py", line 494, in _build_extensions_serial
157.7     self.build_extension(ext)
157.7   File "/tmp/build/smurff/setup.py", line 62, in build_extension
157.7     subprocess.check_call(['cmake', '--build', '.' ] + build_args, cwd=self.build_temp)
157.7   File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
157.7     raise CalledProcessError(retcode, cmd)
157.7 subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--parallel', '--']' returned non-zero exit status 2.
------
Dockerfile:18
--------------------
  17 |     # Clone, build, and install HighFive and Smurff in one step
  18 | >>> RUN mkdir -p /tmp/build && cd /tmp/build && \
  19 | >>>     git clone --branch v2.3 https://github.com/BlueBrain/HighFive.git && \
  20 | >>>     cd HighFive && mkdir build && cd build && \
  21 | >>>     cmake .. -DHIGHFIVE_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr/local && \
  22 | >>>     make install && \
  23 | >>>     cd /tmp/build && \
  24 | >>>     git clone --branch v0.17.0 https://github.com/ExaScience/smurff.git && \
  25 | >>>     cd smurff && \
  26 | >>>     python3 setup.py install --install-binaries && \
  27 | >>>     rm -rf /tmp/build
  28 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir -p /tmp/build && cd /tmp/build &&     git clone --branch v2.3 https://github.com/BlueBrain/HighFive.git &&     cd HighFive && mkdir build && cd build &&     cmake .. -DHIGHFIVE_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr/local &&     make install &&     cd /tmp/build &&     git clone --branch v0.17.0 https://github.com/ExaScience/smurff.git &&     cd smurff &&     python3 setup.py install --install-binaries &&     rm -rf /tmp/build" did not complete successfully: exit code: 1

Basically, the error occurs at

144.8 /tmp/build/smurff/cpp/Tests/catch.hpp:10717:58: error: call to non-‘constexpr’ function ‘long int sysconf(int)’

Any clue why it happens specifically on arm64 ?

@tvandera
Copy link
Collaborator

Seems like catch.hpp is too old, or the compiler too new. I'll have a look

@tvandera
Copy link
Collaborator

Can you try the master branch version: https://github.com/ExaScience/smurff/tree/master/ci/docker
If you want debian, you can probably use Dockerfile.ubuntu as a template

@tvandera
Copy link
Collaborator

master branch seems to work

root@f436914b9660:/build# ./cpp/Smurff/smurff --bist
Randomness seeded to: 428978522
===============================================================================
All tests passed (3063 assertions in 96 test cases)

root@f436914b9660:/build# uname -a
Linux f436914b9660 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 aarch64 GNU/Linux

@azimgivron
Copy link
Author

great thank you !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants