GaloisInc / pate

Patches Assured up to Trace Equivalence
Other
15 stars 2 forks source link

cabal build makes pate.sh not work #418

Open thebendavis opened 1 month ago

thebendavis commented 1 month ago

We recommend that users building from source use ./pate.sh to both build and invoke PATE. However, users familiar with typical Haskell project workflows may instead try to build PATE with cabal build pkg:pate or similar.

Unfortunately, running cabal build pkg:pate will cause subsequent executions of ./pate.sh to fail with a message that looks like:

<command line>: dlopen(/path/to/pate/dist-newstyle/build/aarch64-osx/ghc-9.6.5/pate-0.9.0/l/pate-repl-base-helper/build/pate-repl-base-helper/libHSpate-0.9.0-inplace-pate-repl-base-helper-ghc9.6.5.dylib, 0x0005): symbol not found in flat namespace '_patezm0zi9zi0zminplacezmpatezmreplzmbasezmhelper_Output_OutputElemList_con_info'

for which the issue and resolution (cabal clean ; ./pate.sh) are not obvious.

We should fix this such that cabal build does not cause issues for pate.sh.

thebendavis commented 1 month ago

Once fixed, we should also add the integration test (which uses ./pate.sh) to the CI build job (which uses cabal build) - see discussion on https://github.com/GaloisInc/pate/pull/417