Page MenuHomeFreeBSD

lang/mono: take maintainership, update to 6.8.0.105
Needs ReviewPublic

Authored by prj_rootwyrm.com on Jan 21 2020, 6:56 PM.

Details

Summary

Proposal to take ownership of this port and update significantly.
mono@ has basically been dead for over a year, and has not updated the lang/mono port. I have been working closely with upstream for about a year now, and we have made tremendous strides in improving FreeBSD support as well as making upstream more friendly to the ports architecture. I have also worked with them to integrate FreeBSD into the official Mono CI, and we have gotten to a point where nearly all tests are passing or the failure is itself a failure of the test.

At this point I believe we are ready to take the next step and start bringing lang/mono officially current, and I am comfortable enough with the intricacies to take ownership of this port. There will be additional changes needed over time due to changes in the upstream organizational structure; however, these will not affect this port.

Outstanding work currently is confirming successful builds on aarch64 and powerpc64; it is known to not compile under qemu due to an MCS crash.

Test Plan
  • aarch64: need to confirm compiling on hardware or MCS bug

Completed successfully. Additional aarch64 patches added and upstreamed

  • powerpc64: need to test compiling, impossible to test with qemu (known limitation)

Completed, ppc has been added to supported architectures

  • confirm any building dependencies continue to work as normal

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
romain added inline comments.
Makefile
11

I refreshed the mono@ team page on the wiki: there is a bunch of people who have been contributing updates to the mono ports, including @feld @dbn @dvl and @russ.haley_gmail.com (I hope these mentions will subscribe them to this review). I invite them to update the wiki page if they are no longer interest in maintaining mono:

https://wiki.freebsd.org/Mono

I second what @tcberner says, joining and providing manpower to mono@ seems better than changing the maintainer of lang/mono.

There are two issues:

  • powerpc64-unknown-freebsd target is not supported, use this patch:
--- configure.ac.orig   2020-01-15 08:53:34.000000000 +0100
+++ configure.ac        2020-01-23 12:19:43.480646000 +0100
@@ -4472,7 +4474,7 @@
                ;;
        macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \
         powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | \
-        powerpc-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* )
+        powerpc*-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* )
                if test "x$ac_cv_sizeof_void_p" = "x8"; then
                        TARGET=POWERPC64;
                        CPPFLAGS="$CPPFLAGS -D__mono_ppc__ -D__mono_ppc64__"
  • head uses ELFv2 ABI, which doesn't use -mminimal-toc parameter. However, configure.ac forces -mminimal-toc if the compiler binary (CC) doesn't contain "clang" string (our compiler binary is named "cc"). This breaks build and the easiest way is to fix it in our port's Makefile:
 post-patch:
+.if defined(PPC_ABI) && ${PPC_ABI} == ELFv2
+       ${REINPLACE_CMD} -e '/-mminimal-toc/d' ${WRKSRC}/configure.ac
+.endif
        ${REINPLACE_CMD} -e 's|^#!/bin/bash|#!/usr/bin/env bash|g' \

Other than that, you also need to add powerpc64 to ONLY_FOR_ARCHS in the Makefile.

There's also a large number of plist errors:

===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: lib/mono/4.5/Facades/Microsoft.Win32.Registry.AccessControl.dll.mdb
Error: Orphaned: lib/mono/4.5/Facades/System.IO.FileSystem.AccessControl.dll.mdb
Error: Orphaned: lib/mono/4.5/Facades/System.Reflection.TypeExtensions.dll.mdb
Error: Orphaned: lib/mono/4.5/Facades/System.ServiceProcess.ServiceController.dll.mdb
Error: Orphaned: lib/mono/4.5/Facades/System.Text.Encoding.CodePages.dll.mdb
Error: Orphaned: lib/mono/4.5/Facades/System.Threading.AccessControl.dll.mdb
Error: Orphaned: lib/mono/4.5/RabbitMQ.Client.Apigen.exe.mdb
Error: Orphaned: lib/mono/4.5/al.exe.mdb
Error: Orphaned: lib/mono/4.5/aprofutil.exe.mdb
Error: Orphaned: lib/mono/4.5/browsercaps-updater.exe.mdb
Error: Orphaned: lib/mono/4.5/caspol.exe.mdb
Error: Orphaned: lib/mono/4.5/cccheck.exe.mdb
Error: Orphaned: lib/mono/4.5/ccrewrite.exe.mdb
Error: Orphaned: lib/mono/4.5/cert-sync.exe.mdb
Error: Orphaned: lib/mono/4.5/cert2spc.exe.mdb
Error: Orphaned: lib/mono/4.5/certmgr.exe.mdb
Error: Orphaned: lib/mono/4.5/chktrust.exe.mdb
Error: Orphaned: lib/mono/4.5/crlupdate.exe.mdb
Error: Orphaned: lib/mono/4.5/csharp.exe.mdb
Error: Orphaned: lib/mono/4.5/culevel.exe.mdb
Error: Orphaned: lib/mono/4.5/disco.exe.mdb
Error: Orphaned: lib/mono/4.5/dtd2rng.exe.mdb
Error: Orphaned: lib/mono/4.5/dtd2xsd.exe.mdb
Error: Orphaned: lib/mono/4.5/gacutil.exe.mdb
Error: Orphaned: lib/mono/4.5/genxs.exe.mdb
Error: Orphaned: lib/mono/4.5/httpcfg.exe.mdb
Error: Orphaned: lib/mono/4.5/ictool.exe.mdb
Error: Orphaned: lib/mono/4.5/ikdasm.exe.mdb
Error: Orphaned: lib/mono/4.5/ilasm.exe.mdb
Error: Orphaned: lib/mono/4.5/illinkanalyzer.exe.mdb
Error: Orphaned: lib/mono/4.5/installutil.exe.mdb
Error: Orphaned: lib/mono/4.5/installvst.exe.mdb
Error: Orphaned: lib/mono/4.5/lc.exe.mdb
Error: Orphaned: lib/mono/4.5/macpack.exe.mdb
Error: Orphaned: lib/mono/4.5/makecert.exe.mdb
Error: Orphaned: lib/mono/4.5/mconfig.exe.mdb
Error: Orphaned: lib/mono/4.5/mcs.exe.mdb
Error: Orphaned: lib/mono/4.5/mdbrebase.exe.mdb
Error: Orphaned: lib/mono/4.5/mkbundle.exe.mdb
Error: Orphaned: lib/mono/4.5/mod.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-api-diff.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-api-html.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-api-info.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-cil-strip.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-service.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-shlib-cop.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-symbolicate.exe.mdb
Error: Orphaned: lib/mono/4.5/mono-xmltool.exe.mdb
Error: Orphaned: lib/mono/4.5/monop.exe.mdb
Error: Orphaned: lib/mono/4.5/mozroots.exe.mdb
Error: Orphaned: lib/mono/4.5/mscorlib.dll.mdb
Error: Orphaned: lib/mono/4.5/pdb2mdb.exe.mdb
Error: Orphaned: lib/mono/4.5/permview.exe.mdb
Error: Orphaned: lib/mono/4.5/resgen.exe.mdb
Error: Orphaned: lib/mono/4.5/secutil.exe.mdb
Error: Orphaned: lib/mono/4.5/setreg.exe.mdb
Error: Orphaned: lib/mono/4.5/sgen.exe.mdb
Error: Orphaned: lib/mono/4.5/signcode.exe.mdb
Error: Orphaned: lib/mono/4.5/sn.exe.mdb
Error: Orphaned: lib/mono/4.5/soapsuds.exe.mdb
Error: Orphaned: lib/mono/4.5/sqlmetal.exe.mdb
Error: Orphaned: lib/mono/4.5/sqlsharp.exe.mdb
Error: Orphaned: lib/mono/4.5/svcutil.exe.mdb
Error: Orphaned: lib/mono/4.5/wsdl.exe.mdb
Error: Orphaned: lib/mono/4.5/xbuild.exe.mdb
Error: Orphaned: lib/mono/4.5/xsd.exe.mdb
Error: Orphaned: lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll.mdb
Error: Orphaned: lib/mono/gac/Commons.Xml.Relaxng/4.0.0.0__0738eb9f132ed756/Commons.Xml.Relaxng.dll.mdb
Error: Orphaned: lib/mono/gac/CustomMarshalers/4.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.dll.mdb
Error: Orphaned: lib/mono/gac/I18N.CJK/4.0.0.0__0738eb9f132ed756/I18N.CJK.dll.mdb
Error: Orphaned: lib/mono/gac/I18N.MidEast/4.0.0.0__0738eb9f132ed756/I18N.MidEast.dll.mdb
Error: Orphaned: lib/mono/gac/I18N.Other/4.0.0.0__0738eb9f132ed756/I18N.Other.dll.mdb
Error: Orphaned: lib/mono/gac/I18N.Rare/4.0.0.0__0738eb9f132ed756/I18N.Rare.dll.mdb
Error: Orphaned: lib/mono/gac/I18N.West/4.0.0.0__0738eb9f132ed756/I18N.West.dll.mdb
Error: Orphaned: lib/mono/gac/I18N/4.0.0.0__0738eb9f132ed756/I18N.dll.mdb
Error: Orphaned: lib/mono/gac/IBM.Data.DB2/1.0.0.0__7c307b91aa13d208/IBM.Data.DB2.dll.mdb
Error: Orphaned: lib/mono/gac/ICSharpCode.SharpZipLib/4.84.0.0__1b03e6acf1164f73/ICSharpCode.SharpZipLib.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Engine/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Engine.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Engine/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Engine.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Engine/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Engine.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Framework/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Framework.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Framework/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Framework.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Framework/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Framework.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Tasks.Core/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Tasks.Core.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Tasks.v12.0/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Tasks.v12.0.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Tasks.v4.0/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Tasks.v4.0.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Utilities.Core/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Utilities.Core.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Utilities.v12.0/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Utilities.v12.0.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build.Utilities.v4.0/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Utilities.v4.0.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Build/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.CSharp/4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.VisualC/10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualC.dll.mdb
Error: Orphaned: lib/mono/gac/Microsoft.Web.Infrastructure/1.0.0.0__31bf3856ad364e35/Microsoft.Web.Infrastructure.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Cecil/0.11.0.0__0738eb9f132ed756/Mono.Cecil.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.CodeContracts/4.0.0.0__0738eb9f132ed756/Mono.CodeContracts.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.CompilerServices.SymbolWriter/4.0.0.0__0738eb9f132ed756/Mono.CompilerServices.SymbolWriter.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Data.Sqlite/4.0.0.0__0738eb9f132ed756/Mono.Data.Sqlite.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Data.Tds/4.0.0.0__0738eb9f132ed756/Mono.Data.Tds.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Debugger.Soft/4.0.0.0__0738eb9f132ed756/Mono.Debugger.Soft.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Http/4.0.0.0__0738eb9f132ed756/Mono.Http.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Management/4.0.0.0__0738eb9f132ed756/Mono.Management.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Messaging.RabbitMQ/4.0.0.0__0738eb9f132ed756/Mono.Messaging.RabbitMQ.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Messaging/4.0.0.0__0738eb9f132ed756/Mono.Messaging.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Parallel/4.0.0.0__0738eb9f132ed756/Mono.Parallel.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Profiler.Log/4.0.0.0__0738eb9f132ed756/Mono.Profiler.Log.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Security.Win32/4.0.0.0__0738eb9f132ed756/Mono.Security.Win32.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Simd/4.0.0.0__0738eb9f132ed756/Mono.Simd.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.Tasklets/4.0.0.0__0738eb9f132ed756/Mono.Tasklets.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.WebBrowser/4.0.0.0__0738eb9f132ed756/Mono.WebBrowser.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.XBuild.Tasks/12.0.0.0__0738eb9f132ed756/Mono.XBuild.Tasks.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.XBuild.Tasks/14.0.0.0__0738eb9f132ed756/Mono.XBuild.Tasks.dll.mdb
Error: Orphaned: lib/mono/gac/Mono.XBuild.Tasks/4.0.0.0__0738eb9f132ed756/Mono.XBuild.Tasks.dll.mdb
Error: Orphaned: lib/mono/gac/Novell.Directory.Ldap/4.0.0.0__0738eb9f132ed756/Novell.Directory.Ldap.dll.mdb
Error: Orphaned: lib/mono/gac/PEAPI/4.0.0.0__0738eb9f132ed756/PEAPI.dll.mdb
Error: Orphaned: lib/mono/gac/RabbitMQ.Client/4.0.0.0__b03f5f7f11d50a3a/RabbitMQ.Client.dll.mdb
Error: Orphaned: lib/mono/gac/SMDiagnostics/0.0.0.0__b77a5c561934e089/SMDiagnostics.dll.mdb
Error: Orphaned: lib/mono/gac/System.ComponentModel.Composition/4.0.0.0__b77a5c561934e089/System.ComponentModel.Composition.dll.mdb
Error: Orphaned: lib/mono/gac/System.ComponentModel.DataAnnotations/4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll.mdb
Error: Orphaned: lib/mono/gac/System.Configuration.Install/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll.mdb
Error: Orphaned: lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.mdb
Error: Orphaned: lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll.mdb
Error: Orphaned: lib/mono/gac/System.Data.DataSetExtensions/4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll.mdb
Error: Orphaned: lib/mono/gac/System.Data.Entity/4.0.0.0__b77a5c561934e089/System.Data.Entity.dll.mdb
Error: Orphaned: lib/mono/gac/System.Data.Linq/4.0.0.0__b77a5c561934e089/System.Data.Linq.dll.mdb
Error: Orphaned: lib/mono/gac/System.Data.OracleClient/4.0.0.0__b77a5c561934e089/System.Data.OracleClient.dll.mdb
Error: Orphaned: lib/mono/gac/System.Data.Services.Client/4.0.0.0__b77a5c561934e089/System.Data.Services.Client.dll.mdb
Error: Orphaned: lib/mono/gac/System.Data.Services/4.0.0.0__b77a5c561934e089/System.Data.Services.dll.mdb
Error: Orphaned: lib/mono/gac/System.Data/4.0.0.0__b77a5c561934e089/System.Data.dll.mdb
Error: Orphaned: lib/mono/gac/System.Deployment/4.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll.mdb
Error: Orphaned: lib/mono/gac/System.Design/4.0.0.0__b03f5f7f11d50a3a/System.Design.dll.mdb
Error: Orphaned: lib/mono/gac/System.DirectoryServices.Protocols/4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.Protocols.dll.mdb
Error: Orphaned: lib/mono/gac/System.DirectoryServices/4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll.mdb
Error: Orphaned: lib/mono/gac/System.Drawing.Design/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.Design.dll.mdb
Error: Orphaned: lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.mdb
Error: Orphaned: lib/mono/gac/System.Dynamic/4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll.mdb
Error: Orphaned: lib/mono/gac/System.EnterpriseServices/4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll.mdb
Error: Orphaned: lib/mono/gac/System.IO.Compression.FileSystem/4.0.0.0__b77a5c561934e089/System.IO.Compression.FileSystem.dll.mdb
Error: Orphaned: lib/mono/gac/System.IO.Compression/4.0.0.0__b77a5c561934e089/System.IO.Compression.dll.mdb
Error: Orphaned: lib/mono/gac/System.IdentityModel.Selectors/4.0.0.0__b77a5c561934e089/System.IdentityModel.Selectors.dll.mdb
Error: Orphaned: lib/mono/gac/System.IdentityModel/4.0.0.0__b77a5c561934e089/System.IdentityModel.dll.mdb
Error: Orphaned: lib/mono/gac/System.Json.Microsoft/4.0.0.0__31bf3856ad364e35/System.Json.Microsoft.dll.mdb
Error: Orphaned: lib/mono/gac/System.Json/4.0.0.0__31bf3856ad364e35/System.Json.dll.mdb
Error: Orphaned: lib/mono/gac/System.Management/4.0.0.0__b03f5f7f11d50a3a/System.Management.dll.mdb
Error: Orphaned: lib/mono/gac/System.Messaging/4.0.0.0__b03f5f7f11d50a3a/System.Messaging.dll.mdb
Error: Orphaned: lib/mono/gac/System.Net.Http.Formatting/4.0.0.0__31bf3856ad364e35/System.Net.Http.Formatting.dll.mdb
Error: Orphaned: lib/mono/gac/System.Net.Http.WebRequest/4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.WebRequest.dll.mdb
Error: Orphaned: lib/mono/gac/System.Net.Http/4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll.mdb
Error: Orphaned: lib/mono/gac/System.Net/4.0.0.0__b03f5f7f11d50a3a/System.Net.dll.mdb
Error: Orphaned: lib/mono/gac/System.Numerics.Vectors/4.0.0.0__b03f5f7f11d50a3a/System.Numerics.Vectors.dll.mdb
Error: Orphaned: lib/mono/gac/System.Numerics/4.0.0.0__b77a5c561934e089/System.Numerics.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Core/2.2.0.0__31bf3856ad364e35/System.Reactive.Core.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Debugger/2.2.0.0__31bf3856ad364e35/System.Reactive.Debugger.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Experimental/2.2.0.0__31bf3856ad364e35/System.Reactive.Experimental.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Interfaces/2.2.0.0__31bf3856ad364e35/System.Reactive.Interfaces.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Linq/2.2.0.0__31bf3856ad364e35/System.Reactive.Linq.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Observable.Aliases/0.0.0.0__31bf3856ad364e35/System.Reactive.Observable.Aliases.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.PlatformServices/2.2.0.0__31bf3856ad364e35/System.Reactive.PlatformServices.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Providers/2.2.0.0__31bf3856ad364e35/System.Reactive.Providers.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Runtime.Remoting/2.2.0.0__31bf3856ad364e35/System.Reactive.Runtime.Remoting.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Windows.Forms/2.2.0.0__31bf3856ad364e35/System.Reactive.Windows.Forms.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reactive.Windows.Threading/2.2.0.0__31bf3856ad364e35/System.Reactive.Windows.Threading.dll.mdb
Error: Orphaned: lib/mono/gac/System.Reflection.Context/4.0.0.0__b77a5c561934e089/System.Reflection.Context.dll.mdb
Error: Orphaned: lib/mono/gac/System.Runtime.Caching/4.0.0.0__b03f5f7f11d50a3a/System.Runtime.Caching.dll.mdb
Error: Orphaned: lib/mono/gac/System.Runtime.DurableInstancing/4.0.0.0__31bf3856ad364e35/System.Runtime.DurableInstancing.dll.mdb
Error: Orphaned: lib/mono/gac/System.Runtime.Remoting/4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.mdb
Error: Orphaned: lib/mono/gac/System.Runtime.Serialization.Formatters.Soap/4.0.0.0__b03f5f7f11d50a3a/System.Runtime.Serialization.Formatters.Soap.dll.mdb
Error: Orphaned: lib/mono/gac/System.Runtime.Serialization/4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll.mdb
Error: Orphaned: lib/mono/gac/System.Security/4.0.0.0__b03f5f7f11d50a3a/System.Security.dll.mdb
Error: Orphaned: lib/mono/gac/System.ServiceModel.Activation/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Activation.dll.mdb
Error: Orphaned: lib/mono/gac/System.ServiceModel.Discovery/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Discovery.dll.mdb
Error: Orphaned: lib/mono/gac/System.ServiceModel.Internals/0.0.0.0__b77a5c561934e089/System.ServiceModel.Internals.dll.mdb
Error: Orphaned: lib/mono/gac/System.ServiceModel.Routing/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Routing.dll.mdb
Error: Orphaned: lib/mono/gac/System.ServiceModel.Web/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Web.dll.mdb
Error: Orphaned: lib/mono/gac/System.ServiceModel/4.0.0.0__b77a5c561934e089/System.ServiceModel.dll.mdb
Error: Orphaned: lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll.mdb
Error: Orphaned: lib/mono/gac/System.Threading.Tasks.Dataflow/4.0.0.0__b77a5c561934e089/System.Threading.Tasks.Dataflow.dll.mdb
Error: Orphaned: lib/mono/gac/System.Transactions/4.0.0.0__b77a5c561934e089/System.Transactions.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Abstractions/4.0.0.0__31bf3856ad364e35/System.Web.Abstractions.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.ApplicationServices/4.0.0.0__31bf3856ad364e35/System.Web.ApplicationServices.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.DynamicData/4.0.0.0__31bf3856ad364e35/System.Web.DynamicData.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Extensions.Design/4.0.0.0__31bf3856ad364e35/System.Web.Extensions.Design.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Extensions/4.0.0.0__31bf3856ad364e35/System.Web.Extensions.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Http.SelfHost/4.0.0.0__31bf3856ad364e35/System.Web.Http.SelfHost.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Http.WebHost/4.0.0.0__31bf3856ad364e35/System.Web.Http.WebHost.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Http/4.0.0.0__31bf3856ad364e35/System.Web.Http.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Mobile/4.0.0.0__b03f5f7f11d50a3a/System.Web.Mobile.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Mvc/3.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Razor/2.0.0.0__31bf3856ad364e35/System.Web.Razor.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.RegularExpressions/4.0.0.0__b03f5f7f11d50a3a/System.Web.RegularExpressions.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Routing/4.0.0.0__31bf3856ad364e35/System.Web.Routing.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.Services/4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.WebPages.Deployment/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Deployment.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.WebPages.Razor/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Razor.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web.WebPages/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.dll.mdb
Error: Orphaned: lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll.mdb
Error: Orphaned: lib/mono/gac/System.Windows.Forms.DataVisualization/4.0.0.0__31bf3856ad364e35/System.Windows.Forms.DataVisualization.dll.mdb
Error: Orphaned: lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.mdb
Error: Orphaned: lib/mono/gac/System.Workflow.Activities/4.0.0.0__31bf3856ad364e35/System.Workflow.Activities.dll.mdb
Error: Orphaned: lib/mono/gac/System.Workflow.ComponentModel/4.0.0.0__31bf3856ad364e35/System.Workflow.ComponentModel.dll.mdb
Error: Orphaned: lib/mono/gac/System.Workflow.Runtime/4.0.0.0__31bf3856ad364e35/System.Workflow.Runtime.dll.mdb
Error: Orphaned: lib/mono/gac/System.Xaml/4.0.0.0__b77a5c561934e089/System.Xaml.dll.mdb
Error: Orphaned: lib/mono/gac/System.Xml.Linq/4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll.mdb
Error: Orphaned: lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll.mdb
Error: Orphaned: lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll.mdb
Error: Orphaned: lib/mono/gac/WebMatrix.Data/4.0.0.0__0738eb9f132ed756/WebMatrix.Data.dll.mdb
Error: Orphaned: lib/mono/gac/WindowsBase/4.0.0.0__31bf3856ad364e35/WindowsBase.dll.mdb
Error: Orphaned: lib/mono/gac/cscompmgd/0.0.0.0__b03f5f7f11d50a3a/cscompmgd.dll.mdb
Error: Orphaned: lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe.mdb
Error: Orphaned: lib/mono/gac/monodoc/1.0.0.0__0738eb9f132ed756/monodoc.dll.mdb
Error: Orphaned: lib/mono/mono-configuration-crypto/4.5/Mono.Configuration.Crypto.dll.mdb
Error: Orphaned: lib/mono/mono-configuration-crypto/4.5/mono-configuration-crypto.exe.mdb
Error: Orphaned: lib/mono/xbuild/12.0/bin/xbuild.exe.mdb
Error: Orphaned: lib/mono/xbuild/14.0/bin/xbuild.exe.mdb
Error: Orphaned: lib/mono/xbuild/Microsoft/NuGet/Microsoft.NuGet.Build.Tasks.dll.mdb
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: lib/libmono-btls-shared.so
Error: Missing: lib/mono/4.5/Facades/Microsoft.Win32.Registry.AccessControl.pdb
Error: Missing: lib/mono/4.5/Facades/System.IO.FileSystem.AccessControl.pdb
Error: Missing: lib/mono/4.5/Facades/System.Reflection.TypeExtensions.pdb
Error: Missing: lib/mono/4.5/Facades/System.ServiceProcess.ServiceController.pdb
Error: Missing: lib/mono/4.5/Facades/System.Text.Encoding.CodePages.pdb
Error: Missing: lib/mono/4.5/Facades/System.Threading.AccessControl.pdb
Error: Missing: lib/mono/4.5/Mono.Btls.Interface.dll
Error: Missing: lib/mono/4.5/RabbitMQ.Client.Apigen.pdb
Error: Missing: lib/mono/4.5/al.pdb
Error: Missing: lib/mono/4.5/aprofutil.pdb
Error: Missing: lib/mono/4.5/browsercaps-updater.pdb
Error: Missing: lib/mono/4.5/caspol.pdb
Error: Missing: lib/mono/4.5/cccheck.pdb
Error: Missing: lib/mono/4.5/ccrewrite.pdb
Error: Missing: lib/mono/4.5/cert-sync.pdb
Error: Missing: lib/mono/4.5/cert2spc.pdb
Error: Missing: lib/mono/4.5/certmgr.pdb
Error: Missing: lib/mono/4.5/chktrust.pdb
Error: Missing: lib/mono/4.5/crlupdate.pdb
Error: Missing: lib/mono/4.5/csharp.pdb
Error: Missing: lib/mono/4.5/culevel.pdb
Error: Missing: lib/mono/4.5/disco.pdb
Error: Missing: lib/mono/4.5/dtd2rng.pdb
Error: Missing: lib/mono/4.5/dtd2xsd.pdb
Error: Missing: lib/mono/4.5/gacutil.pdb
Error: Missing: lib/mono/4.5/genxs.pdb
Error: Missing: lib/mono/4.5/httpcfg.pdb
Error: Missing: lib/mono/4.5/ictool.pdb
Error: Missing: lib/mono/4.5/ikdasm.pdb
Error: Missing: lib/mono/4.5/ilasm.pdb
Error: Missing: lib/mono/4.5/illinkanalyzer.pdb
Error: Missing: lib/mono/4.5/installutil.pdb
Error: Missing: lib/mono/4.5/installvst.pdb
Error: Missing: lib/mono/4.5/lc.pdb
Error: Missing: lib/mono/4.5/macpack.pdb
Error: Missing: lib/mono/4.5/makecert.pdb
Error: Missing: lib/mono/4.5/mconfig.pdb
Error: Missing: lib/mono/4.5/mcs.pdb
Error: Missing: lib/mono/4.5/mdbrebase.pdb
Error: Missing: lib/mono/4.5/mdoc.exe
Error: Missing: lib/mono/4.5/mdoc.pdb
Error: Missing: lib/mono/4.5/mkbundle.pdb
Error: Missing: lib/mono/4.5/mod.pdb
Error: Missing: lib/mono/4.5/mono-api-diff.pdb
Error: Missing: lib/mono/4.5/mono-api-html.pdb
Error: Missing: lib/mono/4.5/mono-api-info.pdb
Error: Missing: lib/mono/4.5/mono-cil-strip.pdb
Error: Missing: lib/mono/4.5/mono-service.pdb
Error: Missing: lib/mono/4.5/mono-shlib-cop.pdb
Error: Missing: lib/mono/4.5/mono-symbolicate.pdb
Error: Missing: lib/mono/4.5/mono-xmltool.pdb
Error: Missing: lib/mono/4.5/monolinker.exe
Error: Missing: lib/mono/4.5/monolinker.pdb
Error: Missing: lib/mono/4.5/monop.pdb
Error: Missing: lib/mono/4.5/mozroots.pdb
Error: Missing: lib/mono/4.5/mscorlib.pdb
Error: Missing: lib/mono/4.5/pdb2mdb.pdb
Error: Missing: lib/mono/4.5/permview.pdb
Error: Missing: lib/mono/4.5/resgen.pdb
Error: Missing: lib/mono/4.5/secutil.pdb
Error: Missing: lib/mono/4.5/setreg.pdb
Error: Missing: lib/mono/4.5/sgen.pdb
Error: Missing: lib/mono/4.5/signcode.pdb
Error: Missing: lib/mono/4.5/sn.pdb
Error: Missing: lib/mono/4.5/soapsuds.pdb
Error: Missing: lib/mono/4.5/sqlmetal.pdb
Error: Missing: lib/mono/4.5/sqlsharp.pdb
Error: Missing: lib/mono/4.5/svcutil.pdb
Error: Missing: lib/mono/4.5/wsdl.pdb
Error: Missing: lib/mono/4.5/xbuild.pdb
Error: Missing: lib/mono/4.5/xsd.pdb
Error: Missing: lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.pdb
Error: Missing: lib/mono/gac/Commons.Xml.Relaxng/4.0.0.0__0738eb9f132ed756/Commons.Xml.Relaxng.pdb
Error: Missing: lib/mono/gac/CustomMarshalers/4.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.pdb
Error: Missing: lib/mono/gac/I18N.CJK/4.0.0.0__0738eb9f132ed756/I18N.CJK.pdb
Error: Missing: lib/mono/gac/I18N.MidEast/4.0.0.0__0738eb9f132ed756/I18N.MidEast.pdb
Error: Missing: lib/mono/gac/I18N.Other/4.0.0.0__0738eb9f132ed756/I18N.Other.pdb
Error: Missing: lib/mono/gac/I18N.Rare/4.0.0.0__0738eb9f132ed756/I18N.Rare.pdb
Error: Missing: lib/mono/gac/I18N.West/4.0.0.0__0738eb9f132ed756/I18N.West.pdb
Error: Missing: lib/mono/gac/I18N/4.0.0.0__0738eb9f132ed756/I18N.pdb
Error: Missing: lib/mono/gac/IBM.Data.DB2/1.0.0.0__7c307b91aa13d208/IBM.Data.DB2.pdb
Error: Missing: lib/mono/gac/ICSharpCode.SharpZipLib/4.84.0.0__1b03e6acf1164f73/ICSharpCode.SharpZipLib.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Engine/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Engine.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Engine/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Engine.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Engine/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Engine.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Framework/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Framework.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Framework/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Framework.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Framework/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Framework.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Tasks.Core/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Tasks.Core.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Tasks.v12.0/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Tasks.v12.0.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Tasks.v4.0/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Tasks.v4.0.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Utilities.Core/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Utilities.Core.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Utilities.v12.0/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Utilities.v12.0.pdb
Error: Missing: lib/mono/gac/Microsoft.Build.Utilities.v4.0/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.Utilities.v4.0.pdb
Error: Missing: lib/mono/gac/Microsoft.Build/12.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.pdb
Error: Missing: lib/mono/gac/Microsoft.Build/14.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.pdb
Error: Missing: lib/mono/gac/Microsoft.Build/4.0.0.0__b03f5f7f11d50a3a/Microsoft.Build.pdb
Error: Missing: lib/mono/gac/Microsoft.CSharp/4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.pdb
Error: Missing: lib/mono/gac/Microsoft.VisualC/10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualC.pdb
Error: Missing: lib/mono/gac/Microsoft.Web.Infrastructure/1.0.0.0__31bf3856ad364e35/Microsoft.Web.Infrastructure.pdb
Error: Missing: lib/mono/gac/Mono.Btls.Interface/4.0.0.0__0738eb9f132ed756/Mono.Btls.Interface.dll
Error: Missing: lib/mono/gac/Mono.Btls.Interface/4.0.0.0__0738eb9f132ed756/Mono.Btls.Interface.pdb
Error: Missing: lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.pdb
Error: Missing: lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.pdb
Error: Missing: lib/mono/gac/Mono.Cecil/0.11.0.0__0738eb9f132ed756/Mono.Cecil.pdb
Error: Missing: lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.pdb
Error: Missing: lib/mono/gac/Mono.CodeContracts/4.0.0.0__0738eb9f132ed756/Mono.CodeContracts.pdb
Error: Missing: lib/mono/gac/Mono.CompilerServices.SymbolWriter/4.0.0.0__0738eb9f132ed756/Mono.CompilerServices.SymbolWriter.pdb
Error: Missing: lib/mono/gac/Mono.Data.Sqlite/4.0.0.0__0738eb9f132ed756/Mono.Data.Sqlite.pdb
Error: Missing: lib/mono/gac/Mono.Data.Tds/4.0.0.0__0738eb9f132ed756/Mono.Data.Tds.pdb
Error: Missing: lib/mono/gac/Mono.Debugger.Soft/4.0.0.0__0738eb9f132ed756/Mono.Debugger.Soft.pdb
Error: Missing: lib/mono/gac/Mono.Http/4.0.0.0__0738eb9f132ed756/Mono.Http.pdb
Error: Missing: lib/mono/gac/Mono.Management/4.0.0.0__0738eb9f132ed756/Mono.Management.pdb
Error: Missing: lib/mono/gac/Mono.Messaging.RabbitMQ/4.0.0.0__0738eb9f132ed756/Mono.Messaging.RabbitMQ.pdb
Error: Missing: lib/mono/gac/Mono.Messaging/4.0.0.0__0738eb9f132ed756/Mono.Messaging.pdb
Error: Missing: lib/mono/gac/Mono.Parallel/4.0.0.0__0738eb9f132ed756/Mono.Parallel.pdb
Error: Missing: lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.pdb
Error: Missing: lib/mono/gac/Mono.Profiler.Log/4.0.0.0__0738eb9f132ed756/Mono.Profiler.Log.pdb
Error: Missing: lib/mono/gac/Mono.Security.Win32/4.0.0.0__0738eb9f132ed756/Mono.Security.Win32.pdb
Error: Missing: lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.pdb
Error: Missing: lib/mono/gac/Mono.Simd/4.0.0.0__0738eb9f132ed756/Mono.Simd.pdb
Error: Missing: lib/mono/gac/Mono.Tasklets/4.0.0.0__0738eb9f132ed756/Mono.Tasklets.pdb
Error: Missing: lib/mono/gac/Mono.WebBrowser/4.0.0.0__0738eb9f132ed756/Mono.WebBrowser.pdb
Error: Missing: lib/mono/gac/Mono.XBuild.Tasks/12.0.0.0__0738eb9f132ed756/Mono.XBuild.Tasks.pdb
Error: Missing: lib/mono/gac/Mono.XBuild.Tasks/14.0.0.0__0738eb9f132ed756/Mono.XBuild.Tasks.pdb
Error: Missing: lib/mono/gac/Mono.XBuild.Tasks/4.0.0.0__0738eb9f132ed756/Mono.XBuild.Tasks.pdb
Error: Missing: lib/mono/gac/Novell.Directory.Ldap/4.0.0.0__0738eb9f132ed756/Novell.Directory.Ldap.pdb
Error: Missing: lib/mono/gac/PEAPI/4.0.0.0__0738eb9f132ed756/PEAPI.pdb
Error: Missing: lib/mono/gac/RabbitMQ.Client/4.0.0.0__b03f5f7f11d50a3a/RabbitMQ.Client.pdb
Error: Missing: lib/mono/gac/SMDiagnostics/0.0.0.0__b77a5c561934e089/SMDiagnostics.pdb
Error: Missing: lib/mono/gac/System.ComponentModel.Composition/4.0.0.0__b77a5c561934e089/System.ComponentModel.Composition.pdb
Error: Missing: lib/mono/gac/System.ComponentModel.DataAnnotations/4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.pdb
Error: Missing: lib/mono/gac/System.Configuration.Install/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.pdb
Error: Missing: lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.pdb
Error: Missing: lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.pdb
Error: Missing: lib/mono/gac/System.Data.DataSetExtensions/4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.pdb
Error: Missing: lib/mono/gac/System.Data.Entity/4.0.0.0__b77a5c561934e089/System.Data.Entity.pdb
Error: Missing: lib/mono/gac/System.Data.Linq/4.0.0.0__b77a5c561934e089/System.Data.Linq.pdb
Error: Missing: lib/mono/gac/System.Data.OracleClient/4.0.0.0__b77a5c561934e089/System.Data.OracleClient.pdb
Error: Missing: lib/mono/gac/System.Data.Services.Client/4.0.0.0__b77a5c561934e089/System.Data.Services.Client.pdb
Error: Missing: lib/mono/gac/System.Data.Services/4.0.0.0__b77a5c561934e089/System.Data.Services.pdb
Error: Missing: lib/mono/gac/System.Data/4.0.0.0__b77a5c561934e089/System.Data.pdb
Error: Missing: lib/mono/gac/System.Deployment/4.0.0.0__b03f5f7f11d50a3a/System.Deployment.pdb
Error: Missing: lib/mono/gac/System.Design/4.0.0.0__b03f5f7f11d50a3a/System.Design.pdb
Error: Missing: lib/mono/gac/System.DirectoryServices.Protocols/4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.Protocols.pdb
Error: Missing: lib/mono/gac/System.DirectoryServices/4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.pdb
Error: Missing: lib/mono/gac/System.Drawing.Design/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.Design.pdb
Error: Missing: lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.pdb
Error: Missing: lib/mono/gac/System.Dynamic/4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.pdb
Error: Missing: lib/mono/gac/System.EnterpriseServices/4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.pdb
Error: Missing: lib/mono/gac/System.IO.Compression.FileSystem/4.0.0.0__b77a5c561934e089/System.IO.Compression.FileSystem.pdb
Error: Missing: lib/mono/gac/System.IO.Compression/4.0.0.0__b77a5c561934e089/System.IO.Compression.pdb
Error: Missing: lib/mono/gac/System.IdentityModel.Selectors/4.0.0.0__b77a5c561934e089/System.IdentityModel.Selectors.pdb
Error: Missing: lib/mono/gac/System.IdentityModel/4.0.0.0__b77a5c561934e089/System.IdentityModel.pdb
Error: Missing: lib/mono/gac/System.Json.Microsoft/4.0.0.0__31bf3856ad364e35/System.Json.Microsoft.pdb
Error: Missing: lib/mono/gac/System.Json/4.0.0.0__31bf3856ad364e35/System.Json.pdb
Error: Missing: lib/mono/gac/System.Management/4.0.0.0__b03f5f7f11d50a3a/System.Management.pdb
Error: Missing: lib/mono/gac/System.Messaging/4.0.0.0__b03f5f7f11d50a3a/System.Messaging.pdb
Error: Missing: lib/mono/gac/System.Net.Http.Formatting/4.0.0.0__31bf3856ad364e35/System.Net.Http.Formatting.pdb
Error: Missing: lib/mono/gac/System.Net.Http.WebRequest/4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.WebRequest.pdb
Error: Missing: lib/mono/gac/System.Net.Http/4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.pdb
Error: Missing: lib/mono/gac/System.Net/4.0.0.0__b03f5f7f11d50a3a/System.Net.pdb
Error: Missing: lib/mono/gac/System.Numerics.Vectors/4.0.0.0__b03f5f7f11d50a3a/System.Numerics.Vectors.pdb
Error: Missing: lib/mono/gac/System.Numerics/4.0.0.0__b77a5c561934e089/System.Numerics.pdb
Error: Missing: lib/mono/gac/System.Reactive.Core/2.2.0.0__31bf3856ad364e35/System.Reactive.Core.pdb
Error: Missing: lib/mono/gac/System.Reactive.Debugger/2.2.0.0__31bf3856ad364e35/System.Reactive.Debugger.pdb
Error: Missing: lib/mono/gac/System.Reactive.Experimental/2.2.0.0__31bf3856ad364e35/System.Reactive.Experimental.pdb
Error: Missing: lib/mono/gac/System.Reactive.Interfaces/2.2.0.0__31bf3856ad364e35/System.Reactive.Interfaces.pdb
Error: Missing: lib/mono/gac/System.Reactive.Linq/2.2.0.0__31bf3856ad364e35/System.Reactive.Linq.pdb
Error: Missing: lib/mono/gac/System.Reactive.Observable.Aliases/0.0.0.0__31bf3856ad364e35/System.Reactive.Observable.Aliases.pdb
Error: Missing: lib/mono/gac/System.Reactive.PlatformServices/2.2.0.0__31bf3856ad364e35/System.Reactive.PlatformServices.pdb
Error: Missing: lib/mono/gac/System.Reactive.Providers/2.2.0.0__31bf3856ad364e35/System.Reactive.Providers.pdb
Error: Missing: lib/mono/gac/System.Reactive.Runtime.Remoting/2.2.0.0__31bf3856ad364e35/System.Reactive.Runtime.Remoting.pdb
Error: Missing: lib/mono/gac/System.Reactive.Windows.Forms/2.2.0.0__31bf3856ad364e35/System.Reactive.Windows.Forms.pdb
Error: Missing: lib/mono/gac/System.Reactive.Windows.Threading/2.2.0.0__31bf3856ad364e35/System.Reactive.Windows.Threading.pdb
Error: Missing: lib/mono/gac/System.Reflection.Context/4.0.0.0__b77a5c561934e089/System.Reflection.Context.pdb
Error: Missing: lib/mono/gac/System.Runtime.Caching/4.0.0.0__b03f5f7f11d50a3a/System.Runtime.Caching.pdb
Error: Missing: lib/mono/gac/System.Runtime.DurableInstancing/4.0.0.0__31bf3856ad364e35/System.Runtime.DurableInstancing.pdb
Error: Missing: lib/mono/gac/System.Runtime.Remoting/4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.pdb
Error: Missing: lib/mono/gac/System.Runtime.Serialization.Formatters.Soap/4.0.0.0__b03f5f7f11d50a3a/System.Runtime.Serialization.Formatters.Soap.pdb
Error: Missing: lib/mono/gac/System.Runtime.Serialization/4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.pdb
Error: Missing: lib/mono/gac/System.Security/4.0.0.0__b03f5f7f11d50a3a/System.Security.pdb
Error: Missing: lib/mono/gac/System.ServiceModel.Activation/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Activation.pdb
Error: Missing: lib/mono/gac/System.ServiceModel.Discovery/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Discovery.pdb
Error: Missing: lib/mono/gac/System.ServiceModel.Internals/0.0.0.0__b77a5c561934e089/System.ServiceModel.Internals.pdb
Error: Missing: lib/mono/gac/System.ServiceModel.Routing/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Routing.pdb
Error: Missing: lib/mono/gac/System.ServiceModel.Web/4.0.0.0__31bf3856ad364e35/System.ServiceModel.Web.pdb
Error: Missing: lib/mono/gac/System.ServiceModel/4.0.0.0__b77a5c561934e089/System.ServiceModel.pdb
Error: Missing: lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.pdb
Error: Missing: lib/mono/gac/System.Threading.Tasks.Dataflow/4.0.0.0__b77a5c561934e089/System.Threading.Tasks.Dataflow.pdb
Error: Missing: lib/mono/gac/System.Transactions/4.0.0.0__b77a5c561934e089/System.Transactions.pdb
Error: Missing: lib/mono/gac/System.Web.Abstractions/4.0.0.0__31bf3856ad364e35/System.Web.Abstractions.pdb
Error: Missing: lib/mono/gac/System.Web.ApplicationServices/4.0.0.0__31bf3856ad364e35/System.Web.ApplicationServices.pdb
Error: Missing: lib/mono/gac/System.Web.DynamicData/4.0.0.0__31bf3856ad364e35/System.Web.DynamicData.pdb
Error: Missing: lib/mono/gac/System.Web.Extensions.Design/4.0.0.0__31bf3856ad364e35/System.Web.Extensions.Design.pdb
Error: Missing: lib/mono/gac/System.Web.Extensions/4.0.0.0__31bf3856ad364e35/System.Web.Extensions.pdb
Error: Missing: lib/mono/gac/System.Web.Http.SelfHost/4.0.0.0__31bf3856ad364e35/System.Web.Http.SelfHost.pdb
Error: Missing: lib/mono/gac/System.Web.Http.WebHost/4.0.0.0__31bf3856ad364e35/System.Web.Http.WebHost.pdb
Error: Missing: lib/mono/gac/System.Web.Http/4.0.0.0__31bf3856ad364e35/System.Web.Http.pdb
Error: Missing: lib/mono/gac/System.Web.Mobile/4.0.0.0__b03f5f7f11d50a3a/System.Web.Mobile.pdb
Error: Missing: lib/mono/gac/System.Web.Mvc/3.0.0.0__31bf3856ad364e35/System.Web.Mvc.pdb
Error: Missing: lib/mono/gac/System.Web.Razor/2.0.0.0__31bf3856ad364e35/System.Web.Razor.pdb
Error: Missing: lib/mono/gac/System.Web.RegularExpressions/4.0.0.0__b03f5f7f11d50a3a/System.Web.RegularExpressions.pdb
Error: Missing: lib/mono/gac/System.Web.Routing/4.0.0.0__31bf3856ad364e35/System.Web.Routing.pdb
Error: Missing: lib/mono/gac/System.Web.Services/4.0.0.0__b03f5f7f11d50a3a/System.Web.Services.pdb
Error: Missing: lib/mono/gac/System.Web.WebPages.Deployment/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Deployment.pdb
Error: Missing: lib/mono/gac/System.Web.WebPages.Razor/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Razor.pdb
Error: Missing: lib/mono/gac/System.Web.WebPages/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.pdb
Error: Missing: lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.pdb
Error: Missing: lib/mono/gac/System.Windows.Forms.DataVisualization/4.0.0.0__31bf3856ad364e35/System.Windows.Forms.DataVisualization.pdb
Error: Missing: lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.pdb
Error: Missing: lib/mono/gac/System.Workflow.Activities/4.0.0.0__31bf3856ad364e35/System.Workflow.Activities.pdb
Error: Missing: lib/mono/gac/System.Workflow.ComponentModel/4.0.0.0__31bf3856ad364e35/System.Workflow.ComponentModel.pdb
Error: Missing: lib/mono/gac/System.Workflow.Runtime/4.0.0.0__31bf3856ad364e35/System.Workflow.Runtime.pdb
Error: Missing: lib/mono/gac/System.Xaml/4.0.0.0__b77a5c561934e089/System.Xaml.pdb
Error: Missing: lib/mono/gac/System.Xml.Linq/4.0.0.0__b77a5c561934e089/System.Xml.Linq.pdb
Error: Missing: lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.pdb
Error: Missing: lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.pdb
Error: Missing: lib/mono/gac/WebMatrix.Data/4.0.0.0__0738eb9f132ed756/WebMatrix.Data.pdb
Error: Missing: lib/mono/gac/WindowsBase/4.0.0.0__31bf3856ad364e35/WindowsBase.pdb
Error: Missing: lib/mono/gac/cscompmgd/0.0.0.0__b03f5f7f11d50a3a/cscompmgd.pdb
Error: Missing: lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.pdb
Error: Missing: lib/mono/gac/monodoc/1.0.0.0__0738eb9f132ed756/monodoc.pdb
Error: Missing: lib/mono/mono-configuration-crypto/4.5/Mono.Configuration.Crypto.pdb
Error: Missing: lib/mono/mono-configuration-crypto/4.5/mono-configuration-crypto.pdb
Error: Missing: lib/mono/xbuild/12.0/bin/xbuild.pdb
Error: Missing: lib/mono/xbuild/14.0/bin/xbuild.pdb
Error: Missing: lib/mono/xbuild/Microsoft/NuGet/Microsoft.NuGet.Build.Tasks.pdb
Error: Missing: lib/monodoc/monodoc.xml
Error: Missing: lib/monodoc/sources/Mono.source
Error: Missing: lib/monodoc/sources/Mono.tree
Error: Missing: lib/monodoc/sources/Mono.zip
Error: Missing: lib/monodoc/sources/Novell.source
Error: Missing: lib/monodoc/sources/Novell.tree
Error: Missing: lib/monodoc/sources/Novell.zip
Error: Missing: lib/monodoc/sources/cs-errors.tree
Error: Missing: lib/monodoc/sources/cs-errors.zip
Error: Missing: lib/monodoc/sources/ecma334.tree
Error: Missing: lib/monodoc/sources/ecma334.zip
Error: Missing: lib/monodoc/sources/lang-csharp.source
Error: Missing: lib/monodoc/sources/netdocs.source
Error: Missing: lib/monodoc/sources/netdocs.tree
Error: Missing: lib/monodoc/sources/netdocs.zip

@pkubaj Amusingly, those plist errors are fully expected - ppc ISA produces different binary sets than x86. I forgot to note the change to Mono's makefiles to turn on ppc64; that's definitely on me. But honestly, I'm far more surprised it built at all. (I only have qemu where ppc64 is "no.") Can you please try without --disable-btls? I do expect failure there, but, hey! Maybe we'll be surprised, right?

The fix you proposed for configure.ac is actually incorrect though; that needs to be much more generalized because the absence of -mminimal-toc can't be assumed as FreeBSD-specific. That's a damn good catch of a weak test. I opened https://github.com/mono/mono/issues/18554 for this and I'll get this in upstream ASAP.

@pkubaj Amusingly, those plist errors are fully expected - ppc ISA produces different binary sets than x86. I forgot to note the change to Mono's makefiles to turn on ppc64; that's definitely on me. But honestly, I'm far more surprised it built at all. (I only have qemu where ppc64 is "no.") Can you please try without --disable-btls? I do expect failure there, but, hey! Maybe we'll be surprised, right?

The fix you proposed for configure.ac is actually incorrect though; that needs to be much more generalized because the absence of -mminimal-toc can't be assumed as FreeBSD-specific. That's a damn good catch of a weak test. I opened https://github.com/mono/mono/issues/18554 for this and I'll get this in upstream ASAP.

--disable-btls is only added on aarch64. On powerpc64 CONFIGURE_ARGS is the same as on amd64.

I was able to enable BTLS with:

CONFIGURE_ARGS_powerpc64=--enable-btls

in Makefile.

And:

@@ -4486,6 +4488,10 @@
                arch_target=ppc;
                case $host_os in
                  aix*|os400*)
+                       BTLS_SUPPORTED=yes
+                       BTLS_PLATFORM=powerpc
+                       ;;
+                 freebsd*)
                        BTLS_SUPPORTED=yes
                        BTLS_PLATFORM=powerpc
                        ;;

in configure.ac.

This works on both 12.1 and head.

@pkubaj can you please drop this attachment into files/ and re-test? Thanks!

Makefile
11

Okay, so what about for those of us who do not have a bit then? Also I have spoken with @feld and he stepped down from groups because he just doesn't have time, so he's not actually part of mono@.

And we did put the question of 'is anybody still alive' to the mailing list something like a year ago with no response. I also asked ports@ and got a lot of "please update it" with no response from any of the mono folks. I also reached out to individuals back then, same lack of response. The mailing list hasn't had any non-automated or non-spam traffic in over a year. There's multiple bugs including numerous ones with (now obsoleted by upstream) patches that have been open well over a year unaddressed.

As I said; I'm not unopposed at all to resurrecting mono@ but as a project, we really need to be certain that it's going to maintain stewardship of specific ports and not simply be a dumping ground for all things .NET. Especially as this is hoped to just be the beginning. My intent is to start here with Mono (the relatively low-hanging fruit,) and to progress onto full CoreCLR which fans out to dozens of things including better Azure and Azure Pipelines support.

I have a clean testport of the raw diff on FreeBSD 12.1

EDIT: oops, I have these to report:

WARN: Makefile: [63]: whitespace before end of line.
WARN: Makefile: DEVELOPER is listed in OPTIONS_DEFINE, but no PORT_OPTIONS:MDEVELOPER appears.
WARN: Makefile: possible use of absolute pathname "/usr/local".
WARN: Makefile: possible direct use of "LOCALBASE?= /usr/local" found. if so, use ${PREFIX} or ${LOCALBASE}, as appropriate.
WARN: Makefile: use of DISTFILES with single file discouraged. distribution filename should be set by DISTNAME and EXTRACT_SUFX.

I have run time tested this patch with multimedia/emby-server for a few days now and it has worked fine. Build is clean on my system too (12-STABLE).

Makefile
11

I think changing the maintainer doesn't mean to sentence that mono@ is dead. We still have freebsd-mono@ mailing list and mono@ is forwarding to it.

Having him listed in the maintainer explicitly marks his responsibility, which is also a good thing.

I believe that @prj_rootwyrm.com is happy to see that more people join the mono and .NET efforts. Joining (or reviving?) the mono@ team and being the maintainer of mono port shouldn't be conflict. And I recommend him doing both. Note that being a committer isn't the requirement to join a ports team, he just need a committer to help get the patch from him or reviewed by him to commit to the tree. Helping mono@ is also a good practice for him to become a committer in the future.

I suggest that after other parts of this patch are good to commit, we can just let it go into the tree. This can attract more contributors and developers. When more people are contributing to mono@ and @prj_rootwyrm.com are feeling good, we can of course transfer the maintainershop to mono@ again.

Before commiting this patch, please also fix pkg-plist.
You could probably do it like:

.if ${ARCH} == powerpc64
PLIST_SUB+=DLL=""
.else
PLIST_SUB+=DLL="DLL"
.endif

and replace dll with %%DLL%% in pkg-plist.

  • Update to 6.8.0.105
  • Includes fix for powerpc64 building (patch has been upstreamed)
  • Includes @greg_unrelenting.technology 's patch partially; testing is required here. All of the Mono changes were already done upstream except for the boringssl portion. Some were done slightly differently (e.g. REDZONE is for all !APPLE) and revisions were necessary to boehm being deprecated/externalized.

The issue with MCS/CSC insta-crashing on qemu is a known issue due to qemu limitations and Roslyn behaviors, so if anyone knows how I can say "aarch64 as long as it's not qemu" that would be very helpful. Users on qemu should expect this port to NOT build, while users on native arm should have no issues.

if anyone knows how I can say "aarch64 as long as it's not qemu" that would be very helpful. Users on qemu should expect this port to NOT build, while users on native arm should have no issues.

lang/ghc has

.ifdef QEMU_EMULATING
IGNORE= qemu-user-static isn't able to build lang/ghc, but it builds fine on a real hardware
.endif
  • Update to 6.8.0.105
  • Includes fix for powerpc64 building (patch has been upstreamed)
  • Includes @greg_unrelenting.technology 's patch partially; testing is required here. All of the Mono changes were already done upstream except for the boringssl portion. Some were done slightly differently (e.g. REDZONE is for all !APPLE) and revisions were necessary to boehm being deprecated/externalized.

The issue with MCS/CSC insta-crashing on qemu is a known issue due to qemu limitations and Roslyn behaviors, so if anyone knows how I can say "aarch64 as long as it's not qemu" that would be very helpful. Users on qemu should expect this port to NOT build, while users on native arm should have no issues.

This last version update has some plist issues for me as well (amd64 on STABLE12). Please check with Poudriere for QA before updating the diff. If possible. ;-).

! In D23300#518091, @driesm.michiels_gmail.com wrote:

This last version update has some plist issues for me as well (amd64 on STABLE12). Please check with Poudriere for QA before updating the diff. If possible. ;-).

Well, this is definitely "interesting" in the "that's not supposed to happen" vein. I did get reproduction of the plist issue with poudriere, using -t, but no warnings or missing files _without_ -t. Which obviously is wrong both ways.
The problem here is that ppc64 (ELFv1 and v2 both) install everything in plist _plus_ everything %%PPC64%%. However, upon reviewing a similar situation, it looks like I took the 'old bad way' approach. Which is moot when I took the diff from the wrong svn tree, so it was missing the whole %%PPC64%% handling block anyway! (Pointy-hat awarded to: me.)

This diff should resolve the plist issue fully and much more correctly.

This diff should resolve the plist issue fully and much more correctly.

Yes looks good in Poudriere again here too. Thank you.

pkubaj requested changes to this revision.Feb 11 2020, 8:50 PM

On powerpc64, I'm still getting:

configure: error: unknown target

This is because in configure.ac, there's neither powerpc64-*-freebsd, nor powerpc*-*-freebsd:

macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \
powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | \
powerpc-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* )
This revision now requires changes to proceed.Feb 11 2020, 8:50 PM
Makefile
31–67

Wrong place in the Makefile. See Chapter 15. Order of Variables in Port Makefiles.

Also, the .if will never work, PORT_OPTIONS is only defined after including bsd.port.options.mk. You would be better of using a helper in this case.

78–80

Before any include, ARCH is not defined, so this cannot possibly work.

Also, at that point, PLIST is not set, so no need to use +=.

On powerpc64, I'm still getting:

configure: error: unknown target

This is because in configure.ac, there's neither powerpc64-*-freebsd, nor powerpc*-*-freebsd:

Wups. Classic typo error on my part when re-splitting out the patch from when I upstreamed. That actually should read as it does in upstream:

powerpc*-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* )

Note that the behavior around the AC_CHECK_COMPILE_FLAG for -mminimal-toc that seems wrong, is actually deliberate. I put the ELFv1 and ELFv2 flags in that way strictly to expose them as hinges in the event problems are uncovered that are FreeBSD specific. The other way actively broke AIX builds, and setting things more globally would break PASE (which is non-ELF.) And yes, Mono really builds on OS/400 and PASE.

Also, could you use devel/arcanist, or at least generate a diff with full context like it does, with svn diff -x -U9999 or git diff -U9999.

  • Reorder Makefile and expand to svn diff -x -U999999 as requested by @mat
  • Fixed typo in files/patch-powerpc64; this now matches powerpc*-*-freebsd* as in upstream
  • Correctly mark BROKEN for QEMU_EMULATING; Roslyn is very picky about POSIX and does not like qemu
  • Fix .if ${ARCH} PLIST handling by switching to pre/post.mk; accurate plists are still needed for ppc64 ELFv1, arm*, and arm64* This is based on https://reviews.freebsd.org/D22451
  • Remove "EXPERIMENTAL" from Ninja; this is well-tested and perfectly safe. It will remain non-default because of the number of dependencies it pulls in.
  • Remove 'TZ' from MAKE_ENV; this actually hasn't been necessary for a while
  • Correct branch comment; 6.8.0.105 is actually branch 2020-02
pkubaj requested changes to this revision.Feb 17 2020, 9:31 PM

It still fails with:

configure: error: unknown target

on powerpc64.
Since I may have worded myself wrong before, here's a complete patch for configure.ac:

--- configure.ac.orig   2020-02-17 20:58:04.818069000 +0000
+++ configure.ac        2020-02-17 21:30:00.091801000 +0000
@@ -4467,13 +4467,27 @@
                ;;
        macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \
         powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | \
-        powerpc-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* )
+        powerpc*-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* )
                if test "x$ac_cv_sizeof_void_p" = "x8"; then
                        TARGET=POWERPC64;
                        CPPFLAGS="$CPPFLAGS -D__mono_ppc__ -D__mono_ppc64__"
-                       if ! (echo $CC | grep -q -- 'clang'); then
-                               CFLAGS="$CFLAGS -mminimal-toc"
-                       fi
+                       AC_MSG_NOTICE([Checking for PowerPC ISA -mminimal-toc support])
+                       AX_CHECK_COMPILE_FLAG(
+                               [-mminimal-toc],
+                               [CFLAGS="$CFLAGS -mminimal-toc"],
+                               [CFLAGS="$CFLAGS"]
+                       )
+                       case "$host" in
+                               powerpc*-*-freebsd*)
+                                       # We need to be aware if we are ELFv1 or v2 here
+                                       AC_MSG_NOTICE([Checking FreeBSD ELF version])
+                                       if ! ( echo | cc -dM -E - | awk '/_CALL_ELF/ {print $NF}'); then
+                                               AC_DEFINE([POWERPC_ELF], 1, [PowerPC ELFv1])
+                                       else
+                                               AC_DEFINE([POWERPC_ELFV2], 1, [PowerPC ELFv2])
+                                       fi
+                                       ;;
+                       esac
                else
                        TARGET=POWERPC;
                        CPPFLAGS="$CPPFLAGS -D__mono_ppc__"
This revision now requires changes to proceed.Feb 17 2020, 9:31 PM
prj_rootwyrm.com retitled this revision from lang/mono: take maintainership, update to 6.8.0.96 to lang/mono: take maintainership, update to 6.8.0.105.

Apologies for the apparent radio silence; I've actually been working on some high priority issues in upstream and trying to sort out inotify. The patch issue with ppc64 was actually just an SVN hiccup. Upstream patch is correct and will be in next release. This should be ready to go for ppc64 and aarch64.
@greg_unrelenting.technology - your patch should ONLY need to touch external/boringssl/crypto/cpu-aarch64-linux.c at this point, but I can't test here. If that's the case, can you please submit a PR with it to https://github.com/mono/boringssl ?

The inotify issue is now fixed, however, testing with real-world identified that it is extremely necessary, and some minor linking issues were found related to NuGet handling. So some significant changes are in this commit. It should be ready to go as of now though.

  • Removed INOTIFY option; devel/libinotify is now a hard dependency due to file permission reading issues
  • Added dependency on archivers/zip; the absence could now prevent some NuGet consumers from working
  • Removed SQLITE option; databases/sqlite3 is now a hard dependency (virtually guaranteed present anyway)
  • Renamed DEVELOP option to MONODEV, clarified that it is for Mono development
  • Switched to use of autogen.sh to bring patches in line with upstream (due to how tarballs are generated)
  • Removed virtually all ${REINPLACE_CMD} as these are no longer necessary

Most of the SHEBANG_FIX files will also no longer need SHEBANG_FIX (meaning it will only need BINARY_ALIAS for python3) in the future, but 6.8.0.105 isn't there yet, so I'm putting that review off for the next release.

pkubaj requested changes to this revision.Mar 17 2020, 7:52 PM

It doesn't apply after r526962:

pkubaj@talos:$/usr/ports/lang/mono$ doas svn patch D23300.diff
C         Makefile
>         rejected hunk @@ -2,94 +2,118 @@
U         distinfo
A         files/patch-btls-aarch64
D         files/patch-configure.ac
D         files/patch-mcs_class_Mono.Security_Mono.Security.Cryptography_KeyPairPersistence.cs
D         files/patch-mcs_class_Mono.Security_Mono.Security.X509_X509StoreManager.cs
D         files/patch-mcs_tools_mono-configuration-crypto_lib_Mono.Configuration.Crypto_KeyContainerCollection.cs
D         files/patch-mcs_tools_xbuild_data_12.0_Microsoft.CSharp.targets
D         files/patch-mcs_tools_xbuild_data_14.0_Microsoft.CSharp.targets
A         files/patch-mono_configure.ac
D         files/patch-mono_eglib_gfile-posix.c
A         files/patch-mono_metadata_Makefile.am
G         files/patch-mono_mini_Makefile.am.in
>         hunk @@ -1,11 +0,0 @@ already applied
D         files/patch-mono_mini_tramp-amd64.c
D         files/patch-mono_utils_mono-context.h
D         files/patch-mono_utils_mono-threads.c
D         files/patch-scripts_mono-heapviz
U         pkg-message
U         pkg-plist
A         pkg-plist.powerpc
Summary of conflicts:
  Text conflicts: 1

Can you rebase Makefile patch?

This revision now requires changes to proceed.Mar 17 2020, 7:52 PM

@greg_unrelenting.technology - your patch should ONLY need to touch external/boringssl/crypto/cpu-aarch64-linux.c at this point, but I can't test here. If that's the case, can you please submit a PR with it to https://github.com/mono/boringssl ?

Here: https://github.com/mono/boringssl/pull/23

It doesn't apply after r526962:

Oof.. and r526962 is unnecessary with 6.8.0.105 (because the port was written to require a minimum python 3.6) so I end up bulldozing it anyways. However, testing the rebase exposed a problem I missed - misbehavior with ccache that breaks builds. Only reason I caught it is three-way testing. So if a PORTREV bump is needed and the builder uses ccacche, it WILL fail to build correctly. Added NO_CCACHE= yes to prevent this in the event PORTREV is bumped.

I also redid the patches slightly, combining the inotify fix into a single patch file.

Builds fine, but I still have pkg-plist errors, probably because of missing pkg-plist.powerpc. And since this file is missing, all the files that are installed are orphaned.

I'm attaching pkg-plist.powerpc that I myself generated.

Other than this issue, it seems ok.

This revision is now accepted and ready to land.Mar 21 2020, 1:07 AM
mikael removed reviewers: linimon, pkubaj.

It builds fine on aarch64, nice work!

It builds fine on aarch64, nice work!

hm, was that not on -current? I see the ifndef ID_AA64ISAR0_AES_VAL stuff from my github PR didn't make it here yet

It builds fine on aarch64, nice work!

hm, was that not on -current? I see the ifndef ID_AA64ISAR0_AES_VAL stuff from my github PR didn't make it here yet

Oups, yeah, I manually patched it.

How close are we to getting this committed? Are there still some open points or is it fine as is ATM?

Time has come that someone commits this accepted review.

I am a mentored committer so I can do it once my mentors give me approval.
@gerald, @tcberner: Can I proceed?

Time has come that someone commits this accepted review.

I am a mentored committer so I can do it once my mentors give me approval.
@gerald, @tcberner: Can I proceed?

Don't forget about pkg-plist.powerpc that I attached.

Time has come that someone commits this accepted review.

I am a mentored committer so I can do it once my mentors give me approval.
@gerald, @tcberner: Can I proceed?

Don't forget about pkg-plist.powerpc that I attached.

Thank you very much for pointing at it :)

tobik added inline comments.
Makefile
63–64

This does not look ready to me. All the options are broken now because they are defined after bsd.port.options.mk.

@tobik : you are right. I won't commit it blindly even it has already been approved and I will review it carefully. Thanks!

Makefile
23–29

^ iconv is still present here, although you added USES=iconv.

Thanks!

@prj_rootwyrm.com:
Can you please recreate the patch including all the files and changes requested? This include:

Thanks.

This revision now requires changes to proceed.Apr 15 2020, 3:05 PM
pkubaj requested changes to this revision.May 24 2020, 9:55 PM

Looking at the diff between pkg-plist and pkg-plist.powerpc, I noticed I missed this at the end of pkg-plist.powerpc:

@postexec %%PREFIX%%/bin/cert-sync %%LOCALBASE%%/share/certs/ca-root-nss.crt
@postunexec rm -rf %%LOCALBASE%%/share/.mono

Please add this.

prj_rootwyrm.com edited the test plan for this revision. (Show Details)

Bump to 6.8.0.123 (still the 2019-10 branch), clean things up a bit more.

  • Switched @greg_unrelenting.technology 's patch to a git diff that pulls all of the external/boringssl (aka mono/boringssl) sub up to master (which includes the approved and tested PR.)
  • Identified an intermittent regression on 6.8.0.105 that does not reproduce on 6.8.0.123, where stack traces would indicate a certificate validation failure on certain lengthy responses when these entered managed exception paths. I suspect upstream #18838 fixed this issue.
  • Removed ccache prohibition after a few dozen runs to validate the edge case is cleared up with restructured Makefile
  • Added instructions in pkg-message regarding mandatory cert-sync when security/ca_root_nss is updated separate from Mono and when Mono is upgraded. (Unrelated to the fix above, just something I forgot.)
  • Added information on the SPECTRE mitigation option in pkg-descr since pkg-help documentation remains a black hole
  • Internal Roslyn bumped to 3.5.0-beta4-20121-02
  • %%DATADIR%%-2.0/mono/eglib/eglib-config.h now available to consumers
  • MonoWebRequestHandler is now a public ctor - upstream #18835.

There is a performance regression in mono-sgen that was not observed in CI and is not wholly consistent, relating to broken system thread library behavior (not FreeBSD-specific.) The problem has always been there, just varying degrees of severity. Since it's inconsistent and only impacts building Mono itself and some NuGet tasks, it's not worth trying to chase it down out of context.

Upstreamed patches are not in 6.8.0.123 because this is strictly a bug fix release. Work is also being impacted by several show-stopper issues upstream (including a complete inability to compile) that are being handled at a lower priority. This is also significantly impacted by the Azure VMs still being stuck on 12.0-RELEASE.

Hey @salvadore, @pkubaj,

Is this OK for you two? @salvadore, if you commit this, please make sure you close https://bugs.freebsd.org/238089?

If you don't have time at the moment, I'm happy to get this in.

@crees: Feel free to get this. I took it only because I read on IRC that this review needed attention, but I don't know much about mono and you will surely do a better work than me.
However you should probably take a look at https://reviews.freebsd.org/D24988 , which tries to improve this patch.

You might want to take this bug as well: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239614 . I took it for the same reason I took this review and then you would probably deal with it better than me.

fwiw I have been working closely with the submitter over the past few weeks. I have tested both the previous version of this patch as well as the current one.

The previous version (mono-6.8.0.105) did indeed build on amd64, aarch64, powerpc64 (as of 20200526).

The current version (mono-6.8.0.123) does not (as of 20200607). I have been working with the submitter to resolve the issue.

What I have _not_ had the cycles to do yet is to carefully evaluate the differences between this and PR 238089.

Thanks @linimon.

The submitter of ports/238089 has asked for py-pillow to be removed from dependencies unless mono-heapviz is used, as it's a heavy dependency:

"I want to specify there that py-pillow is not RUN_DEPENDS for mono in general case. Only for one debug utility mono-heapviz. But it involves a large number of dependencies."

Can it be an option?

Any chance this is going to get merged? I was running a version of this for a long time and it was working flawlessly for my Mono services, but since rolling back I'm hitting so many annoying bugs in the old version of Mono.

I just read about the pillow PR.

This review has gone on for so long: why not commit what we have and then follow up with pillow later?

Some good progress is better than no progress at all.

When last talking to Philip 3-4 weeks ago I had shown that I had been able to compile his previous patch on all the various archs. The latest version does not. We have not yet agreed on whether we should simply commit the previous patch yet. I will talk to him.

The options block is badly ordered, See https://www.freebsd.org/doc/en/books/porters-handbook/porting-order-options.html for the correct ordering of the variables.

Makefile
59–62

no. Options must not change themselves depending on what is installed.

71

You cannot define any options helpers or otherwise after including bsd.port.options.mk. This line should be removed. (Or all the options afterwards can be removed as they do not do anything.)

98–100
103–105
116–120

The last section in a Makefile is the targets, put this before the targets.