Skip to content

Fails to build under MinGW64 #913

@AndVinni

Description

@AndVinni

Symptoms:
The current repository version fails to build under MinGW64 W10 21H2 IoT LTSC.
Penryn is detected correctly, and configuration completes without errors.
./configure --prefix=/d/Project/blis_install --enable-cblas --disable-shared --enable-static auto
make -j silently creates an empty library libblis.a

Treatment from Gemini CLI:

Fixed an issue in the build/gen-make-frags/gen-make-frag.sh script.

Cause of the issue:
The gen-make-frag.sh script read suffix list (suffix_list) and ignore directory list (ignore_list) files along with carriage return characters (\r), which are specific to Windows. This caused string comparisons to not work properly, and source files were not added to makefile fragments. This resulted in an empty library.

Changes:
I added the tr -d '\r' command when reading configuration files in the build/gen-make-frags/gen-make-frag.sh script to remove carriage returns.

384  src_file_suffixes=$(cat "${suffix_file}" | tr -d '\r')
387 	ignore_dirs=$(cat "${ignore_file}" | tr -d '\r')

Verification:

Compilation was successful.
Building with llama.cpp was successful.

I confirm the 18% performance increase on nomic-embed-text-v1.Q4_0.gguf compared to version 2.0.

D:\AI>c:\llama\b\llama-bench.exe -m d:\AI\nomic-embed-text-v1.Q4_0.gguf -t 2 -embd 1 -mmp 0

model size params backend threads mmap embd test t/s
nomic-bert 137M Q4_0 73.48 MiB 136.73 M BLAS 2 0 1 pp512 56.13 1.69
nomic-bert 137M Q4_0 73.48 MiB 136.73 M BLAS 2 0 1 tg128 37.14 0.41

build: ec8fd7876 (7686)

(All package versions are up to date)

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