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

[gpu] Boost missing, despite installed packages #6109

Open
eckstefa opened this issue Sep 23, 2023 · 1 comment
Open

[gpu] Boost missing, despite installed packages #6109

eckstefa opened this issue Sep 23, 2023 · 1 comment
Labels

Comments

@eckstefa
Copy link

Description

I can't install the GPU-Build of lightgbm. The error message says that Boost is missing. According to the documentation of the build dependencies:

The following Debian packages should provide necessary Boost libraries: libboost-dev, libboost-system-dev, libboost-filesystem-dev.

I have installed these packages:
libboost-dev/jammy,now 1.74.0.3ubuntu7 amd64 [installed]
libboost-filesystem-dev/jammy,now 1.74.0.3ubuntu7 amd64 [installed]
libboost-system-dev/jammy,now 1.74.0.3ubuntu7 amd64 [installed]

Reproducible example

$ pip install --no-cache-dir \
    --no-binary lightgbm \
    --config-settings=cmake.define.USE_GPU=ON \
    lightgbm
Collecting lightgbm
  Downloading lightgbm-4.1.0.tar.gz (1.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 11.2 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /home/ubuntu/anaconda3/envs/master-thesis/lib/python3.11/site-packages (from lightgbm) (1.25.2)
Requirement already satisfied: scipy in /home/ubuntu/anaconda3/envs/master-thesis/lib/python3.11/site-packages (from lightgbm) (1.11.1)
Building wheels for collected packages: lightgbm
  Building wheel for lightgbm (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for lightgbm (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [41 lines of output]
      2023-09-23 23:22:19,963 - scikit_build_core - INFO - CMake version: 3.22.1
      *** scikit-build-core 0.5.1 using CMake 3.22.1 (wheel)
      2023-09-23 23:22:19,966 - scikit_build_core - INFO - Build directory: /tmp/tmpw1s7u_1z/build
      *** Configuring CMake...
      2023-09-23 23:22:19,978 - scikit_build_core - INFO - Ninja version: 1.11.1
      2023-09-23 23:22:19,978 - scikit_build_core - WARNING - libdir/ldlibrary: /home/ubuntu/anaconda3/envs/master-thesis/lib/libpython3.11.a is not a real file!
      2023-09-23 23:22:19,978 - scikit_build_core - WARNING - Can't find a Python library, got libdir=/home/ubuntu/anaconda3/envs/master-thesis/lib, ldlibrary=libpython3.11.a, multiarch=x86_64-linux-gnu, masd=None
      loading initial cache file /tmp/tmpw1s7u_1z/build/CMakeInit.txt
      -- The C compiler identification is GNU 11.2.0
      -- The CXX compiler identification is GNU 11.2.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /home/ubuntu/anaconda3/envs/master-thesis/bin/x86_64-conda-linux-gnu-cc - 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: /home/ubuntu/anaconda3/envs/master-thesis/bin/x86_64-conda-linux-gnu-c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Found OpenMP_C: -fopenmp (found version "4.5")
      -- Found OpenMP_CXX: -fopenmp (found version "4.5")
      -- Found OpenMP: TRUE (found version "4.5")
      -- Looking for CL_VERSION_2_2
      -- Looking for CL_VERSION_2_2 - found
      -- Found OpenCL: /usr/local/cuda/lib64/libOpenCL.so (found version "2.2")
      -- OpenCL include directory: /usr/local/cuda/include
      CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
        Could NOT find Boost (missing: filesystem system) (found suitable version
        "1.74.0", minimum required is "1.56.0")
      Call Stack (most recent call first):
        /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
        /usr/share/cmake-3.22/Modules/FindBoost.cmake:2360 (find_package_handle_standard_args)
        CMakeLists.txt:187 (find_package)
      
      
      -- Configuring incomplete, errors occurred!
      See also "/tmp/tmpw1s7u_1z/build/CMakeFiles/CMakeOutput.log".
      See also "/tmp/tmpw1s7u_1z/build/CMakeFiles/CMakeError.log".
      
      *** CMake configuration failed
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for lightgbm
Failed to build lightgbm
ERROR: Could not build wheels for lightgbm, which is required to install pyproject.toml-based projects

Environment info

LightGBM version or commit hash: lightgbm 4.1.0
OS: Xubuntu 22.04.3 LTS x86_64
Kernel: 5.15.0-84-generic

Command(s) you used to install LightGBM

$ pip install --no-cache-dir \
    --no-binary lightgbm \
    --config-settings=cmake.define.USE_GPU=ON \
    lightgbm

Boost packages:
libboost-dev/jammy,now 1.74.0.3ubuntu7 amd64 [installed]
libboost-filesystem-dev/jammy,now 1.74.0.3ubuntu7 amd64 [installed]
libboost-system-dev/jammy,now 1.74.0.3ubuntu7 amd64 [installed]

Additional Comments

@eckstefa
Copy link
Author

Update: I added --config-settings=cmake.define.BOOST_LIBRARYDIR="/usr/lib/x86_64-linux-gnu/" to the pip install .... Now it finds Boosts at first -- Found Boost: /usr/include (found suitable version "1.74.0", minimum required is "1.56.0") found components: filesystem system. I also checked the directory /usr/include. This is definitely where the boost header files are, but later it claims:

fatal error: boost/align/aligned_allocator.hpp: No such file or directory
         35 | #include <boost/align/aligned_allocator.hpp>

I don't understand this. I checked the directory /usr/include/boost/align/aligned_allocator.hpp. The file is there.

I also tried to add --config-settings=cmake.define.Boost_INCLUDE_DIR="/usr/include/" manually. But the result was the same.

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

No branches or pull requests

2 participants