MAUI build error targetting ios-arm64 with transitive dependency

As of SqlCipher 4.5.5 we get the following build error when attempting to compile a MAUI net8.0 project targeting ios-arm64:

error : clang++ exited with code 1
error : Undefined symbols for architecture arm64
error :   "_sqlite3_aggregate_context", referenced from

The problem does not occur when sqlcipher is referenced directly. It only occurs when sqlcipher is referenced in a dependency of the main project.

Reproduce:

  1. On a mac download and unzip attached project
  2. Open terminal, cd to SqlCipherTest folder containing SqlCipherTest.csproj
  3. Compile with dotnet build -p:Configuration=Debug -f net8.0-ios -r ios-arm64

Observations

  • Notice that when the following references are added to the main SqlCipherTest.csproj, the build error no longer occurs.
<PackageReference Include="zetetic-sqlite-net-base" Version="4.5.5" />
<PackageReference Condition="$(TargetFramework) == 'net8.0-android'" Include="zetetic-sqlcipher-android" Version="4.5.5" />
<PackageReference Condition="$(TargetFramework) == 'net8.0-ios'" Include="zetetic-sqlcipher-ios" Version="4.5.5" />
  • When downgrading to 4.5.4, the error does not occur.

I would love to upload the repro project, but I’m not allowed?

Also, my organisation has an enterprise license. Not sure this is the right place for me to report this.

Hello @koen - Since you are a commercial customer, please write in to us at support@zetetic.net for private support.

Excellent, email sent.