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 support for Ubuntu 22.04 (Jammy Jellyfish) - April 2022 Release Date #7038

Closed
12 of 15 tasks
Tracked by #3276
rbhanda opened this issue Dec 14, 2021 · 68 comments
Closed
12 of 15 tasks
Tracked by #3276
Assignees

Comments

@rbhanda
Copy link
Contributor

rbhanda commented Dec 14, 2021

This issue is created to track progress for the work to enable Ubuntu 22.04 support for .NET Core 3.1, .NET 5.0 and .NET 6.0

Product and Test updates

  • All teams] Do a compatibility check for the product with the new OS
  • [CoreCLR/CoreFX] Runtime / RID Support update
  • [Infra] Ensure that the correct Docker images used by teams are built in the dotnet-buildtools-prereqs (if applicable)
  • [Infra] Replace docker tags used in builds across repos and branches
  • [CLI team] Update CI legs to latest updated Dockerfile
  • [All teams] Update test infrastructure to support the new version
  • [Acquisition] Add support within nightly repos
  • [Acquisition] Deploy to master (GA) during next patch release cycle

Release team:

  • Notify .NET Core teams regarding new OS release
  • Follow up with infra and add feed for new OS release to packages.microsoft.com
  • Update release manifest files
  • Create new Docker files to test the new OS
  • Update the supported OS content on GitHub and marketing sites.

Document updates:

  • Add OS prerequisites to the dependencies document
  • Update distro install page
@mthalman
Copy link
Member

22.04 isn't expected to be released until April 2022.

@rbhanda rbhanda changed the title Add support for Ubuntu 22.04 (Jammy Jellyfish) Add support for Ubuntu 22.04 (Jammy Jellyfish) - April 2022 Release Date Dec 14, 2021
@rbhanda
Copy link
Contributor Author

rbhanda commented Feb 10, 2022

@wfurt if we have not started adding the RID, we should target to get those in as soon as possible for the April Release

@wfurt
Copy link
Member

wfurt commented Feb 15, 2022

ok. I'll take look @rbhanda.

@MichaelSimons
Copy link
Member

@rbhanda - What is the status of this? If there are pending product changes that have not gone into April servicing, we will not be able to claim support on release day.

@rbhanda
Copy link
Contributor Author

rbhanda commented Mar 23, 2022

We have already pushed last two updates to Ubuntu 22.04. We are ready to announce the added distro as supported with the April release. @dcwhittaker FYI for the April blog post

@MichaelSimons
Copy link
Member

Thanks for the update. There is the one unresolved Arm32 issue @mthalman found which is linked here. It's something to consider noting in any announcements.

@rzikm
Copy link
Member

rzikm commented Mar 28, 2022

The arm32 issue is being fixed by dotnet/runtime#67145 for .NET 6.0, porting to older releases is going to be problematic and people are leaning against doing so.

  • .NET 5 is near EOL - will go out of support 17 days after Ubuntu 22.04 release, will there be another .NET 5 release before that?
  • .NET Core 3.1 does not officially support OpenSSL 3.0 and porting the fix would require large changes.

If you have any concerns, feel free to raise them in dotnet/runtime#66310.

@rzikm
Copy link
Member

rzikm commented Mar 28, 2022

There is the one unresolved Arm32 issue @mthalman found which is linked here. It's something to consider noting in any announcements.

@rbhanda, @dcwhittaker note that in the current state (i.e. without the fix in dotnet/runtime#67145), .NET is pretty much unusable on arm32 Ubuntu 22.04 (or any 32-bit platform with OpenSSL 3.0), as even the build commands like dotnet restore which download files over HTTPS will not work, just something to keep in mind for the blog post.

@omajid
Copy link
Member

omajid commented Mar 28, 2022

Is installing OpenSSL 1.x an option on Ubuntu 22.04? .NET Core 3.1 (and newer) will work against that even on arm32, right? Could that be documented as a workaround?

@rzikm
Copy link
Member

rzikm commented Mar 28, 2022

Is installing OpenSSL 1.x an option on Ubuntu 22.04? .NET Core 3.1 (and newer) will work against that even on arm32, right? Could that be documented as a workaround?

Unfortunately, @omajid, we prioritize OpenSSL 3.0 when looking for a suitable library version, so the workaround would have to somehow make sure that dotnet does not see OpenSSL 3.0 libs, which is either very hard or impossible for common users.

Edit, actually, there is environment variable for that: CLR_OPENSSL_VERSION_OVERRIDE, which can be used to point dotnet to older OpenSSL version, so setting it to 1.1 could work. (see https://github.com/dotnet/runtime/blob/main/src/native/libs/System.Security.Cryptography.Native/opensslshim.c#L56-L77)

@goldenbull
Copy link

can not install from apt source yet.

ubuntu@ubuntu2204:~$ wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
--2022-03-29 14:31:18--  https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb
Resolving packages.microsoft.com (packages.microsoft.com)... 13.75.64.135
Connecting to packages.microsoft.com (packages.microsoft.com)|13.75.64.135|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3692 (3.6K) [application/octet-stream]
Saving to: ‘packages-microsoft-prod.deb’

packages-microsoft-prod.deb                                               100%[==================================================================================================================================================================================>]   3.61K  --.-KB/s    in 0s

2022-03-29 14:31:18 (2.12 GB/s) - ‘packages-microsoft-prod.deb’ saved [3692/3692]



ubuntu@ubuntu2204:~$ sudo dpkg -i packages-microsoft-prod.deb
Selecting previously unselected package packages-microsoft-prod.
(Reading database ... 115636 files and directories currently installed.)
Preparing to unpack packages-microsoft-prod.deb ...
Unpacking packages-microsoft-prod (1.0-ubuntu22.04.1) ...
Setting up packages-microsoft-prod (1.0-ubuntu22.04.1) ...


ubuntu@ubuntu2204:~$ sudo apt-get update;   sudo apt-get install -y apt-transport-https &&   sudo apt-get update &&   sudo apt-get install -y dotnet-sdk-6.0
Hit:1 https://mirrors.aliyun.com/ubuntu jammy InRelease
Hit:2 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease
Hit:3 https://mirrors.aliyun.com/ubuntu jammy-updates InRelease
Hit:4 https://mirrors.aliyun.com/ubuntu jammy-backports InRelease
Hit:5 https://mirrors.aliyun.com/ubuntu jammy-security InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
apt-transport-https is already the newest version (2.4.3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Hit:1 https://mirrors.aliyun.com/ubuntu jammy InRelease
Hit:2 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease
Hit:3 https://mirrors.aliyun.com/ubuntu jammy-updates InRelease
Hit:4 https://mirrors.aliyun.com/ubuntu jammy-backports InRelease
Hit:5 https://mirrors.aliyun.com/ubuntu jammy-security InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dotnet-sdk-6.0 : Depends: netstandard-targeting-pack-2.1 (>= 2.1.0) but it is not installable
E: Unable to correct problems, you have held broken packages.


ubuntu@ubuntu2204:~$ uname -a
Linux ubuntu2204 5.15.0-23-generic dotnet/core#23-Ubuntu SMP Fri Mar 11 14:54:05 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux


ubuntu@ubuntu2204:~$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Jammy Jellyfish (development branch)
Release:        22.04
Codename:       jammy

@mthalman
Copy link
Member

can not install from apt source yet.

@rbhanda, @NikolaMilosavljevic - Can you investigate this (from #7038 (comment))?

It doesn't look like netstandard-targeting-pack-2.1 is getting published. It doesn't exist at https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/n/netstandard-targeting-pack-2.1/.

@goldenbull
Copy link

go on...

The following packages have unmet dependencies:
 dotnet-sdk-6.0 : Depends: netstandard-targeting-pack-2.1 (>= 2.1.0) but it is not installable
                  Depends: aspnetcore-runtime-6.0 (>= 6.0.3) but it is not going to be installed
                  Depends: dotnet-runtime-6.0 (>= 6.0.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

@NikolaMilosavljevic
Copy link
Member

can not install from apt source yet.

@rbhanda, @NikolaMilosavljevic - Can you investigate this (from #7038 (comment))?

It doesn't look like netstandard-targeting-pack-2.1 is getting published. It doesn't exist at https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/n/netstandard-targeting-pack-2.1/.

Yes, the package is missing - @rbhanda @leecow can this be added for 22.04?

@NikolaMilosavljevic
Copy link
Member

Installation on 22.04 will hit another issue, even after netstandard-targeting-pack-2.1 gets added to 22.04 feed.

dotnet-runtime-deps-6.0 package will fail to install due to missing libssl dependencies:

The following packages have unmet dependencies:
 dotnet-runtime-deps-6.0 : Depends: libssl1.0.0 but it is not installable or
                                    libssl1.0.2 but it is not installable or
                                    libssl1.1 but it is not installable

@bartonjs
Copy link
Member

bartonjs commented Apr 6, 2022

A 22.04 package should depend on libssl3: https://packages.ubuntu.com/jammy/libssl3

That's only true for .NET 6 and higher. .NET Core 3.1 doesn't try to load OpenSSL 3.

@leecow
Copy link
Member

leecow commented Apr 8, 2022

netstandard-targeting-pack-2.1 is now available at https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/n/

@emmenlau
Copy link

A 22.04 package should depend on libssl3: https://packages.ubuntu.com/jammy/libssl3

That's only true for .NET 6 and higher. .NET Core 3.1 doesn't try to load OpenSSL 3.

@bartonjs I'm not sure I follow, why should that not apply to .NET 5? I fail to install .NET 5 for the exact same error, would be great if this could be fixed soon (Ubuntu jammy is just around the corner).

@richlander
Copy link
Member

No problem.

@mattiaswerner
Copy link

Any word on when the dotnet-sdk snap will be fixed?

@tayfunuyar
Copy link

echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list

sudo apt-get update
sudo apt-get install libssl1.1

If your error is continue, this is working. You can try it.

@richlander
Copy link
Member

We haven't fixed the snap yet.

While we're discussing it, is the advantage of snaps that you don't have to register the Microsoft feed or something else?

@Shadow53
Copy link

I don't use snaps myself, but my understanding is that the advantages are (1) sandboxed dependencies and (2) distribution-agnostic installation on any distro with snapd installed, not just Ubuntu.

@richlander
Copy link
Member

I'm guessing that value prop 2 is the big one. Thanks for the reminder.

@0xW1sKy
Copy link

0xW1sKy commented Aug 10, 2022

for others looking for a solution:

The impish repo didn't work for me, but this did.
microsoft/live-share#4646 (comment)

@trendzetter
Copy link

wft?! this is a supported framework or just steaming pile of sh*t?? 3.1 not yet 3 years old and it's uninstallable...

@thangchung
Copy link

We got a lot of problems related to this issue (I believe). See dotnet/runtime#76199
Do we have a workable solution for it?

@slonopotamus
Copy link

slonopotamus commented Sep 15, 2022

3.1 not yet 3 years old and it's uninstallable...

3.1 LTS is EOL in less than three months. So, it is understandable why there is no effort to make 3.1 run on Ubuntu 22.04. Length of .NET Core long time support is a separate issue.

@viliamjr
Copy link

After install dotnet-sdk-6.0 successfully (using the microsoft package feed) I could not install the dotnet-sdk-3.1.
There is a problem with the 'targeting-pack' dependency:

$ cat /etc/issue
Ubuntu 22.04.1 LTS

$ dotnet --list-sdks
6.0.401 [/usr/share/dotnet/sdk]
 
$ sudo apt install dotnet-sdk-3.1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dotnet-sdk-3.1 : Depends: dotnet-targeting-pack-3.1 (>= 3.1.0) but it is not installable
                  Depends: aspnetcore-targeting-pack-3.1 (>= 3.1.10) but it is not installable
E: Unable to correct problems, you have held broken packages.

@NikolaMilosavljevic
Copy link
Member

@viliamjr .NET 6+ is supported on Ubuntu 22.04 - https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

@MichaelSimons
Copy link
Member

@rbhanda, can this issue be closed?

@MattGal MattGal removed their assignment Mar 6, 2023
@leecow leecow closed this as completed Jun 9, 2023
@rudi-cilibrasi
Copy link

Thanks for the fix! Working perfectly again now! Cheers, Rudi

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