Re: ncbi-cxx-toolkit-public - a monorepo for NCBI tools?
Andrius Merkys <[email protected]> Mon, 29 Sep 2025 15:48:51 +0300
| Newsgroups | gmane.linux.debian.devel.medical |
|---|---|
| Message-ID | <[email protected]> |
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/