[How-To] Manually upgrade mono from 5.10 to 5.20 in a FreeNAS Jail

[How-To] Manually upgrade mono from 5.10 to 5.20 in a FreeNAS Jail

zamana

Contributor
Joined
Jun 4, 2017
Messages
163
Everything I try to compile inside the LIDARR jails gives me this error:

Code:
root@lidarr:/usr/ports/lang/mono # make -DBATCH install clean
/!\ ERROR: /!\

Ports Collection support for your FreeBSD version has ended, and no ports are
guaranteed to build on this system. Please upgrade to a supported release.

No support will be provided if you silence this message by defining
ALLOW_UNSUPPORTED_SYSTEM.

*** Error code 1

Stop.
make: stopped in /usr/ports/lang/mono


I'm running FreeNAS 11.2-U7, and the jail uses the 11.2-RELEASE-p15.

Should I ALLOW_UNSUPPORTED_SYSTEM?
 

thxtex

Dabbler
Joined
Dec 8, 2017
Messages
27
I'm running FreeNAS 11.2-U7, and the jail uses the 11.2-RELEASE-p15.

Should I ALLOW_UNSUPPORTED_SYSTEM?
I have not succesfully build mono 5.20 yet but I think i had this error also. Try to create your jail using 11.3.
 

ByteNick

Explorer
Joined
Jan 24, 2015
Messages
98
Well, I tried everything. Nothing works for me. It stops at some point in time during the make, most probably due to a version conflict of something.
 

ByteNick

Explorer
Joined
Jan 24, 2015
Messages
98
I run into exactly the same issue. I have followed the suggestions in this thread but end up as shown.

I build a fresh jail with "mono","nano","perl5","llvm80","libepoxy-1.5.2". Change to 'latest' from 'quarterly' in FreeBSD.conf which will update Perl to 5.30.1. Then updating the version string in 'PORTVERSION=' and start the build.

Any suggestions on what might be wrong?

TIA

I think I nailed it.

Run pkg delete -f "*proto" and the compilation SHOULD be OK now.
 

HPloco

Cadet
Joined
Oct 25, 2018
Messages
5
you go to the directory for mono under your ports after you have compiled and literally run "make package" this creates a tarball which you can then copy to other jails/installations for install then just run "pkg add -f /tmp/mono.whatever.txz"
Thanks for the idea drinking12many.
If anyone is having issues HERE is the tarball created in a plain 11.3-RELEASE-p3, I installed it in a 11.2-RELEASE-p4,it works beautifully.
 

ChaosBlades

Contributor
Joined
Jul 4, 2015
Messages
137
Not sure why some people are needing to compile different things than me to get mono 5.20 to compile.

I just did a fresh 11.3-RELEASE-p3 jail install on FreeNAS-11.2-U7 with jackett and I tried to compile mono first just to see what errors I get and I ended up exactly as my original guide dictates. I could as intended just copy-pasted everything one by one.

I did update the guide with 'make -DBATCH deinstall reinstall' instead of 'make deinstall reinstall' to avoid pointless option prompts.
 

rknaub

Explorer
Joined
Jan 31, 2017
Messages
75
Trying to fumble my way through this guide, I have little knowledge of most of this.

I run standard iocage jails, not plugins. Do I run these commands inside freenas shell, or the jail's shell?
 

ChaosBlades

Contributor
Joined
Jul 4, 2015
Messages
137
Trying to fumble my way through this guide, I have little knowledge of most of this.

I run standard iocage jails, not plugins. Do I run these commands inside freenas shell, or the jail's shell?
I would steer clear of using the shell from within the FreeNAS WebUI except for the simplest of tasks. SSH into your FreeNAS. Windows Powershell (and maybe also command prompt) can do this out of the box now if you are running an updated Windows 10. Just right-click on the Start Button and open "Windows Powershell". At the prompt type "ssh root@[YourFreeNASIP]" press enter, type "yes" for the proceeding prompt, then your password when prompted. At the FreeNAS terminal Type "jls". This will list all your jails. Then Type "jexec # csh" with the # being the jail you want to do this too from the list generated by jls. Then follow the guide as written.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,455
Type "jls". This will list all your jails. Then Type "jexec # csh" with the # being the jail you want to do this too from the list generated by jls.
Better: Run iocage list, get the name of the jail you want if you don't know it already, then iocage console jailname.
 

ChaosBlades

Contributor
Joined
Jul 4, 2015
Messages
137
Better: Run iocage list, get the name of the jail you want if you don't know it already, then iocage console jailname.
Why is it better? Looks like it is just more characters to type.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,455

ChaosBlades

Contributor
Joined
Jul 4, 2015
Messages
137
I have been trying the mono 6.4 patches available in the FreeBSD bug thread and it looks like at least for Jackett about 1/3 of public trackers are affected by the below mono bug.


