Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vulkan-loader missing symbolic links inside /usr/lib #50607

Closed
Norman-Normandy opened this issue May 30, 2024 · 5 comments
Closed

vulkan-loader missing symbolic links inside /usr/lib #50607

Norman-Normandy opened this issue May 30, 2024 · 5 comments
Labels
bug Something isn't working needs-testing Testing a PR or reproducing an issue needed

Comments

@Norman-Normandy
Copy link

Is this a new report?

Yes

System Info

Void 6.9.2_1 x86_64 AuthenticAMD uptodate rrrmmnFFFFFFFFF

Package(s) Affected

vulkan-loader-1.3.261.1_2

Does a report exist for this bug with the project's home (upstream) and/or another distro?

Similar issues: #44317 #18105 #44317

Expected behaviour

The symbolic links should be:
/usr/lib/libvulkan.so -> libvulkan.so.1
/usr/lib/libvulkan.so.1 -> libvulkan.so.1.3.261
/usr/lib/libvulkan.so.1.3.261

Actual behaviour

But instead found:
/usr/lib/libvulkan.so.1 -> libvulkan.so.1.3.261
/usr/lib/libvulkan.so.1.3.261

Steps to reproduce

xbps-install -Su vulkan-loader

And see missing final symbolic link inside /usr/lib

Tried: "xbps-install -f" along with removing the package and removing orphans *(weren't any) and reinstalling.

I also tried xbps-reconfigure. Not sure if this is something on my end or effecting everyone.
In-fact other libraries are also missing their final symbolic links.

Running "xbps-pkgdb -a" gives:
ERROR: libksane6: unexistent file /usr/share/icons/hicolor/16x16/actions/black-white.png.
ERROR: libksane6: unexistent file /usr/share/icons/hicolor/16x16/actions/color.png.
ERROR: libksane6: unexistent file /usr/share/icons/hicolor/16x16/actions/gray-scale.png.
ERROR: libksane6: unexistent file /usr/share/locale/hne/LC_MESSAGES/libksane.mo.
ERROR: libksane6: unexistent file /usr/share/locale/ml/LC_MESSAGES/libksane.mo.
ERROR: libksane6: unexistent file /usr/share/locale/oc/LC_MESSAGES/libksane.mo.
ERROR: libksane6: unexistent file /usr/share/locale/pa/LC_MESSAGES/libksane.mo.
ERROR: libksane6: unexistent file /usr/share/locale/ug/LC_MESSAGES/libksane.mo.
ERROR: libksane6: files check FAILED.
ERROR: ksanecore6: unexistent file /usr/share/locale/ar/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/bg/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/ca/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/ca@valencia/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/cs/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/de/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/en_GB/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/eo/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/es/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/eu/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/fi/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/fr/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/gl/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/hi/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/it/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/ja/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/ka/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/ko/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/lt/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/nl/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/nn/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/pl/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/pt/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/pt_BR/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/ru/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/sk/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/sl/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/sv/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/tr/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/uk/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: unexistent file /usr/share/locale/zh_TW/LC_MESSAGES/ksanecore.mo.
ERROR: ksanecore6: files check FAILED.

Have not ever touched the /usr/lib directory manually. Only used xbps cli tools
and only once for this occasion to fix the issue temporarily by creating the final symbolic link after doing "xbps-pkgdb -a".

@Norman-Normandy Norman-Normandy added bug Something isn't working needs-testing Testing a PR or reproducing an issue needed labels May 30, 2024
@Norman-Normandy
Copy link
Author

Found libvulkan.so inside the "vulkan-loader-devel" package. Shouldn't it be inside the normal vulkan-loader as it was before?

@ahesford
Copy link
Member

The "similar issues" aren't similar at all. What packages break as a result of the missing *.so symlink? Anything that properly links to libvulkan will inherit the proper soname and will work as expected; if there is something using dlopen that expects the libvulkan.so without a version, we should fix that problem directly.

@Norman-Normandy
Copy link
Author

No pre-built binaries using the vulkan loader break. But my existing build pipelines for building them did because the gnu linker complains it can't find -lvulkan. Which was originally inside as /usr/lib/libvulkan.so and now suddenly it isn't, but instead part of the vulkan-loader-devel package. A package that I never installed before.

I understand development packages usually contain files for building projects where as the non-devel packages are for running existing binaries.

But was this change to remove "libvulkan.so" from the normal "vulkan-loader" into "vulkan-loader-devel" intentional?
Other distros I've used don't separate the library symbolic links. Including FreeBSD.

@ahesford
Copy link
Member

I assume the change was intentional, because our standard practice is to put all unversioned library symlinks in -devel subpackages. The fix is to install that subpackage whenever you need the unversioned link, which could be to satisfy precompiled binaries or to establish a proper development environment.

@classabbyamp
Copy link
Member

yes, moving the symlink was intentional, almost all .so symlinks are in devel packages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs-testing Testing a PR or reproducing an issue needed
Projects
None yet
Development

No branches or pull requests

3 participants