Some projects use both -release and -version-info and when built with slibtool this will result in library symlinks being missing which can break the build with dependent programs.
-release
-version-info
For example in libyaml (https://github.com/yaml/libyaml) it fails to create the libyaml-0.so.2 symlink.
libyaml
libyaml-0.so.2
The correct solution for the project is to remove one or the other, as done in this libyaml PR.
https://github.com/yaml/libyaml/pull/208
For slibtool it should error when both are used to make the issue more obvious and not something that fails only when trying to build a program that requires that symlink.
The GNU libtool docs state:
-release release Specify that the library was generated by release release of your package, so that users can easily tell what versions are newer than others. Be warned that no two releases of your package will be binary compatible if you use this flag. If you want binary compatibility, use the -version-info flag instead (see Versioning).
-version-info current[:revision[:age]] If output-file is a libtool library, use interface version information current, revision, and age to build it (see Versioning). Do not use this flag to specify package release information, rather see the -release flag.
https://www.gnu.org/software/libtool/manual/libtool.html
After further discussion it turns out that removing -release causes this difference when using GNU libtool.
--- libyaml-libtool.orig.log 2021-01-23 12:18:34.936318615 -0800 +++ libyaml-libtool.new.log 2021-01-23 12:18:41.728386685 -0800 @@ -1,14 +1,14 @@ -/tmp/libyaml-libtool.orig/ +/tmp/libyaml-libtool.new/ └── usr └── local ├── include │ └── yaml.h └── lib - ├── libyaml-0.so.2 -> libyaml-0.so.2.0.9 - ├── libyaml-0.so.2.0.9 ├── libyaml.a ├── libyaml.la - ├── libyaml.so -> libyaml-0.so.2.0.9 + ├── libyaml.so -> libyaml.so.2.0.9 + ├── libyaml.so.2 -> libyaml.so.2.0.9 + ├── libyaml.so.2.0.9 └── pkgconfig └── yaml-0.1.pc
So I think a fix in slibtool should happen instead.
Downstream issues:
https://bugs.gentoo.org/777054 https://bugs.gentoo.org/777060
Fixed https://dev.midipix.org/cross/slibtool/c/f23d994?branch=main
Metadata Update from @orbea: - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.