Code:
Jackett.Common.IndexerException: Exception (nyaa-pantsu): mono-io-layer-error (-1) ---> System.Net.Http.HttpRequestException: mono-io-layer-error (-1) ---> System.Net.Sockets.SocketException: mono-io-layer-error (-1)
  at System.Net.Http.ConnectHelper.ConnectAsync (System.String host, System.Int32 port, System.Threading.CancellationToken cancellationToken) [0x00110] in <e7fbcfc0e15c4681b7cfe771a977436a>:0
   --- End of inner exception stack trace ---
  at System.Net.Http.ConnectHelper.ConnectAsync (System.String host, System.Int32 port, System.Threading.CancellationToken cancellationToken) [0x001ac] in <e7fbcfc0e15c4681b7cfe771a977436a>:0
  at System.Net.Http.HttpConnectionPool.CreateConnectionAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x00134] in <e7fbcfc0e15c4681b7cfe771a977436a>:0
  at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync (System.Threading.Tasks.ValueTask`1[TResult] creationTask) [0x000a2] in <e7fbcfc0e15c4681b7cfe771a977436a>:0
  at System.Net.Http.HttpConnectionPool.SendWithRetryAsync (System.Net.Http.HttpRequestMessage request, System.Boolean doRequestAuth, System.Threading.CancellationToken cancellationToken) [0x00089] in <e7fbcfc0e15c4681b7cfe771a977436a>:0
  at System.Net.Http.DecompressionHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000ca] in <e7fbcfc0e15c4681b7cfe771a977436a>:0
  at CloudflareSolverRe.ClearanceHandler.SendRequestAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x00090] in <9640d5c3ce934e55be2d347202d4fc66>:0
  at CloudflareSolverRe.ClearanceHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000a4] in <9640d5c3ce934e55be2d347202d4fc66>:0
  at System.Net.Http.HttpClient.FinishSendAsyncBuffered (System.Threading.Tasks.Task`1[TResult] sendTask, System.Net.Http.HttpRequestMessage request, System.Threading.CancellationTokenSource cts, System.Boolean disposeCts) [0x0017e] in <e7fbcfc0e15c4681b7cfe771a977436a>:0
  at Jackett.Common.Utils.Clients.HttpWebClient.Run (Jackett.Common.Utils.Clients.WebRequest webRequest) [0x0048c] in <fceed2e6bbfe4225b39926f831493791>:0
  at Jackett.Common.Utils.Clients.WebClient.GetString (Jackett.Common.Utils.Clients.WebRequest request) [0x0010b] in <fceed2e6bbfe4225b39926f831493791>:0
  at Jackett.Common.Indexers.BaseWebIndexer.RequestStringWithCookies (System.String url, System.String cookieOverride, System.String referer, System.Collections.Generic.Dictionary`2[TKey,TValue] headers) [0x000cb] in <fceed2e6bbfe4225b39926f831493791>:0
  at Jackett.Common.Indexers.CardigannIndexer.PerformQuery (Jackett.Common.Models.TorznabQuery query) [0x0086a] in <fceed2e6bbfe4225b39926f831493791>:0
  at Jackett.Common.Indexers.BaseIndexer.ResultsForQuery (Jackett.Common.Models.TorznabQuery query) [0x00091] in <fceed2e6bbfe4225b39926f831493791>:0
   --- End of inner exception stack trace ---
  at Jackett.Common.Indexers.BaseIndexer.ResultsForQuery (Jackett.Common.Models.TorznabQuery query) [0x000ee] in <fceed2e6bbfe4225b39926f831493791>:0
  at Jackett.Common.Indexers.BaseWebIndexer.ResultsForQuery (Jackett.Common.Models.TorznabQuery query) [0x0006b] in <fceed2e6bbfe4225b39926f831493791>:0
  at Jackett.Server.Controllers.ResultsController.Torznab (Jackett.Common.Models.DTO.TorznabRequest request) [0x003b1] in <2a2a65f5995e45f0b7a41f57266917f8>:0 
 
Last edited:

diedrichg

Wizard
Joined
Dec 4, 2012
Messages
1,319
Don't waste time to compile llvm80 (or llvm90 more recently) and libepoxy.
Just install package :
pkg install -y llvm80 libepoxy-1.5.2
Then you can make mono
Worked well for me today
This worked for me yesterday on 11.2-U7 with an upgraded 11.3 jail.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,455

srtviperjr

Dabbler
Joined
Jan 30, 2013
Messages
20
Hey folks.

I was successful in making the latest mono 6.4.0.198 in hopes that it might resolve the issues I have been having.

Jackett runs for 30 ish minutes then stops responding. It's a fresh jail on 11.3 using the latest jackett version 0.12.1590.0

When it stops responding the service is still running but it's no longer listening on port 9117 (according to sockstat -4 -l)
Stopping and restarting the service doesn't make it respond, the only way I can get it to run again is restarting the jail.
No errors or anything in the log when it dies - i'm kind of stumped where to troubleshoot now.
Jail always responds to ping. Tried with auto update on and off doesn't matter. Installed an older version of jackett and the update works fine.

Ideas?
 
Top