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

Fixing the GTK interface issues #1

Open
mauritslamers opened this issue Jun 10, 2016 · 3 comments
Open

Fixing the GTK interface issues #1

mauritslamers opened this issue Jun 10, 2016 · 3 comments

Comments

@mauritslamers
Copy link

Do you think it is possible to fix the Ardour GTK problems by editing the compiled binaries to use the bundled GTK libraries from Ardour? Because if the version created by homebrew has sort of the same ABI as the one from Ardour, I would expect that to work.

@david0
Copy link
Owner

david0 commented Jun 11, 2016

As far as I know, the ABI between the GTK version that is bundled with ardour and the more recent homebrew version is incompatbile. I never checked what changes make them incompatible.
But I remember that I tried once to make some plugins compiled with homebrew use the ardour stack. Without success.

You could try to use install_name_tool to change the libraries that will be loaded.

Btw, did you try the ardour formula? For me that solves this problem sufficiently.

@mauritslamers
Copy link
Author

I have been talking in the ardour IRC channel, and it seems that there are severe issues that will not be solved by simply using the libraries included with Ardour.
The most important problem is that GTK plugins will unload GTK under OSX when they close, as there is no linker option under OSX (-Wl,-z,nodelete) which will prevent that.
There is a workaround, which means that all plugins should use dlopen(RTLD_NODELETE) in order to prevent GTK to unload.

@david0
Copy link
Owner

david0 commented Jun 11, 2016

Yes, thats really the only unsolved problem for me. But thats independent of which dependency stack (bundled vs homebrew) you use.

If it would be implemented that plugins won't be unloaded, than everything should work fine (besides memory usage..).

But as far as I understand the architecture, I think this has to be implemented in suil and not by the plugin itselt.
But I might be wrong...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants