Description
Describe the bug
libstdc++-devel package includes libraries and libstdc++.la file that is used by various build tools (e.g., autoconf/libtoolize) to find libraries. So where the package installs the libraries and the content of the libstdc++.la must match. That's not the case currently for the libstdc++-devel package.
If you install the package you will get libstdc++.a installed in /usr/lib/libstdc++.a
, while libdir
in /lib/libstdc++.la
points to /usr/lib/../lib64
which causes problems.
To Reproduce
docker run -it mcr.microsoft.com/azurelinux/base/core:3.0 bash
find / -name libstdc++.a # to confirm that it does not exist
find / -name libstdc++.la # to confirm that it does not exist
tdnf update -y
tdnf install -y libstdc++-devel
find / -name libstdc++.a # it should find the static library in /usr/lib
tail /lib/libstdc++.la # you will see that the libdir there is not correct, neither for shared library nor for the static one
Expected behavior
libdir
in libstdc++.la
must match the place where the libraries are actually installed.
There is no way in which the current behavior can be correct, and naturally it breaks proper builds that rely on libstdc++ and find the libraries via proper tools as opposed to hardcoding a particular path.
Screenshots
N/A
+cc @grnmeira