Skip to content

Fix HiGHS on 32-bit #331

Description

@odow

We probably need something like this in the next JLL build:

diff --git a/H/HiGHS/build_tarballs.jl b/H/HiGHS/build_tarballs.jl
index d09863025..4cd841c82 100644
--- a/H/HiGHS/build_tarballs.jl
+++ b/H/HiGHS/build_tarballs.jl
@@ -34,11 +34,21 @@ else
     LBT=blastrampoline
 fi
 
+# Needed because of
+# https://github.com/ERGO-Code/HiGHS/issues/769#issuecomment-2466938187
+if [[ "${target}" == i686-linux-gnu ]]; then
+    C_FLAGS="-ffloat-store"
+else
+    C_FLAGS=""
+fi
+
 cmake -DCMAKE_INSTALL_PREFIX=${prefix} \
     -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} \
     -DCMAKE_BUILD_TYPE=Release \
     -DBUILD_SHARED_LIBS=ON \
     -DBUILD_TESTING=OFF \
+    -DCMAKE_C_FLAGS="${C_FLAGS}" \
+    -DCMAKE_CXX_FLAGS="${C_FLAGS}" \
     -DHIPO=ON \
     -DBLA_VENDOR=blastrampoline \
     -DBLAS_LIBRARIES=\"${LBT}\" \

Then we can remove

# HiGHS segfaults on 32-bit.
# Upstream is https://github.com/ERGO-Code/HiGHS/issues/769
# but we decided investigating was a low priority until it
# impacts users.
# include:
# # Also test against 32-bit Linux.
# - version: '1'
# os: ubuntu-latest
# arch: x86

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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