Skip to content

Build against the current libbdsg: C++20, and link jansson - #82

Merged
glennhickey merged 1 commit into
masterfrom
build-cxx20-jansson
Sep 24, 2026
Merged

glennhickey merged 1 commit into
masterfrom
build-cxx20-jansson

Conversation

@glennhickey

Copy link
Copy Markdown
Collaborator

The libbdsg-easy update for faster PackedGraph construction (#81) brought headers that
use std::as_const and operator<=>, and a libbdsg.a that calls jansson. Every tool here
includes those headers at -std=c++14, so a fresh clone of master stops in the first
compile with "'as_const' is not a member of 'std'", and after that halRemoveDupes fails
to link with undefined json_* references. Working copies that had installed the
previous headers under deps/libbdsg-easy/include kept building, which is how it got
merged.

-std=c++20 (gcc 10+; the release containers are on 11 and 13), and -ljansson next to the
other system libraries. The static release needs libjansson.a, which the -dev package
carries. Verified from a fresh recursive clone: all seven tools build and the suite
passes with them on PATH.

Found while switching cactus from hal2vg release binaries to a pinned source build (downloadPangenomeTools): a fresh recursive clone of master does not build. With this, all seven tools build from a fresh clone and the suite passes (111 tests).

🤖 Generated with Claude Code

https://claude.ai/code/session_013YWGkqE3ND862JF8QRZERV

The libbdsg-easy update for faster PackedGraph construction (#81) brought headers that
use std::as_const and operator<=>, and a libbdsg.a that calls jansson.  Every tool here
includes those headers at -std=c++14, so a fresh clone of master stops in the first
compile with "'as_const' is not a member of 'std'", and after that halRemoveDupes fails
to link with undefined json_* references.  Working copies that had installed the
previous headers under deps/libbdsg-easy/include kept building, which is how it got
merged.

-std=c++20 (gcc 10+; the release containers are on 11 and 13), and -ljansson next to the
other system libraries.  The static release needs libjansson.a, which the -dev package
carries.  Verified from a fresh recursive clone: all seven tools build and the suite
passes with them on PATH.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013YWGkqE3ND862JF8QRZERV
@glennhickey
glennhickey merged commit 3c0476a into master Sep 24, 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