Skip to content

Installing .Net Core on openSUSE #3527

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

Closed
jubalh opened this issue Apr 3, 2019 · 9 comments
Closed

Installing .Net Core on openSUSE #3527

jubalh opened this issue Apr 3, 2019 · 9 comments

Comments

@jubalh
Copy link

jubalh commented Apr 3, 2019

Hi,

I started reading: https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites and went from there to https://dotnet.microsoft.com/download/linux-package-manager/opensuse/sdk-2.2.105

Now there are several things:

  • The second page only lists openSUSE Leap (stable/versioned distribution) and not openSUSE Tumbleweed (rolling release distribution). It would be good to have repos and instructions for both.

  • The second page talks about Leap 42.2, which is old. There has been 42.3 and now we are at 15.0 soon getting to 15.1. https://packages.microsoft.com/config/opensuse/ even has a 15 repository. Unfortunately I don't know how to update the page myself, probably its not possible since it's not on docs.microsoft.com where one could send a pull request.

  • I saw that in this issue tracker there have been various occasions when the generated package was not installable due to dependencies. OBS has been mentioned in several of those issues. It could be helpful here.

Microsoft could either host their own OBS instance or use the one from openSUSE I guess.
OBS can build packages for various distributions and the dependencies would match. This would especially be helpful with the fast moving Tumbleweed. Maintainers would also quickly see when a build failure happens and can fix it.

An (not very good in this scenario) example is dino, an XMPP client. In their wiki one can see that packages of Dino get build for Arch, Debian, Fedora, openSUSE and Ubuntu using OBS. And for various versions of those distros too.

The respective devel project can be found here: https://build.opensuse.org/package/show/network:messaging:xmpp:dino/dino

So to summarize:

  1. There is no repository for openSUSE Tumbleweed
  2. The instructions to add the repository for openSUSE Leap are pointing to an old version
  3. OBS might be able to help with packaging/publishing .Net Core
@dagood
Copy link
Member

dagood commented Apr 3, 2019

Thanks for opening this! Some comments on the points:

  1. There is no repository for openSUSE Tumbleweed
  2. The instructions to add the repository for openSUSE Leap are pointing to an old version

The docs do say we support openSUSE 42.3+, I agree we're missing Tumbleweed unless there's some nuance here. @leecow?

I think action on this would be driven by opening issues in https://github.com/dotnet/core. Once we fix https://github.com/dotnet/core-setup/issues/5628 in this repo, the same runtime-deps package should work for 42.3 and 15.0, and hopefully also Tumbleweed (although I haven't tried that at all yet), and the docs and set of feeds need to catch up, which aren't controlled here.

  1. OBS might be able to help with packaging/publishing .Net Core

Our goal to this end is to get into distros proper, see https://github.com/dotnet/source-build#goals, EngineeringPlanLinuxDistroRepos.md for details. The .NET Core product isn't compatible right now with what "building from source" typically implies, so I'm not sure OBS or things like it would work for us.

I think what would help is improving infra (more attainable right now):

  • Remove friction when adding the runtime dependencies package for a new distro/version.
  • Add basic tests to make sure the dependencies exist on that distro/version.

@jubalh
Copy link
Author

jubalh commented Apr 3, 2019

Hi @dagood, thanks for the quick answer!

The docs do say we support openSUSE 42.3+, I agree we're missing Tumbleweed unless there's some nuance here

Yes the docs say that. But at https://dotnet.microsoft.com/download/linux-package-manager/opensuse/sdk-2.2.105 one can select Ubuntu 18.10 and Ubuntu 16.04 but for openSUSE one can only select openSUSE Leap, which then shows information specific to openSUSE Leap 42.2. It would be better if in the drop down menu one could select openSUSE Leap 42.3, openSUSE Leap 15.0 and openSUSE Tumbleweed. If I see it correctly you already build packages for the Leap ones so just the drop down menu should be adapted. Then Tumbleweed added.

BTW openSUSE Leap 42.2 lifetime is over.

Our goal to this end is to get into distros proper.

Yes, that's a good thing to do. I only started into the C# and .Net world today, so I don't know much about the ecosystem or anything at all really. However I'll take a look at the links you provided and see whether I can help with getting .Net Core into official openSUSE repos.

@leecow
Copy link
Member

leecow commented Apr 3, 2019

We will not be adding Tumbleweed to the list of supported distros. Just don't have the bandwidth to maintain too many fast churning distros. This will certainly be a candidate for the community to pick up once source-build is done.

@jubalth - you may be able to successfully install from tarball on Tumbleweed or make use of the Snap installers. See Linux Setup for details on these options.

@jubalh
Copy link
Author

jubalh commented Apr 3, 2019

We will not be adding Tumbleweed to the list of supported distros. Just don't have the bandwidth to maintain too many fast churning distros. This will certainly be a candidate for the community to pick up once source-build is done.

I will keep an eye open for the progress of source-build. Once it's ready I will take care of bringing .Net core to Leap and Tumbleweed repos.

you may be able to successfully install from tarball on Tumbleweed or make use of the Snap installers

For my personal use I'm already using the tarballs. I still wanted to open this issue to clear out how it will be solved for everybody.

Thanks for the replies everybody!

@dagood dagood closed this as completed Apr 10, 2019
@jubalh
Copy link
Author

jubalh commented Apr 11, 2019

Unfortunately I don't think this is adequately adressed yet.

https://dotnet.microsoft.com/download/linux-package-manager/opensuse/sdk-2.2.105 still contains openSUSE Leap and then gives instructions relevant to 42.2, which is out of lifetime.
Instead the drop down menu should list openSUSE Leap 42.3 and openSUSE Leap 15.0 like it does Ubuntu 18.10 and Ubuntu 16.04.

@dagood
Copy link
Member

dagood commented Apr 11, 2019

Sorry about that, missed that point during triage. I filed dotnet/core#2576 for the Leap version issue.

@jubalh
Copy link
Author

jubalh commented Apr 11, 2019

Thanks!

@pavlix
Copy link

pavlix commented Jan 18, 2020

So the answer is... No? Therefore, as a user of Tumbleweed, I'm not supposed to use dotnet-core? Any open source alternatives out there? Will they work with visual studio code or I should forget about vscode as well?

@dagood
Copy link
Member

dagood commented Jan 18, 2020

You can probably use the Microsoft build of .NET Core fine on Tumbleweed. (Generally speaking, the same binaries work on all Linux distros we support, and AFAIK Tumbleweed isn't that different from Leap 15.)

The problem here is the dependencies/requirements of the .NET Core RPM packages: which package names in Tumbleweed provide the libraries required by .NET Core? The names are different per distro, and even change between versions of a given distro. This is what may stop the Microsoft built RPMs for Leap 15 from installing on Tumbleweed, and it's a significant reason supporting a rolling release distro would be challenging for us.

However, that's only one installation method:

you may be able to successfully install from tarball on Tumbleweed or make use of the Snap installers. See Linux Setup for details on these options.

(https://docs.microsoft.com/en-us/dotnet/core/install/runtime?pivots=os-linux#download-and-manually-install might be better for a tarball install.)


Any open source alternatives out there?

.NET Core is open source, and Microsoft maintains builds for a set of distros. The goal (as @leecow pointed out) is that distro maintainers can maintain builds that end up in the official distros. Someone deeply familiar with Tumbleweed is much more likely to be able to keep up with being a distro maintainer for Tumbleweed.

@msftgits msftgits transferred this issue from dotnet/core-setup Jan 30, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants