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

DotNet SDK doesn't depend on all dependencies? #2262

Closed
tarekgh opened this issue May 22, 2018 · 4 comments
Closed

DotNet SDK doesn't depend on all dependencies? #2262

tarekgh opened this issue May 22, 2018 · 4 comments

Comments

@tarekgh
Copy link
Member

tarekgh commented May 22, 2018

@matthid commented on Tue May 22 2018

cc @akoeplinger

from travis-ci/travis-ci#9644

When updating on travis from latest stable to 2.1.300-rc1-008673. I can publish my application but it fails at runtime with:

Error: Failed to load �3�, error: libunwind.so.8: cannot open shared object file: No such file or directory
  Failed to bind to CoreCLR at '/home/travis/build/fsharp/FAKE/nuget/dotnetcore/Fake.netcore/current/libcoreclr.so

Installing libunwind fixes the problem. Does the sdk installer no longer depend on libunwind?


@karelz commented on Tue May 22 2018

@janvorli can you please help route it?


@janvorli commented on Tue May 22 2018

Have you updated your application to target netcore 2.1? The 2.0 runtime still needs the libunwind8, but the 2.1 does not. So if you build using the 2.1 SDK, but still target 2.0 runtime, you'd likely get this problem.


@matthid commented on Tue May 22 2018

Ok I understand the issue. No we have not upgraded to target netcore2.1.

Is it recommended to update SDK (even without upgrading the application itself)?
I guess the answer is yes (while there is probably no reason to stay on 2.0), that might introduce quite some "unexpectedness" when upgrading.

"area-Meta" fits perfectly because the question is: If I install the sdk via packages and publish an app with it should I have to install additional dependencies or should it depend on everything?

I guess I leave that up to you. Thanks for clarifying.


@janvorli commented on Tue May 22 2018

should I have to install additional dependencies or should it depend on everything

That's a good point. It seems to me that since the 2.1 SDK can target both 2.0 and 2.1 runtimes, its package should still have the dependency on libunwind (and libuuid) or we should clearly inform the user that in case the app published for 2.0 is to be run locally, the 2.0 dependencies need to be installed too.
But I am not an expert in our SDK packaging, so I'd rather let someone more knowledgable in this area to share the intended behavior here. @livarcocc can you please comment on this?

@livarcocc
Copy link
Contributor

This is by design. The SDK itself does not have any native dependencies. This is a dependency of the runtime and it should be covered there.

Moving this issue to core-setup.

@livarcocc
Copy link
Contributor

This issue was moved to dotnet/core-setup#4159

@janvorli
Copy link
Member

@livarcocc does it mean that when someone publishes an application for 2.0, it is intended he cannot run it right away on the build machine without installing the dependency explicitly or installing the runtime on it? It seems quite unexpected that if you just upgrade the SDK from 2.0 to 2.1, your published apps stop running.

@livarcocc
Copy link
Contributor

Correct. We don't make a statement on the SDK that it carries with it all the requirements to run all the different kinds of applications that it can target from a runtime point of view. You are building an application that targets a runtime different from the SDK itself, than it is the developers responsibility to bring that runtime and its requirements to the machine.

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

No branches or pull requests

3 participants