Skip to content

sqlite fail on 5.3.0 but works on 5.2.1, not linking -lm properyl #938

Description

@ejames604

EB 5.3.0 regression on SQLite-3.50.1-GCCcore-14.3.0.eb: the produced
  libsqlite3.so lacks DT_NEEDED libm.so.6. Rebuilding the same recipe under EB
  5.2.1 on the same host produces the libm-correct binary.

  EB 5.3.0 → NEEDED libz.so.1, libc.so.6
  EB 5.2.1 → NEEDED libm.so.6, libz.so.1, libc.so.6

  Recipe is byte-identical between the two EB releases, source/checksum
  identical, host AlmaLinux 9.7 / glibc 2.34 / system ld 2.35.2-67.el9,
  GCCcore-14.3.0 toolchain. Reproduced cross-checked against a Zen5 build (same
  recipe, also EB 5.2.1, also libm-correct).

  Downstream fallout: util-linux-2.41-GCCcore-14.3.0.eb then fails its
  liblastlog2/test_* link step with undefined reference to sinh/sin/cos/log/…
  from libsqlite3.so, because the toolchain defaults include -Wl,--no-undefined
  + -Wl,--as-needed. Fix here was simply rebuilding SQLite under EB 5.2.1 — no
  recipe override needed.

  What we haven't pinned down: which moving part in 5.3.0 stops SQLite's
  libtool/configure ceil-detection from adding -lm back to the final link.
  (Haven't diffed ConfigureMake easyblock or the build-env construction yet.)
  Has anyone else hit this on 5.3.0, or recognise the change?

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