amkozlov / raxml-ng

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

What libpll code is really needed #164

Open tillea opened 1 year ago

tillea commented 1 year 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 1 year 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 1 year 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 1 year 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.