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

add libunity to LD_LIBRARY_PATH #24

Merged
merged 1 commit into from Feb 16, 2017
Merged

add libunity to LD_LIBRARY_PATH #24

merged 1 commit into from Feb 16, 2017

Conversation

paroj
Copy link
Contributor

@paroj paroj commented Nov 18, 2016

No description provided.

@didrocks
Copy link
Member

Thanks for this patch! However I'm not in favor of merging it: those 2 subdirectories are private libraries protocol. They are not supposed to be available to clients. Real libunity library, supposed to be consumed by client is /usr/lib/<ARCH>/libunity.so.9. Gsettings is simply glib.

On a classic system, those are even not exported to the client. The only exceptions (which are also in the launcher) are mesa and mesa-egl.
/etc/ld.so.conf.d/*-linux-gnu_*GL.conf contains on my machine:

/usr/lib/x86_64-linux-gnu/mesa-egl
/usr/lib/x86_64-linux-gnu/mesa

There are such, considered public library and should be exported.

@paroj
Copy link
Contributor Author

paroj commented Nov 18, 2016

I must admit that private, shared libraries sounds conceptually wrong to me.
Anyway they must be available to the client as some public library (transitively) depends on them.

This is what happens in the linked launchpad bug.
Unity-7.0.typelib -> libunity-protocol-private.so.0 -> libunity.so.9
with the latter not being on the LD_LIBRARY_PATH.

I also do not understand your concern as normally snapcraft would set the LD_LIBRARY_PATH in this exact way inside its .wrapper script.

@didrocks
Copy link
Member

Yeah, but it does it in a public path (as the launcher do)! Not inside a private one.
However, the transitivity needs to be looked at indeed. I need to look again at the linker code to understand how it finds the private libs from the public ones (it doesn't seem to use relative paths or it would have find it).

I'm going to dig into this next week.

@didrocks
Copy link
Member

didrocks commented Feb 9, 2017

Ok, I just added pulseaudio after the runtime refactoring. Do you mind redoing the same with libunity and we integrate it? Thanks!

@paroj paroj changed the title workaround for unity and pulseaudio paths not being exported with cleanbuild add libunity to LD_LIBRARY_PATH Feb 10, 2017
# Tell GStreamer where to find its plugins
export GST_PLUGIN_PATH=$SNAP/usr/lib/$ARCH/gstreamer-1.0

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind removing this blank line now that you merged with master?

@paroj
Copy link
Contributor Author

paroj commented Feb 15, 2017

was using github GUI for merging. now that I had to checkout i rebased on master removing that blankline

@didrocks
Copy link
Member

Perfect! Let's merge it, thanks :) 👍

@didrocks didrocks merged commit 1105ed0 into ubuntu:master Feb 16, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants