Skip to content

Dynamic library is not installed on Windows (anymore) #911

@mgorny

Description

@mgorny

As of version 2.0, the make install target does not install the dynamic library when blis is configured with --enable-shared --disable-static.

FWICS the problem is that LIBBLIS_SO_MMB_INST is not set on Windows:

blis/Makefile

Lines 131 to 134 in b5d5783

ifeq ($(IS_WIN),yes)
# The 'install' target does not create symlinks for Windows builds, so we don't
# bother defining LIBBLIS_SO_MMB_INST.
LIBBLIS_SO_MMB_INST :=

However, the install rules refer to LIBBLIS_SO_MMB_INST only, so they don't do anything:

blis/Makefile

Line 153 in b5d5783

MK_LIBS_INST += $(LIBBLIS_SO_MMB_INST)

blis/Makefile

Line 1201 in b5d5783

install-libs: check-env $(MK_LIBS_INST)

Build log: https://dev.azure.com/conda-forge/84710dde-1620-425b-80d0-4cf5baca359d/_apis/build/builds/1389647/logs/40

Note that the first make install done for static build installs the library:

2025-11-11T17:32:56.3042222Z  │ │ ++ make install
2025-11-11T17:33:03.7079409Z  │ │ mkdir -p /d/bld/bld/rattler-build_blis_1762881738/h_env/Library/lib
2025-11-11T17:33:03.8584004Z  │ │ install -c -m 0644 lib/x86_64/libblis.a /d/bld/bld/rattler-build_blis_1762881738/h_env/Library/lib/libblis.a
2025-11-11T17:33:03.9057785Z  │ │ mkdir -p /d/bld/bld/rattler-build_blis_1762881738/h_env/Library/include/blis
2025-11-11T17:33:03.9464001Z  │ │ install -c -m 0644 include/x86_64/blis.h include/x86_64/cblas.h /d/bld/bld/rattler-build_blis_1762881738/h_env/Library/include/blis

But the second one, done for dynamic build proceeds to headers immediately:

2025-11-11T17:41:57.5932243Z  │ │ ++ make install
2025-11-11T17:42:05.0093702Z  │ │ mkdir -p /d/bld/bld/rattler-build_blis_1762881738/h_env/Library/include/blis
2025-11-11T17:42:05.0481086Z  │ │ install -c -m 0644 include/x86_64/blis.h include/x86_64/cblas.h /d/bld/bld/rattler-build_blis_1762881738/h_env/Library/include/blis

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions