Skip to content

DYNAMIC_ARCH seems to fail for the CMake build (at least on MacOS) #2395

@cesss

Description

@cesss

Trying to build with

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DTARGET=SKYLAKEX -DNUM_CORES=12 -DBUILD_WITHOUT_LAPACK=OFF -DDYNAMIC_ARCH=ON -DDYNAMIC_OLDER=ON -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX="$HOME"/OpenBLAS/0.3.7 ../../../../src/OpenBLAS/0.3.7

I'm getting a lot of linker errors like these:

[...many more like these...]
"_xtrmm_kernel_RR_SANDYBRIDGE", referenced from:
      _gotoblas_SANDYBRIDGE in libopenblas.a(setparam_SANDYBRIDGE.c.o)
"_xtrmm_kernel_RR_SKYLAKEX", referenced from:
      _gotoblas_SKYLAKEX in libopenblas.a(setparam_SKYLAKEX.c.o)
[...many more like those...]  

I believe the linker line doesn't include all the required objects... in fact I searched the code and found that the suffix names in those files seems to be implemented for the Makefile system only, and not for CMake. I tried both with 0.3.7 and with the dev branch, and they both fail the same, at least on MacOS.

If I build with the provided Makefile instead of CMake, it builds fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions