deps: fix aarch64 and macOS builds - #232
Merged
Merged
Conversation
onecode cast line types and string pointers to a concrete i8, the same c_char width bug that broke lib_wfa2 on aarch64. Pinning onecode in fastga-rs and sweepga as well collapses the duplicate copies, so one build of each remains.
wfmash-rs forced Homebrew GCC on macOS even when CC and CXX were already set. Under conda that GCC cannot parse the Xcode SDK headers. Its vendored atomic_queue.h also used the template keyword with no argument list, which clang 19 rejects.
No repo tested aarch64-linux, which is why the c_char bugs in lib_wfa2 and onecode reached a release. macos-latest is arm64 but c_char is signed there, so those casts compiled fine and only bioconda's linux-aarch64 job caught them.
Found by the new linux-aarch64 CI job: fastga-rs cast 'g' to a concrete i8 when calling onecode's oneGoto.
syng passed *mut i8 to syng_ffi, which takes c_char. That is u8 on aarch64-linux, so the build failed there while x86-64 and macOS were fine. syng.rs:3081 already used the c_char form; the rest now match.
char is signed on x86-64 and unsigned on aarch64. syng assumes signed, and on aarch64 syngBWTadvanceRank reached a negative node and aborted the test suite. The flag is a no-op where char is already signed.
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the three platforms that v0.5.1 still could not build. linux-64 already passes on bioconda.
linux-aarch64.
onecodecast line types and string pointers to a concretei8, the samec_charwidth bug as lib_wfa2:i8on x86-64,u8on aarch64-linux. 19 type errors. Fixed upstream in onecode-rs5fa1e93.osx-64.
wfmash-rsforced Homebrew GCC even whenCCandCXXwere already set. Under conda that GCC cannot parse the Xcode SDK headers and fails withunknown type name 'FILE'. The environment now wins.osx-arm64. With no Homebrew GCC it fell back to clang 19, which rejects
Base::template do_pop_any(...)in the vendoredatomic_queue.h, since there is no template argument list. GCC accepts it. Removed in 4 places.onecodeandfastga-rswere pinned in several crates and every copy gets compiled, so all were bumped. The lock file now holds one copy each of onecode, fastga-rs, wfmash-rs, lib_wfa2 and sweepga.572 tests pass.