paolostivanin / OTPClient

Highly secure and easy to use OTP client written in C/GTK3 that supports both TOTP and HOTP
GNU General Public License v3.0
458 stars 47 forks source link

Compiled binaries depend on specific version of libcotp2 used during build #329

Closed sumpfralle closed 6 months ago

sumpfralle commented 6 months ago

According to #325 it is currently necessary to have the same version of libcotp2 installed, that was used during the compilation of optclient.

This feels a bit like defeating the purpose of dynamic libraries :)

I am afraid, that such a behavior makes it very hard for distributions (Debian, Ubuntu, ...) to package otpclient, since they would need to add (and maintain) strict version dependencies in their package metadata. Otherwise users end up being confused, when the package maintainers of libcotp2 and otpclient do not coordinate their release (which is technically impossible).

See debian#1057369.

Do you have an idea, why there is such a strict requirement regarding the libcotp2 library? It this a matter of the library? Or rather how it is used in otpclient?

Thanks for your time!

paolostivanin commented 6 months ago

Hello, that was a mistake on my side. Libcotp 2.1.0 changed some internal APIs that required all apps depending on it to be recompiled. I should have bumped the major version to 3, but it was too late when I realized that. On the bright side, you can be sure that this won't happen again :)