amkozlov / raxml-ng

RAxML Next Generation: faster, easier-to-use and more flexible
GNU Affero General Public License v3.0
374 stars 62 forks source link

What libpll code is really needed #164

Open tillea opened 10 months ago

tillea commented 10 months ago

Hi, since years I'd like to package raxml-ng for Debian. Unfortunately it remains unclear to me, what libpll is needed. I have packaged [libpll](https://github.com/xflouris/libpll] which is mentioned in README.md but it does not contain the file libpll/pllmod_common.h which is included. I find this one in pll-modules and this in turn includes the submodule libpll-2 which does not seem to be some successor of libpll. In Debian we can't rely on submodules but need to package different software in different packages. Am I correct that I need to package libpll-2 first to get pll-modules packaged which I can finally use to build a raxml-ng package? It would be great if you could adapt README.md with more precise advise. Kind regards, Andreas.

amkozlov commented 10 months ago

Hi Andreas,

sorry for the mess!

Indeed, in order to to compile raxml-ng, you actually need both pll-modules and libpll-2 (which is a successor of libpll).

I just added a hint to the README about submodule dependencies:

https://github.com/amkozlov/raxml-ng/tree/master#installation-instructions

I also added information about libpll-2/pll-modules versions to the raxml-ng release notes:

https://github.com/amkozlov/raxml-ng/releases/tag/1.2.0

Hope this helps.

tillea commented 10 months ago

Hi Alexey, thank you for the quick response.

Am Fri, Aug 18, 2023 at 05:17:49AM -0700 schrieb Alexey Kozlov:

Indeed, in order to to compile raxml-ng, you actually need both pll-modules and libpll-2 (which is a successor of libpll).

Do you want to suggest to simply point the packaging of former libpll to libpll-2 Git repository. I mean I have packaged libpll only for raxml-ng (which was used when I started that effort). Both repositories are creating the very same shared library libpll0.so so they are neither co-installable nor is the old libpll needed. However, its pretty confusing to have this version number "-2" (???) in the name and continue with the library and have the same "real" version numbers.

If I simply would package libpll-2 in the very place where libpll was packaged and I keep that name (without the -2) this would be pretty convenient since its not a new Debian package and does not need any new processing. Do you think this is the correct way to go?

I just added a hint to the README about submodule dependencies:

https://github.com/amkozlov/raxml-ng/tree/master#installation-instructions

I also added information about libpll-2/pll-modules versions to the raxml-ng release notes:

https://github.com/amkozlov/raxml-ng/releases/tag/1.2.0

Thank you for doing so. Kind regards, Andreas.

amkozlov commented 10 months ago

If I simply would package libpll-2 in the very place where libpll was packaged and I keep that name (without the -2) this would be pretty convenient since its not a new Debian package and does not need any new processing. Do you think this is the correct way to go?

Yes, I think this is the way to go.

In fact, in the next major raxml-ng release, both libpll-2 and pll-modules will be superseded by the new lib coraxlib:

https://codeberg.org/Exelixis-Lab/coraxlib

This should hopefully solve the long-lasting historical name confusion.