Skip to content

[BUG] Documentation Incomplete regarding dependencies to build from source #3103

@MillaFleurs

Description

@MillaFleurs

Describe the bug
Documentation is incomplete.

To Reproduce

Go to webpage: https://ml-explore.github.io/mlx/build/html/install.html#
On a fresh environment (e.g. ubuntu flashed to Raspberry Pi)

If you try to follow the instructions you'll get this:

-- Found Threads: TRUE  
CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find BLAS (missing: BLAS_LIBRARIES)                                                                                                                          
Call Stack (most recent call first):                                                                                                                                     
  /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)                                                                         
  /usr/share/cmake-3.28/Modules/FindBLAS.cmake:1383 (find_package_handle_standard_args)                                                                                  
  /usr/share/cmake-3.28/Modules/FindLAPACK.cmake:247 (find_package)                                                                                                      
  /usr/share/cmake-3.28/Modules/FindLAPACK.cmake:283 (_lapack_find_dependency)                                                                                           
  CMakeLists.txt:284 (find_package)                                                                                                                                      
                                                                   

The problem is the following libraries are not marked as dependencies.

  • libblas-dev
  • liblapack-dev
  • liblapacke-dev

Note that MacOS does ship with BLAS and LA but I got this same error on MacOS and installed BLAS through Homebrew. I suspect but do not know there may be a change needed to use the Accelerate framework.

Expected behavior
A user reading the documentation should be able to go through the requirements checklist and build if they have the requirements. It is suboptimal to get errors about missing libraries, go back and reinstall the missing libraries, before getting a successful build.

Desktop (please complete the following information):

  • OS Version:
    Distributor ID: Ubuntu
    Description: Ubuntu 24.04 LTS
    Release: 24.04
    Codename: noble
    Architecture: aarch64

Additional context
Compiling on my Raspberry Pi 5 16GB with 256GB SSD to see how performance compares with PyTorch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions