Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DllNotFoundException: sodium assembly in MacOs Unity Version 2021.3.9f1 #155

Closed
Vytek opened this issue Sep 14, 2022 · 4 comments
Closed

Comments

@Vytek
Copy link

Vytek commented Sep 14, 2022

Loading any examples return error. But the bundle sodium is installed.

Schermata 2022-09-14 alle 11 27 05

Error:

DllNotFoundException: sodium assembly: type: member:(null)
AlgoSdk.Crypto.Sha512.Hash256Truncated (System.Void* ptr, System.Int32 length) (at Assets/AlgoSdk/Runtime/CareBoo.AlgoSdk.Crypto/Sha512.cs:51)
AlgoSdk.Crypto.Sha512.Hash256Truncated[TByteArray] (TByteArray bytes) (at Assets/AlgoSdk/Runtime/CareBoo.AlgoSdk.Crypto/Sha512.cs:32)
AlgoSdk.Address.ComputeCheckSum (AlgoSdk.Crypto.Ed25519+PublicKey publicKey) (at Assets/AlgoSdk/Runtime/CareBoo.AlgoSdk/Accounts/Address.cs:165)
AlgoSdk.Address.ToFixedString () (at Assets/AlgoSdk/Runtime/CareBoo.AlgoSdk/Accounts/Address.cs:45)
AlgoSdk.Address.ToString () (at Assets/AlgoSdk/Runtime/CareBoo.AlgoSdk/Accounts/Address.cs:68)
YourFirstTransaction.OnGUI () (at Assets/AlgoSdk/Samples/YourFirstTransaction/YourFirstTransaction.cs:48)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)

MacOs version used:

Versione sistema: macOS 10.13.6 (17G14042)
Versione kernel: Darwin 17.7.0

CPU version:

Nome modello: Mac mini
Identificatore modello: Macmini7,1
Nome processore: Intel Core i5
Velocità processore: 2,6 GHz
Numero di processori: 1
Numero totale di Core: 2
Cache L2 (per Core): 256 KB
Cache L3: 3 MB
Memoria: 8 GB
Versione Boot ROM: 249.0.0.0.0
Versione SMC (sistema): 2.24f32

Unity version:

Schermata 2022-09-14 alle 11 20 58

@Vytek
Copy link
Author

Vytek commented Sep 14, 2022

Checking file:

sodium.bundle: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
sodium.bundle (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
sodium.bundle (for architecture arm64): Mach-O 64-bit dynamically linked shared library arm64

Schermata 2022-09-14 alle 11 58 12

I don't understand what the problem is :-(

@Vytek
Copy link
Author

Vytek commented Sep 14, 2022

The function is exported:

Schermata 2022-09-14 alle 12 08 50

jasonboukheir added a commit that referenced this issue Nov 26, 2022
this is to make older devices supported who cannot use universal binaries.

BREAKING CHANGE: Unity 2020.3 is no longer supported

fix #155
@jasonboukheir
Copy link
Member

Hi @Vytek

I'm about to deprecate support for Unity 2020.3 as it's beginning to near the end of its life. With the deprecation, I can now have separate binaries for arm64 and x86_64. Let's see if it fixes the issue.

github-actions bot pushed a commit that referenced this issue Nov 26, 2022
# [4.0.0-pre.7](v4.0.0-pre.6...v4.0.0-pre.7) (2022-11-26)

### Code Refactoring

* **sodium:** split libsodium binaries into arm64 and x86_64 ([e3a0510](e3a0510)), closes [#155](#155)

### BREAKING CHANGES

* **sodium:** Unity 2020.3 is no longer supported
@github-actions
Copy link

🎉 This issue has been resolved in version 4.0.0-pre.7 🎉

The release is available on:

Your semantic-release bot 📦🚀

github-actions bot pushed a commit that referenced this issue Feb 27, 2023
# [4.0.0](v3.0.0...v4.0.0) (2023-02-27)

### Bug Fixes

* **2020.3:** change unsupported switch syntax to if statements ([7e57e7a](7e57e7a))
* **account:** fix `TryParse` throwing `NullReferenceException` when given string is null ([142bc3b](142bc3b))
* **algod:** fix `WaitForConfirmation` not respecting `cancellationToken` ([d0b76cd](d0b76cd))
* **asset-store:** change `LinkButton` -> `Button` ([9d7fac2](9d7fac2))
* **asset-store:** move bulk of asset store package to the `Packages` folder ([a78fcc8](a78fcc8)), closes [#178](#178)
* **ci:** republish for http limit ([2d483a8](2d483a8))
* **crypto:** add universal sodium binary ([d3dc173](d3dc173)), closes [#174](#174)
* **crypto:** use proper integer types in sodium interop ([4b4f6e6](4b4f6e6)), closes [#187](#187)
* **dependencies:** add dependencies to ugui and ui ([0849b7c](0849b7c))
* **dotnet sdk:** fix incorrect input to `string.EndsWith` causing compile error in Unity 2020.3 ([c5101ea](c5101ea))
* **dotnet:** fix test compile err ([bc33374](bc33374))
* **dotnet:** use `Algorand2_Unity` instead of `Algorand2` ([3df8515](3df8515))
* **unity-collections:** support unity collections version > 2.x.x ([025a153](025a153)), closes [#192](#192)
* **walletconnect:** fix invalid chain id in wallet connect ([abdedaf](abdedaf))
* **walletconnect:** handle server error messages in payloads ([4b4b4e1](4b4b4e1)), closes [#173](#173)
* **webgl:** use `NativeWebSocketClient` in editor ([5188e5f](5188e5f)), closes [#170](#170)

### Code Refactoring

* **account:** remove obsolete signing methods ([304ba87](304ba87))
* **dotnet:** move all dotnet conversions to `Algorand.Unity.Net` ([b0f7124](b0f7124))
* rename `AlgoSdk` to `Algorand.Unity` ([#167](#167)) ([d135635](d135635))
* **sodium:** split libsodium binaries into arm64 and x86_64 ([e3a0510](e3a0510)), closes [#155](#155)
* **support:** remove support for 2020.3 and add support for 2022.2 ([f000cd4](f000cd4))

### Features

* **account:** add `Address.TryParse` method ([e83ad26](e83ad26))
* **accounts:** add combined interfaces for `Account` and `Signer` ([6cfee78](6cfee78))
* **algod:** add `LedgerStateDelta` APIs and Models ([321b013](321b013))
* **blockchain:** add `StateProofTracking` to the `BlockHeader` ([5d63c9a](5d63c9a))
* **blockchain:** add missing `TxnCommitments` to `BlockHeader` ([be20acb](be20acb))
* **collections:** upgrade to com.unity.collections 1.4.0 ([59663c8](59663c8))
* **dotnet sdk:** add `To*API` methods to `AlgodClient` and `IndexerClient` ([7b292b6](7b292b6))
* **dotnet:** add ability to convert between dotnet and unity types ([8810be2](8810be2))
* **dotnet:** add conversion from `Algorand.Crypto.KeyPair` to `Algorand.Unity.PrivateKey` ([cfa72ff](cfa72ff))
* **dotnet:** add conversion from `Algorand.Unity.Account` to `Algorand.Algod.Model.Account` ([9691d0e](9691d0e))
* **dotnet:** add conversion from `Algorand.Unity.PrivateKey` to `Algorand.Crypto` types ([#168](#168)) ([8e8e0f5](8e8e0f5))
* **dotnet:** update `Algorand.dll` to 1.0.0.14 ([13cf117](13cf117))
* **dotnet:** update `Algorand.dll` to version 1.0.0.15 ([3ce4d6c](3ce4d6c))
* **logic:** add `Logic.TealSign` methods for ed25519verify opcodes ([f9de317](f9de317))
* **node services:** add explicit operators to convert from `IAlgoApiClient` to dotnet SDK APIs ([6a657fc](6a657fc)), closes [#157](#157) [#158](#158)
* **services:** add StateProof APIs ([f0eaaf0](f0eaaf0)), closes [#160](#160) [#162](#162)
* **transactions:** add conversion from `AlgoSdk.Sig` to `Algorand.Signature` ([e414732](e414732))
* **transactions:** add conversions between dotnet SDK and Unity SDK signatures ([be039b1](be039b1))

### Performance Improvements

* **websocket:** change `WebSocketEvent` to be a struct ([1ae34c2](1ae34c2))

### BREAKING CHANGES

* **support:** Unity 2020.3 is no longer supported
* **dotnet:** Removed all explicit/implicit operators to convert Algorand.Unity types to Algorand
types. All conversions now can be done with `ToUnity` and `ToDotnet` extension methods by
referencing the `Algorand.Unity.Net` assembly.
* **sodium:** Unity 2020.3 is no longer supported
* All `AlgoSdk` namespaces are now renamed to `Algorand.Unity`. A simple find and
replace should fix it.
* **account:** Obsolete methods in `Account` class relating to signing have been removed.
* **blockchain:** Removed `RootTransaction`
* **services:** Algod no longer has `GetProof` method
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants