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

Mono 6.12 for DSM 7.0 #4669

Closed
wants to merge 5 commits into from

Conversation

DigitalBox98
Copy link
Contributor

Motivation: Update mono to 6.12 for DSM 7.0
Linked issues: #4322

Checklist

  • Build rule all-supported completed successfully
  • Package upgrade completed successfully
  • New installation of package completed successfully

@ymartin59
Copy link
Contributor

You may exclude arch 88f6281

@MarkCiliaVincenti
Copy link

Is this ready to get merged to master and released?

cross/mono/PLIST Outdated Show resolved Hide resolved
cross/mono/PLIST Outdated Show resolved Hide resolved
spk/mono/Makefile Show resolved Hide resolved
@hgy59
Copy link
Contributor

hgy59 commented Jul 11, 2021

Is this ready to get merged to master and released?

No it is not ready yet.

@MarkCiliaVincenti can you tell us, why you would like to have Mono on DSM7?

As I commented in #4524, we do not want to create Mono packages for DSM7, as all packages depending on Mono are outdated and migrated to dotnet (except AFAICR sonarr, but this will only available when migrated to dotnet).

@MarkCiliaVincenti
Copy link

MarkCiliaVincenti commented Jul 11, 2021 via email

@picrap
Copy link

picrap commented Jul 11, 2021

Is this ready to get merged to master and released?

No it is not ready yet.

@MarkCiliaVincenti can you tell us, why you would like to have Mono on DSM7?

As I commented in #4524, we do not want to create Mono packages for DSM7, as all packages depending on Mono are outdated and migrated to dotnet (except AFAICR sonarr, but this will only available when migrated to dotnet).

We are also still using Mono on DSM7 (not for long I hope), so we also are interested in this.
You mentionned that dotnet is available on DSM7, but where?

@hgy59
Copy link
Contributor

hgy59 commented Jul 11, 2021

We are also still using Mono on DSM7 (not for long I hope), so we also are interested in this.
You mentionned that dotnet is available on DSM7, but where?

In this repository dotnet is used as build tool for jellyfin and some *arr-packages.
There is no dotnet runtime or dotnet sdk package for standalone installation available (yet).

I have created such dotnet package (runtime and sdk) some time ago, but never pushed it to this repository.
With DSM 6.1 there where warnings about missing version information for libstdc++, but this was before such a cross package was added to spksrc.

@picrap are you interested in dotnet runtime or dotnet SDK or both?
Do you want dotnet 3.1 too, or is dotnet 5 all you need?

@hgy59
Copy link
Contributor

hgy59 commented Jul 11, 2021

@MarkCiliaVincenti as for current Sonarr package I think it would be enough to publish the current Mono package (5.20.1.34-17) for DSM7.

@MarkCiliaVincenti
Copy link

MarkCiliaVincenti commented Jul 11, 2021 via email

@picrap
Copy link

picrap commented Jul 11, 2021

@hgy59 we plan to move to net5 (or later), once we have a successful build for it, but as of today we’re still using mono (that currently plan to deploy in our package if no Mono package is available for DSM7).

@hgy59
Copy link
Contributor

hgy59 commented Jul 11, 2021

Not sure what you mean.

The mono packages currently available on https://synocommunity.com/packages are built for DSM6 and are not compatible with DSM7 (despite you can see the package in DSM 7 package center on your diskstation, when you added synocommunity package repository).

The packages for DSM7 must specify a DSM7 revision number (i.e. >= 40000) and must not require root permissions (as our DSM6 packages have by default).

By building the current mono package to target DSM7 we will get DSM7 compatible packages.

@hgy59
Copy link
Contributor

hgy59 commented Jul 11, 2021

I have created mono for DSM7. You can download the packages here: https://github.com/hgy59/spksrc/releases/tag/mono-5.20.1.34-17dsm7

But non of the depenent packages is updated for DSM7 yet (jackett, lidarr, sonarr).
jackett is updated for DSM7, but only jackett created with dotnet, that does not depend on mono anymore.

@picrap
Copy link

picrap commented Jul 11, 2021

Thanks for the package! Do you plan to publish it on synocommunity repo?

@hgy59
Copy link
Contributor

hgy59 commented Jul 11, 2021

Thanks for the package! Do you plan to publish it on synocommunity repo?

Yes I will publish those, when there is no negative feedback...
But first we need some experiance with the dependent packages on DSM7.

@picrap
Copy link

picrap commented Jul 16, 2021

So far so good. My package runs with the provided mono (AMD64) without problem.

@publicarray
Copy link
Member

@hgy59 I've recently pushed sonarr and lidarr for DSM7 (dotnet versions only). It did not require any code changes. The first start might take extra long to start since it has to run the updater. (I've tested the downgrade/upgrade path with no issues)

@hgy59
Copy link
Contributor

hgy59 commented Jul 16, 2021

Thanks for the package! Do you plan to publish it on synocommunity repo?

DSM7 versions of Mono 5.20.1.34-17 are now published. Within the regular delay of up to 48 hours these will be visible in DSM package manager.

@publicarray
Copy link
Member

@hgy59 I can confirm Sonarr works with your mono version from your fork. But when I compiled mono from master I got the following:

su sc-nzbdrone -l -s /bin/bash
bash-4.4 $ env PATH=/var/packages/mono/target/bin:${PATH} HOME=/var/packages/nzbdrone/var LD_LIBRARY_PATH=/var/packages/nzbdrone/target/lib /var/packages/mono/target/bin/mono /var/packages/nzbdrone/target/share/Sonarr/Sonarr.exe
Corlib not in sync with this runtime: The runtime did not find the mscorlib.dll it expected. Expected interface version B886E13F-6276-4BE5-85F8-C6BF5EDBD200 but found 1A5E0066-58DC-428A-B21C-0AD6CDAE2789. Check that your runtime and class libraries are matching.
Loaded from: /volume1/@appstore/mono/lib/mono/4.5/mscorlib.dll
Download a newer corlib or a newer runtime at http://www.mono-project.com/download.

To fix it I needed to clean native/mono can we make a note of this?

@publicarray publicarray mentioned this pull request Jul 17, 2021
@hgy59
Copy link
Contributor

hgy59 commented Jul 17, 2021

To fix it I needed to clean native/mono can we make a note of this?

For publishing I always use the same dedicated clone and I always use make native-clean before building packages that depend on natives.
Sometime it's even better to use make dist-clean to clean everything and build from scratch.
If a local build fails, but github action succeeds, you better build from scratch.

Another point is, that native packages with equivalent cross packages must have the same version. This is obvious and must be done on package updates, and a version check could be added to the cross makefiles.

@publicarray
Copy link
Member

@hgy59 Thanks, Yea I guess I was more surprised that the error is only visible at runtime. And since I've never touched mono I did not check that mono had a native component.

@DigitalBox98
Copy link
Contributor Author

Ok I have excluded the 88f6281 arch and submitted the various fixes suggested. So far so good, all builds are green : )

@Stanzilla
Copy link
Contributor

Any chance this could be shipped soon? The problems with Sonarr are creeping up again.

@mreid-tt
Copy link
Contributor

@publicarray would having a newer Mono version as this PR aims to implement resolve the issues with TLS as reported in #5051 that you were attempting to fix in #5070?

@hgy59
Copy link
Contributor

hgy59 commented Mar 26, 2023

superseded by #5677 that fixes all remaining issues.

@hgy59 hgy59 closed this Mar 26, 2023
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.

8 participants