-
Notifications
You must be signed in to change notification settings - Fork 5k
dotnet-host 2.1.0-preview2-26406-04-1 is not backwards compatible with 2.0.x applications: Failed to resolve library symbol hostfxr_main_startupinfo #3120
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
Comments
Installing I don't think you should be publishing preview packages on the same feed as the release packages. |
So there are two issues here:
|
@livarcocc @nguerrera can you comment on this please |
A lot of applications treat child process printing to stderr as a failure (CI agents, MSBuild etc.) even when exit code is 0. |
So there is 1 bug in the host package which Rakesh has fixed. This had the runtime-deps dependency on dotnet-host rather than dotnet-runtime. Because dotnet-host is the only package (at the moment) that is seen as upgradable by the package managers, the latest is always brought in. A possible workaround for Ubuntu/Debian folks that have been hit by this is the following:
|
I think there is a larger problem here though. The host singleton needs to always work with all previous versions. It can't require an updated host policy or runtime. |
I also want to point out that @natemcmaster mentioned on twitter that the preview host package has been pulled from the feed, but that's left the 2.1.104 SDK installation broken because it complains about missing dependencies. The 2.0.6 host package has to be manually installed first before you can install the SDK right now. |
All of the preview packages got pulled but the dependency of the 2.1.104 SDK should still be there. |
@Petermarcu after using
When I run
|
Just noticed that - working on getting the Preview 1 package removed. |
Alrighty - run apt-get update then apt-cache madison and you should see no 2.1.0 Preview packages. |
@leecow Removing the preview1 package has gotten everything working correctly again. |
FYI: On a fresh CentOS 7 box installing Please just mention me if you need any additional information. |
The host singleton (dotnet.exe) does work with all previous versions of hostfxr. The logging to stderr caused tooling issues here, and the PR above removes that logging. The only thing that doesn't work is apphost ( |
How is it that the 2.1 Preview host package being installed with 2.0 is failing then? I didn't see the almost scenario in this bug, just the dotnet.exe singletons. |
I talked to @steveharter and understand now that the host is tolerant, and doing the right thing functionally. The problem is only that it writes to stderr and some of our tools treat that as an error overall. We're going to explore options for getting an updated host package available. |
This seems to be broken still on the RPM repos. As a hack and workaround, I changed the dotnetdev.repo as follows:
This allows us to rip & install any dotnet packages and not get the preview packages... Now to start doing this across our environments... |
CRCianAU's workaround helped for a clean CentOS 7 |
To fix an existing CentOS 7 installation that broke as a result of this bug, we removed the following: Then editing /etc/yum.repos.d/dotnetdev.repo and adding in the |
A script friendly way to do this on machines you haven't already fixed up as per my suggestion:
|
I confirm the suggestion made by @leecow regarding the setup in Ubuntu machines works by picking first the |
Any workaround for fedora users? I'm stuck with this. |
@joalcava - You can use the same as I suggested above - but change the yum commands for dnf. |
Update on this: Debian, Ubuntu, OpenSUSE and SLES feeds should be up and running for Preview 2 with a fix dotnet-host fix to resolve the compat. Still having trouble with the rhel feed used for RHEL, Fedora, CentOS and Oracle need another team to do some surgery to the repo so will need to wait for Monday. |
@leecow I can confirm that the version of the dotnet-host preview package that gets installed no longer causes the crash (from the Ubuntu feed at least.) However, I still don't understand why it's considered okay that installing a released version of the SDK or runtime installs preview packages in the first place. If I'm installing .NET Core on a production machine, I definitely don't want preview packages installed on it. |
Closing this for the original issue with the logging to stderr. There still is the question above around why a release SDK installs the preview host. |
@steveharter Is there an issue for this that I can follow? |
I'm seeing multiple reports that 2.0.x runtimes no longer launch due to failures in loading libhostfxr.so
travis-ci/travis-ci#9467
https://twitter.com/bradwilson/status/983782235777024000
Repro
On a clean machine, configure feeds as described on https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/sdk-current
sudo apt-get install dotnet-sdk-2.1.104
dotnet --info
Expected
Stable releases of .NET Core should still work and only install stable versions of the
dotnet-host
package.Actual
The installation brings down the prerelease
dotnet-host
package, version 2.1.0-preview2-26406-04-1, which issues this warning before exiting with and error code.Workaround
Downgrade the
dotnet-host
package to an older version@steveharter @Petermarcu @leecow - preview2 impacting
cc @bradwilson @akoeplinger
The text was updated successfully, but these errors were encountered: