Skip to content

deps: one lib_wfa2 everywhere, fix aarch64 and the conda build - #230

Merged
AndreaGuarracino merged 2 commits into
mainfrom
ag/lib-wfa2-aarch64
Jul 25, 2026
Merged

deps: one lib_wfa2 everywhere, fix aarch64 and the conda build#230
AndreaGuarracino merged 2 commits into
mainfrom
ag/lib-wfa2-aarch64

Conversation

@AndreaGuarracino

@AndreaGuarracino AndreaGuarracino commented Jul 25, 2026

Copy link
Copy Markdown
Member

Fixes two build failures found by bioconda CI for v0.5.0.

aarch64 did not compile. lib_wfa2::align cast its input to a concrete *const i8. c_char is u8 on aarch64-linux, so that only matched on x86-64. It now casts to c_char by name.

The conda build died in bindgen. onecode emitted _IO_FILE as an empty struct while asserting its real 216-byte size. It moves to f531f5b, which ships pre-generated bindings.

One lib_wfa2. The ekg and AndreaGuarracino forks had diverged, and impg reconciled them with two [patch] entries. Everything now uses AndreaGuarracino/lib_wfa2 32ad5bb, and both patches are gone. That repo gained the scope and span setters plus the with_penalties_* constructors allwave needs, so allwave keeps its match penalty instead of dropping it.

Also handles the new TracepointData::FastgaNoDiff: same target deltas as Fastga without diff counts. Reconstruction re-aligns each segment, so only the identity estimate is affected.

572 tests pass. This pulls in a different WFA2-lib submodule and 27 new tpa / 32 new tracepoints commits.

lib_wfa2 cast alignment inputs to *const i8. c_char is u8 on aarch64-linux, so
every aarch64 build failed to compile. Point lib_wfa2, tpa, tracepoints and
allwave at one revision carrying the fix, and drop the two [patch] entries that
used to reconcile the ekg and AndreaGuarracino forks.
lib_wfa2 cast alignment inputs to a concrete *const i8. c_char is u8 on
aarch64-linux, so every aarch64 build failed to compile. Fixed upstream, and
every consumer now points at one revision of AndreaGuarracino/lib_wfa2, so the
two [patch] entries that reconciled the two forks are gone. lib_wfa2 gained the
scope and span setters and the with_penalties constructors that allwave needs,
which keeps allwave's match penalty rather than dropping it.

onecode moves to f531f5b, which ships pre-generated bindings. The old revision
ran bindgen at build time, where an allowlisted _IO_FILE came out as an empty
struct while the layout assertion still used the real 216 bytes. That broke the
conda build, which is the only environment where clang sees the full glibc
definition.

Handle the new tracepoints variant FastgaNoDiff: it stores the same target
deltas as Fastga without the diff counts, and reconstruction re-aligns each
segment, so only the identity estimate is affected.
@AndreaGuarracino
AndreaGuarracino merged commit 7eff972 into main Jul 25, 2026
2 checks passed
@AndreaGuarracino
AndreaGuarracino deleted the ag/lib-wfa2-aarch64 branch July 25, 2026 16:37
@AndreaGuarracino AndreaGuarracino mentioned this pull request Jul 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant