Compilation error type checking package: This package defines both exceptions and templates. This may make this package and its dependents not upgradeable

Hello Team,

Trying to setup and experiment w/ splice amulet from here splice/daml/splice-amulet/daml.yaml at 066446b739207e0e17fa77430b1957014101b583 · hyperledger-labs/splice · GitHub

Current version of canton : 3.4.10

  1. While compiling w/ default yaml. w/ below options in build-options:

Faced below issue:

  1. So , removed these 3 options and tried compiling using dpm build : faced below

checked out from main

Can someone please help here!!

Today, those Daml models are compiled with Daml 3.3. For Daml 3.3, you will have more success with the Daml Assistant daml than you will with the Digital Asset Package Manager dpm.

Alternatively, you can compile those models with the following from the root directory:

sbt splice-amulet-daml/compile

To get a snapshot which presents as 3.3.0-snapshot.20250502.13767.0.v2fc6c7e2, you can call the build-tools/install-daml-sdk.sh script. Note that this currently requires setting ARTIFACTORY_USER and ARTIFACTORY_PASSWORD environment variables as described in Setting up your development environment.

Without a matching snapshot version, I’m seeing this error:

> daml version

daml: sdk-version field in daml.yaml is not a valid Daml version. Validating version from the internet failed.
  details:
    path: /Users/wallacekelly/dev/splice/daml.yaml
    internal: Could not resolve release version 3.3.0-snapshot.20250502.13767.0.v2fc6c7e2 from the internet. Reason: Couldn't find Linux SDK in release at url: 'https://api.github.com/repos/digital-asset/daml/releases/tags/v3.3.0-snapshot.20250502.13767.0.v2fc6c7e2'
1 Like

Got it, What’s the recommended version to work w/ ?

We tried to install enterprise sdk, but its blocking for macs. When raised a ticket#DA-3438, it is recommended to use dpm over daml assistant

We’ve got latest SDK 3.4.10 downloaded by default.

Does dpm work w/ 3.3.xxx snapshots? .

I was able to solve the problem i’ve mentioned above by separating exceptions from AmuletRules.daml and by setting build options like below :

image

but that’s just a workaround.

Also, there is no dpm start command just like daml start .

Today, the Splice repo has not been updated to work with dpm. That will change, of course. To avoid the workarounds you mentioned, you will have to use daml and have jFrog access.

You can install both daml and dpm.

For new projects, you should definitely use dpm and Canton 3.4.x.

Yes, some of the daml commands are not available in exactly the same way. Here is a table that lists the differences.