Hi Aaron,
On 2025-09-25 17:43, Aaron M. Ucko wrote:
Andrius Merkys <[email protected]> writes:
seems like a monorepo for a bunch of NCBI tools. Can anyone confirm
that?
To clarify, releases of BLAST+ and variants like IgBLAST are generally
based on heavily trimmed snapshots of release branches like [1];
however, each product releases on its own schedule, so their releases do
not in general line up with each other or correspond to any of the
overall C++ Toolkit's monthly releases.
The download link at the bottom of IgBLAST's online documentation [2]
still points to traditional release tarballs; IgBLAST just hasn't had a
release in almost two years.
Thanks for the explanation. I now see that individual tool schedules are
still maintained. For IgBLAST I will look into backporting a patch for
GCC-15 issue.
I suppose we could consider tackling the full tree anyway -- we
historically glossed over the analogous distinction between releases of
NCBI's C Toolkit and of legacy BLAST -- but there are some additional
complications. In particular:
- The tree is *huge* -- the (gzipped) tarball alone is over 700 MB,
unpacking to roughly 3 GB, and even when using shared libraries, a
full amd64 build with debug symbols takes roughly an hour (or two with
a test-suite run thrown in) and consumes an additional ~14 GB, and the
200+ resulting shared libraries take up ~150 MB in total even after
stripping. (That said, partial builds are certainly an option, and
there is a plausible middle ground between splitting the shared
libraries up into individual binary packages and sticking them all
together into one big one.)
- There are no ABI stability guarantees, so executables would need
fairly tight dependencies on shared libraries.
OK, I see. Maybe then the current approach of sticking to separate
trimmed tarballs is for the best.
Thanks a lot,
Andrius
[1] https://github.com/ncbi/ncbi-cxx-toolkit-public/tree/stable/29.0
[2] https://ncbi.github.io/igblast/