-
Notifications
You must be signed in to change notification settings - Fork 404
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
Consider static linking xcb and others #931
Comments
Hmm yeah so I think the person who wrote that meant “you need one of util0 or uyil1 to build” but I guess we perverted that meaning a bit with a binary deb file which probably builds against util 1. I am a touch out of my depth on deb packaging tbh. Have you built from source against util0 and had it work? It is super easy to change the deb though which I suppose is the right thing? @tank-trax any thoughts? |
I use Debian Stretch and can build Surge locally using libxcb-util0 however to be able to install and use the prebuilt binary it is necessary to install libxcb-util1 If not mistaken I also needed libxcb-util1 for Bitwig to run. Using Debian Stretch, Ardour can recognize and load Surge without issue. I would recommend to try clearing your blacklist and plugin cache in Ardour and rescan VST plugins again. |
Right; So the deb should remov the |util0 then since it wont run with util0? (Even though the code would build with util0)? I guess: is the .deb file supposed to indicate the build-time dependencies if you ship source; and runtime if you ship binary? That sounds right to me (and like I said it is a 20 character change) but just want to make sure that’s what’s expected. |
Right So it looks like the “|” is correct for a source asset but not a binary one. I vote that I make the .deb say just the one we build with (xcbutil1) and then add to the README for linux that you can build against either but we build in our pipeline against 1 so our binary issue says that. Sounds right yeah? |
I tried this out, found the source it builds on Debian but installs the file in creating a symlink as follows:
allows for Surge to open with this locally built xcb-util1 |
OK I am going to address this issue by removing the reference to lib-xcbutil-0 from the .deb file which we build in the images. Change to that effect inbound. If there's a different change to be made please reopen the issue once it auto closes on sweep! |
Surge will build against xcb util 0 or 1, but we build it against 1 in the binary image, so remove the deceptive "or" in the deb file for binaries we ship Closes surge-synthesizer#931
Surge will build against xcb util 0 or 1, but we build it against 1 in the binary image, so remove the deceptive "or" in the deb file for binaries we ship Closes #931
@baconpaul Maybe statically linking xcb-util might do the trick. |
I was chatting with @jpcima and a few others and I think the answer we came to here was: (1) don’t statically link this entire mess of libraries; (2) one day make cmakebuilds work better and (3) have people build on their own system (which is why folks are doing things like putting the build into AUR) I don’t know if that’s right but wanted to tag JP here also |
some people are running into this error again |
Well we haven’t changed anything so that is likely. I don’t know what to do other than suggest those people build the software themselves against the libraries they run |
is there any way to bundle libxcb-util1 with the install |
i'm so outside my depth with that question I just don't know @falkTX any ideas on this one? |
for your official packages I think it makes sense to statically link. is the CI able to cache resources from one build to the next? |
We can cache resources if we need to yeah but we haven't had to yet. To statically link we need to build everything needed right? That's why yo worry about caching? |
yeah, we do not want to build a bunch of libs on every single commit or release on CI. |
JUCE probably rids us of this issue as well? |
juce dlopens libX11, so yes |
OK then let's close this one if @baconpaul agrees! |
so we should close it, but not so much because the problem is solved, but just because the DAW manufacturers work around the problems you get if you use standard JUCE and we will use standard JUCE now, so nothing to be done! Binary distributions of surge-xt will have problems on some OSes still but we won't fix that any way other than making build instructions continue to get easier! |
Describe the bug
I haven't been able to make Surge run in Ardour on a Debian Buster system without installing libxcb-util1, which is not available in the Debian repositories. (Without this library version installed, Ardour simple blacklists the plugin when scanning.) However, the .deb package's dependency list apparently contains "libxcb-util1 | libxcb-util0", so there's no indication upon installation that there's a dependency problem.
Please let us know your surge version
Desktop (please complete the following information):
The text was updated successfully, but these errors were encountered: