Skip to content

Compile bug: OpenBLAS / cmake include path detection #16615

@Awilen-Bernkastel

Description

@Awilen-Bernkastel

Git commit

fa882fd

Operating systems

Other? (Please let us know in description)

GGML backends

CPU, BLAS

Problem description & steps to reproduce

Platform: Android 15 + vanilla Termux

Under Termux, running $ cmake -B build -DGGML_CURL=OFF -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS wrongly detects the OpenBLAS includes path as /data/data/com.termux/files/usr//data/data/com.termux/files/usr/include/openblas (note the //).

This leads to this include in the compilation commands :
-I/data/data/com.termux/files/usr/data/data/com.termux/files/usr/include/openblas (note the lack //) instead of the correct path.

Executing these commands after running the above command solves the issue and compilation works as intended:

$ sed -i 's:/data/data/com.termux/files/usr/data/data/com.termux/files/usr/include/openblas:/data/data/com.termux/files/usr/include/openblas:g' ./build/compile_commands.json

$ sed -i 's:/data/data/com.termux/files/usr/data/data/com.termux/files/usr/include/openblas:/data/data/com.termux/files/usr/include/openblas:g' ./build/ggml/src/ggml-blas/CMakeFiles/ggml-blas.dir/flags.make

I have a feeling this is a Termux and/or CMake issue rather than a llama.cpp issue, but I'd rather start from the starting point and go from there.

First Bad Commit

No response

Compile command

cmake -B build -DGGML_CURL=OFF -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS

cmake --build build --config Release -j 6

Relevant log output

Something akin to cblas.h: File not found, which led to finding the relevant paths above.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions