Skip to content

GhostBSD (FreeBSD): OpenSSL problem w/ net8.0 on v13.2 and net6.0 & net8.0 on v14.0  #27

@sjsepan3

Description

@sjsepan3

Overview

I have NOT re-tested it with this this week's release yet: dotnet-sdk-8.0.105-freebsd-x64.tar.gz
I'm trying to sort out my results (below), but it appears that for the freebsd dotnet ports (net6.0 and net8.0 tested here)...

-GhostBSD 2024.01.1 (FreeBSD 14.0-STABLE) or later, neither .net6.0 or net8.0 work due to a SSL library, and
-on GhostBSD 2023.10.1 (FreeBSD 13.2-STABLE) net6.0* works but net 8.0 does not due to SSL librrary issue,
(* -- only when net6.0 is present but net8.0 is not; after net8.0 is added, cannot build net6.0)

I discovered it on a Dell Optiplex 7020, but did all subsequent tests in VirtualBox.

I don't have actual FreeBSD to test; I tried once in VirtualBox but apparently don't know how to do it right, because the installation wouldn't come up.

Versions

issue is present for both net6.0 and net8.0 on...

ghostbsd-version:
24.04.1
freebsd-version:
14.0-STABLE

... and also on ...

ghostbsd-version:
24.01.1
freebsd-version:
14.0-STABLE

...but only for net8.0* on...

ghostbsd-version:
23.10.1
freebsd-version:
13.2-STABLE

GhostBSD 2024.04.1 or 2024.01.1

dotnet --info (GhostBSD 2024.04.1 or 2024.01.1, net6.0 only):

.NET SDK (reflecting any global.json):
 Version:   6.0.403
 Commit:    2bc18bf292

Runtime Environment:
 OS Name:     FreeBSD
 OS Version:  14
 OS Platform: FreeBSD
 RID:         freebsd-x64
 Base Path:   /home/sjsepan/.dotnet/sdk/6.0.403/

global.json file:
  Not found

Host:
  Version:      6.0.11
  Architecture: x64
  Commit:       943474ca16

.NET SDKs installed:
  6.0.403 [/home/sjsepan/.dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.11 [/home/sjsepan/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.11 [/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info

dotnet build (on a simple console app)(GhostBSD 2024.04.1 or 2024.01.1, only .net6.0):

No usable version of libssl was found
Abort trap (core dumped)

dotnet --info (GhostBSD 2024.04.1 or 2024.01.1, net6.0 and net 8.0):

.NET SDK:
 Version:           8.0.104
 Commit:            034f91fcc0
System.TypeInitializationException: The type initializer for 'Crypto' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libSystem.Security.Cryptography.Native.OpenSsl' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
Shared object "libcrypto.so.12" not found, required by "libSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/libSystem.Security.Cryptography.Native.OpenSsl"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"

   at Interop.Crypto..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto.HashAlgorithmToEvp(String hashAlgorithmId)
   at System.Security.Cryptography.SHA256.Implementation..ctor()
   at System.Security.Cryptography.SHA256.Create()
   at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.GetWorkloadVersion()
   at Microsoft.DotNet.Cli.WorkloadCommandParser.GetWorkloadsVersion(WorkloadInfoHelper workloadInfoHelper)
   at Microsoft.DotNet.Cli.CommandLineInfo.PrintInfo()
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

Host:
  Version:      8.0.4
  Architecture: x64
  Commit:       2d7eea2529
  RID:          freebsd-x64

.NET SDKs installed:
  6.0.403 [/usr/home/sjsepan/.dotnet/sdk]
  8.0.104 [/usr/home/sjsepan/.dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.11 [/usr/home/sjsepan/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.4 [/usr/home/sjsepan/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.11 [/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.4 [/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

dotnet build (on a simple console app)(GhostBSD 2024.04.1 or 2024.01.1, .net8.0 also installed):

System.TypeInitializationException: The type initializer for 'Crypto' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libSystem.Security.Cryptography.Native.OpenSsl' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
Shared object "libcrypto.so.12" not found, required by "libSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/libSystem.Security.Cryptography.Native.OpenSsl"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"

   at Interop.Crypto..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto.HashAlgorithmToEvp(String hashAlgorithmId)
   at System.Security.Cryptography.HashProviderDispenser.OneShotHashProvider.HashData(String hashAlgorithmId, ReadOnlySpan`1 source, Span`1 destination)
   at System.Security.Cryptography.SHA256.TryHashData(ReadOnlySpan`1 source, Span`1 destination, Int32& bytesWritten)
   at System.Security.Cryptography.SHA256.HashData(ReadOnlySpan`1 source, Span`1 destination)
   at System.Security.Cryptography.SHA256.HashData(ReadOnlySpan`1 source)
   at System.Security.Cryptography.SHA256.HashData(Byte[] source)
   at Microsoft.DotNet.Cli.Utils.Sha256Hasher.Hash(String text)
   at Microsoft.DotNet.Cli.Utils.ApplicationInsightsEntryFormat.<>c__DisplayClass10_0.<WithAppliedToPropertiesValue>b__1(KeyValuePair`2 p)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
   at Microsoft.DotNet.Cli.Utils.ApplicationInsightsEntryFormat.WithAppliedToPropertiesValue(Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at Microsoft.DotNet.Cli.Telemetry.TelemetryFilter.Filter(Object objectToFilter)
   at Microsoft.DotNet.Cli.Utils.TelemetryEventEntry.SendFiltered(Object o)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

GhostBSD 2023.10.

dotnet --info (GhostBSD 2023.10.1, net6.0 only):

.NET SDK (reflecting any global.json):
 Version:   6.0.403
 Commit:    2bc18bf292

Runtime Environment:
 OS Name:     FreeBSD
 OS Version:  13
 OS Platform: FreeBSD
 RID:         freebsd.13-x64
 Base Path:   /usr/home/sjsepan/.dotnet/sdk/6.0.403/

global.json file:
  Not found

Host:
  Version:      6.0.11
  Architecture: x64
  Commit:       943474ca16

.NET SDKs installed:
  6.0.403 [/usr/home/sjsepan/.dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.11 [/usr/home/sjsepan/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.11 [/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info

dotnet build (GhostBSD 2023.10.1, net6.0 only):

MSBuild version 17.3.2+561848881 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  ConsoleApp1 -> /usr/home/sjsepan/Documents/Projects/DotNetCore/ConsoleApp1/bin/Debug/net6.0/ConsoleApp1.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.94

dotnet run (GhostBSD 2023.10.1, net6.0 only):

Hello World!

dotnet --info(GhostBSD 2023.10.1, net6.0 and net8.0):

.NET SDK:
 Version:           8.0.104
 Commit:            034f91fcc0
System.TypeInitializationException: The type initializer for 'Crypto' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libSystem.Security.Cryptography.Native.OpenSsl' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
Shared object "libcrypto.so.12" not found, required by "libSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/libSystem.Security.Cryptography.Native.OpenSsl"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"

   at Interop.Crypto..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto.HashAlgorithmToEvp(String hashAlgorithmId)
   at System.Security.Cryptography.SHA256.Implementation..ctor()
   at System.Security.Cryptography.SHA256.Create()
   at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.GetWorkloadVersion()
   at Microsoft.DotNet.Cli.WorkloadCommandParser.GetWorkloadsVersion(WorkloadInfoHelper workloadInfoHelper)
   at Microsoft.DotNet.Cli.CommandLineInfo.PrintInfo()
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

Host:
  Version:      8.0.4
  Architecture: x64
  Commit:       2d7eea2529
  RID:          freebsd-x64

.NET SDKs installed:
  6.0.403 [/usr/home/sjsepan/.dotnet/sdk]
  8.0.104 [/usr/home/sjsepan/.dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.11 [/usr/home/sjsepan/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.4 [/usr/home/sjsepan/.dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.11 [/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.4 [/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

dotnet build(GhostBSD 2023.10.1, net6.0 and net8.0):

System.TypeInitializationException: The type initializer for 'Crypto' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libSystem.Security.Cryptography.Native.OpenSsl' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: 
Shared object "libcrypto.so.12" not found, required by "libSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl.so"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl.so" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/libSystem.Security.Cryptography.Native.OpenSsl"
Shared object "libSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"
Cannot open "/usr/home/sjsepan/.dotnet/shared/Microsoft.NETCore.App/8.0.4/liblibSystem.Security.Cryptography.Native.OpenSsl"
Shared object "liblibSystem.Security.Cryptography.Native.OpenSsl" not found, required by "dotnet"

   at Interop.Crypto..cctor()
   --- End of inner exception stack trace ---
   at Interop.Crypto.HashAlgorithmToEvp(String hashAlgorithmId)
   at System.Security.Cryptography.HashProviderDispenser.OneShotHashProvider.HashData(String hashAlgorithmId, ReadOnlySpan`1 source, Span`1 destination)
   at System.Security.Cryptography.SHA256.TryHashData(ReadOnlySpan`1 source, Span`1 destination, Int32& bytesWritten)
   at System.Security.Cryptography.SHA256.HashData(ReadOnlySpan`1 source, Span`1 destination)
   at System.Security.Cryptography.SHA256.HashData(ReadOnlySpan`1 source)
   at System.Security.Cryptography.SHA256.HashData(Byte[] source)
   at Microsoft.DotNet.Cli.Utils.Sha256Hasher.Hash(String text)
   at Microsoft.DotNet.Cli.Utils.ApplicationInsightsEntryFormat.<>c__DisplayClass10_0.<WithAppliedToPropertiesValue>b__1(KeyValuePair`2 p)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
   at Microsoft.DotNet.Cli.Utils.ApplicationInsightsEntryFormat.WithAppliedToPropertiesValue(Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at Microsoft.DotNet.Cli.Telemetry.TelemetryFilter.Filter(Object objectToFilter)
   at Microsoft.DotNet.Cli.Utils.TelemetryEventEntry.SendFiltered(Object o)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)

NOTES

https://forums.freebsd.org/threads/ld-elf-and-libssl-install-bricked-after-upgrade-from-13-1-to-14-0-release.93384/#post-654375
"14.0 has a newer OpenSSL"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions