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

libslang.so conflicts with s-lang on most linux systems #4016

Open
colinmarc opened this issue Apr 24, 2024 · 12 comments
Open

libslang.so conflicts with s-lang on most linux systems #4016

colinmarc opened this issue Apr 24, 2024 · 12 comments
Labels
goal:quality & productivity Quality issues and issues that impact our productivity coding day to day inside slang Needs reporter feedback Bugs awaiting more information from the reporter

Comments

@colinmarc
Copy link
Contributor

It's currently very difficult to install libslang.so, from the release tarballs, system wide. That's because libslang.so is already taken by s-lang, which is unfortunately in the dependency tree for NetworkManager.

For example, on ubuntu: https://packages.ubuntu.com/jammy/amd64/libslang2/filelist

Linux makes it very difficult to dynamically link against a specific dependency by absolute path - it basically depends on the argument order to ld, which is fiddly if you're using ld from another build tool (so, always). So, unfortunately, name conflicts often result in build or even runtime errors (if the rpath ends up wrong).

I would suggest renaming the artifact to libshader-slang.so, as unsatisfying as that is. A pkgconfig file would also be great! I'm happy to submit a PR for either/both if that sounds acceptable.

@swoods-nv swoods-nv added goal:quality & productivity Quality issues and issues that impact our productivity coding day to day inside slang Needs reporter feedback Bugs awaiting more information from the reporter labels Apr 25, 2024
@swoods-nv
Copy link
Collaborator

I'm not personally super familiar with Linux packaging strategies-- can you give me some information on how pkgconfig would solve this?

@colinmarc
Copy link
Contributor Author

pkg-config wouldn't solve this (or at least, I don't know how to use pkg-config to solve this). The slang.pc file would conflict with s-lang's, I think.

I just mentioned that because having a shader-slang.pc would make it easy to write, for example, an AUR package to install slang on Arch linux.

@bmillsNV
Copy link
Collaborator

bmillsNV commented May 2, 2024

Renaming will be a breaking change for other users. We're not sure this is feasible at this time. We suggest using the library in a local location if possible. Does this approach work for you?

@bmillsNV
Copy link
Collaborator

No feedback for 2 weeks. We'll close this issue for now. Please reopen if there is more discussion required.

@jkwak-work
Copy link
Collaborator

If libslang is taken and we need an alternative name, libshader-slang sounds good to me.
If 'renaming' would break the backward compatibility to the existing customers, we can just generate an additional binary, libshader-slang.so, along with libslang.so.

I was looking at the wikipedia page for s-lang. It looks like a legitimate scripting software, although the official webpage, s-lang.org, didn't work for me.

@colinmarc
Copy link
Contributor Author

I'm not sure I understand the argument about backwards compatibility - it would be a breaking change, but just on the level of the directory structure change in v2024.1.27. Using it locally is always possible, but a more OS-friendly release would make it easier for people to add slang to package managers.

@mikezackles
Copy link

I ran into this as well. (The web page for S-Lang is here). S-Lang is also packaged in homebrew for MacOS and it seems widely available on Linux. libslang.so is the biggest issue, but for what it's worth, include/slang.h and share/doc/slang are also in conflict.

@colinmarc
Copy link
Contributor Author

Hi, can this please be reopened? This is still an issue.

@misyltoad
Copy link

This is still an issue.

@csyonghe csyonghe reopened this Feb 20, 2025
@csyonghe csyonghe added this to the Q1 2025 (Winter) milestone Feb 20, 2025
@KoT3isGood
Copy link
Contributor

KoT3isGood commented Feb 20, 2025

libslangsl.so can be good as replacement for libslang.so name
sl in the end means “shading language” similar to the glsl

@csyonghe
Copy link
Collaborator

I would prefer a name that is a little more future proof since I still want Slang to grow into a full heterogeneous language some day.

@rg3igalia
Copy link

I just hit a related issue when installing the official Vulkan SDK on Ubuntu 24.04, which includes slang now. /usr/include/slang.h conflicted with the same file provided by libslang2-dev, with the latter belonging to s-lang, and that prevented correct installation of the SDK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
goal:quality & productivity Quality issues and issues that impact our productivity coding day to day inside slang Needs reporter feedback Bugs awaiting more information from the reporter
Projects
None yet
Development

No branches or pull requests

9 participants