ethereum/act

Failure to build Act executable

zoep opened this issue · 1 comments

In the amm-test branch, trying to build the Act executable with

> nix develop
> make

Fails with the error included below. Note that this is not happening in the main branch, and it only appeared after I updated to the latest hevm main (which might or might not be coincidental). Also, cabal repl works fine.

Here's the output of running cabal v2-install --installdir=bin --overwrite-policy=always --verbose=3: output.txt

**Undefined symbols for architecture x86_64:
  "___cxa_free_exception", referenced from:
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      libff::leave_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
  "operator delete[](void*)", referenced from:
      libff::init_alt_bn128_params() in libff.a(alt_bn128_init.cpp.o)
      done0 in libff.a(alt_bn128_init.cpp.o)
      done1 in libff.a(alt_bn128_init.cpp.o)
      done2 in libff.a(alt_bn128_init.cpp.o)
      done3 in libff.a(alt_bn128_init.cpp.o)
      done4 in libff.a(alt_bn128_init.cpp.o)
      done5 in libff.a(alt_bn128_init.cpp.o)
      ...
  "operator delete(void*)", referenced from:
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::vector<unsigned long, std::__1::allocator<unsigned long>>::~vector[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      done81 in libff.a(alt_bn128_init.cpp.o)
      done87 in libff.a(alt_bn128_init.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_exp_by_neg_z(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation_last_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "___gxx_personality_v0", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      Dwarf Exception Unwind Info (__eh_frame) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      Dwarf Exception Unwind Info (__eh_frame) in libff.a(alt_bn128_g1.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "___cxa_allocate_exception", referenced from:
      ethjet_ff::read_Fq_element(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G1_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G2_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::write_Fq_element(unsigned char*, libff::Fp_model<4l, libff::alt_bn128_modulus_q>) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      std::__throw_bad_array_new_length[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      ...
  "___cxa_begin_catch", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
  "___cxa_end_catch", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
  "operator new(unsigned long)", referenced from:
      done81 in libff.a(alt_bn128_init.cpp.o)
      done87 in libff.a(alt_bn128_init.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_exp_by_neg_z(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation_last_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_ate_precompute_G1(libff::alt_bn128_G1 const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "operator new[](unsigned long)", referenced from:
      libff::init_alt_bn128_params() in libff.a(alt_bn128_init.cpp.o)
      done0 in libff.a(alt_bn128_init.cpp.o)
      done1 in libff.a(alt_bn128_init.cpp.o)
      done2 in libff.a(alt_bn128_init.cpp.o)
      done3 in libff.a(alt_bn128_init.cpp.o)
      done4 in libff.a(alt_bn128_init.cpp.o)
      done5 in libff.a(alt_bn128_init.cpp.o)
      ...
  "___cxa_throw", referenced from:
      ethjet_ff::read_Fq_element(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G1_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G2_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::write_Fq_element(unsigned char*, libff::Fp_model<4l, libff::alt_bn128_modulus_q>) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      std::__throw_bad_array_new_length[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
ghc: `cc' failed in phase `Linker'. (Exit code: 1)
Error: cabal: Failed to build exe:act from act-0.1.0.0. See the build log
above for details.

make: *** [Makefile:14: bin/act] Error 1
Zoes-MacBook-Pro:act zoo$ rm bin/act
rm: cannot remove 'bin/act': No such file or directory
Zoes-MacBook-Pro:act zoo$ cabal repl
Warning: The package list for 'hackage.haskell.org' is 71 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
Build profile: -w ghc-9.4.8 -O1
In order, the following will be built (use -v for more details):
 - act-0.1.0.0 (lib) (first run)
Configuring library for act-0.1.0.0..
Preprocessing library for act-0.1.0.0..
unused terminals: 5
shift/reduce conflicts:  21
GHCi, version 9.4.8: https://www.haskell.org/ghc/  :? for help
[ 1 of 20] Compiling Act.Lex          ( /Users/zoo/Repos/act/dist-newstyle/build/x86_64-osx/ghc-9.4.8/act-0.1.0.0/build/Act/Lex.hs, interpreted )
[ 2 of 20] Compiling Act.Syntax.Timing ( src/Act/Syntax/Timing.hs, interpreted )
[ 3 of 20] Compiling Act.Syntax.Untyped ( src/Act/Syntax/Untyped.hs, interpreted )
[ 4 of 20] Compiling Act.Syntax.Types ( src/Act/Syntax/Types.hs, interpreted )
[ 5 of 20] Compiling Act.Error        ( src/Act/Error.hs, interpreted )
[ 6 of 20] Compiling Act.Parse        ( /Users/zoo/Repos/act/dist-newstyle/build/x86_64-osx/ghc-9.4.8/act-0.1.0.0/build/Act/Parse.hs, interpreted )
[ 7 of 20] Compiling Act.Syntax.TimeAgnostic ( src/Act/Syntax/TimeAgnostic.hs, interpreted )
[ 8 of 20] Compiling Act.Syntax.Typed ( src/Act/Syntax/Typed.hs, interpreted )
[ 9 of 20] Compiling Act.Syntax.Annotated ( src/Act/Syntax/Annotated.hs, interpreted )
[10 of 20] Compiling Act.HEVM_utils   ( src/Act/HEVM_utils.hs, interpreted )
[11 of 20] Compiling Act.Syntax       ( src/Act/Syntax.hs, interpreted )
[12 of 20] Compiling Act.HEVM         ( src/Act/HEVM.hs, interpreted )
[13 of 20] Compiling Act.Coq          ( src/Act/Coq.hs, interpreted )
[14 of 20] Compiling Act.Print        ( src/Act/Print.hs, interpreted )
[15 of 20] Compiling Act.Type         ( src/Act/Type.hs, interpreted )
[16 of 20] Compiling Act.SMT          ( src/Act/SMT.hs, interpreted )
[17 of 20] Compiling Act.Consistency  ( src/Act/Consistency.hs, interpreted )
[18 of 20] Compiling Act.Enrich       ( src/Act/Enrich.hs, interpreted )
[19 of 20] Compiling Act.CLI          ( src/Act/CLI.hs, interpreted )
[20 of 20] Compiling Act.Dev          ( src/Act/Dev.hs, interpreted )
Ok, 20 modules loaded.
ghci> :q
Leaving GHCi.
Zoes-MacBook-Pro:act zoo$ make test
cabal v2-install --installdir=bin --overwrite-policy=always
Warning: The package list for 'hackage.haskell.org' is 71 days old.
Run 'cabal update' to get the latest list of available packages.
Wrote tarball sdist to
/Users/zoo/Repos/act/dist-newstyle/sdist/act-0.1.0.0.tar.gz
Warning: The package list for 'hackage.haskell.org' is 71 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
Build profile: -w ghc-9.4.8 -O1
In order, the following will be built (use -v for more details):
 - act-0.1.0.0 (exe:act) (requires build)
Starting     act-0.1.0.0 (exe:act)
Building     act-0.1.0.0 (exe:act)

Failed to build exe:act from act-0.1.0.0.
Build log ( /Users/zoo/.cabal/logs/ghc-9.4.8/ct-0.1.0.0-beb53e96.log ):
Configuring executable 'act' for act-0.1.0.0..
Preprocessing executable 'act' for act-0.1.0.0..
Building executable 'act' for act-0.1.0.0..
[1 of 1] Compiling Main             ( src/CLI/Main.hs, dist/build/act/act-tmp/Main.o )
[2 of 2] Linking dist/build/act/act
Undefined symbols for architecture x86_64:
  "___cxa_free_exception", referenced from:
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      libff::leave_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
  "operator delete[](void*)", referenced from:
      libff::init_alt_bn128_params() in libff.a(alt_bn128_init.cpp.o)
      done0 in libff.a(alt_bn128_init.cpp.o)
      done1 in libff.a(alt_bn128_init.cpp.o)
      done2 in libff.a(alt_bn128_init.cpp.o)
      done3 in libff.a(alt_bn128_init.cpp.o)
      done4 in libff.a(alt_bn128_init.cpp.o)
      done5 in libff.a(alt_bn128_init.cpp.o)
      ...
  "operator delete(void*)", referenced from:
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::vector<unsigned long, std::__1::allocator<unsigned long>>::~vector[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      done81 in libff.a(alt_bn128_init.cpp.o)
      done87 in libff.a(alt_bn128_init.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_exp_by_neg_z(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation_last_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "___gxx_personality_v0", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      Dwarf Exception Unwind Info (__eh_frame) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      Dwarf Exception Unwind Info (__eh_frame) in libff.a(alt_bn128_g1.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "___cxa_allocate_exception", referenced from:
      ethjet_ff::read_Fq_element(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G1_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G2_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::write_Fq_element(unsigned char*, libff::Fp_model<4l, libff::alt_bn128_modulus_q>) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      std::__throw_bad_array_new_length[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      ...
  "___cxa_begin_catch", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
  "___cxa_end_catch", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
  "operator new(unsigned long)", referenced from:
      done81 in libff.a(alt_bn128_init.cpp.o)
      done87 in libff.a(alt_bn128_init.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_exp_by_neg_z(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation_last_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_ate_precompute_G1(libff::alt_bn128_G1 const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "operator new[](unsigned long)", referenced from:
      libff::init_alt_bn128_params() in libff.a(alt_bn128_init.cpp.o)
      done0 in libff.a(alt_bn128_init.cpp.o)
      done1 in libff.a(alt_bn128_init.cpp.o)
      done2 in libff.a(alt_bn128_init.cpp.o)
      done3 in libff.a(alt_bn128_init.cpp.o)
      done4 in libff.a(alt_bn128_init.cpp.o)
      done5 in libff.a(alt_bn128_init.cpp.o)
      ...
  "___cxa_throw", referenced from:
      ethjet_ff::read_Fq_element(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G1_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G2_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::write_Fq_element(unsigned char*, libff::Fp_model<4l, libff::alt_bn128_modulus_q>) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      std::__throw_bad_array_new_length[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
ghc: `cc' failed in phase `Linker'. (Exit code: 1)
Error: cabal: Failed to build exe:act from act-0.1.0.0. See the build log
above for details.

make: *** [Makefile:14: bin/act] Error 1
Zoes-MacBook-Pro:act zoo$ exot
bash: exot: command not found
Zoes-MacBook-Pro:act zoo$ exit
exit
➜  act git:(amm-test) ✗ nix develop
warning: Git tree '/Users/zoo/Repos/act' is dirty
warning: updating lock file '/Users/zoo/Repos/act/flake.lock':
• Updated input 'hevmUpstream':
    'github:ethereum/hevm/b025ea2162373916953d6bfe3430859222f298f7' (2024-02-06)
  → 'github:ethereum/hevm/ee4682e0d95000d3694dda7e251bf100a3962cdc' (2024-02-06)
• Added input 'hevmUpstream/bitwuzla-pkgs':
    'github:d-xo/nixpkgs/6e7c9e4267f3c2df116bf76d8e31c2602e2d543d' (2024-01-14)
warning: Git tree '/Users/zoo/Repos/act' is dirty
Zoes-MacBook-Pro:act zoo$ make test
cabal v2-install --installdir=bin --overwrite-policy=always
Warning: The package list for 'hackage.haskell.org' is 71 days old.
Run 'cabal update' to get the latest list of available packages.
Wrote tarball sdist to
/Users/zoo/Repos/act/dist-newstyle/sdist/act-0.1.0.0.tar.gz
Warning: The package list for 'hackage.haskell.org' is 71 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
Build profile: -w ghc-9.4.8 -O1
In order, the following will be built (use -v for more details):
 - act-0.1.0.0 (exe:act) (requires build)
Starting     act-0.1.0.0 (exe:act)
Building     act-0.1.0.0 (exe:act)

Failed to build exe:act from act-0.1.0.0.
Build log ( /Users/zoo/.cabal/logs/ghc-9.4.8/ct-0.1.0.0-beb53e96.log ):
Configuring executable 'act' for act-0.1.0.0..
Preprocessing executable 'act' for act-0.1.0.0..
Building executable 'act' for act-0.1.0.0..
[1 of 1] Compiling Main             ( src/CLI/Main.hs, dist/build/act/act-tmp/Main.o )
[2 of 2] Linking dist/build/act/act
Undefined symbols for architecture x86_64:
  "operator new[](unsigned long)", referenced from:
      libff::init_alt_bn128_params() in libff.a(alt_bn128_init.cpp.o)
      done0 in libff.a(alt_bn128_init.cpp.o)
      done1 in libff.a(alt_bn128_init.cpp.o)
      done2 in libff.a(alt_bn128_init.cpp.o)
      done3 in libff.a(alt_bn128_init.cpp.o)
      done4 in libff.a(alt_bn128_init.cpp.o)
      done5 in libff.a(alt_bn128_init.cpp.o)
      ...
  "operator delete[](void*)", referenced from:
      libff::init_alt_bn128_params() in libff.a(alt_bn128_init.cpp.o)
      done0 in libff.a(alt_bn128_init.cpp.o)
      done1 in libff.a(alt_bn128_init.cpp.o)
      done2 in libff.a(alt_bn128_init.cpp.o)
      done3 in libff.a(alt_bn128_init.cpp.o)
      done4 in libff.a(alt_bn128_init.cpp.o)
      done5 in libff.a(alt_bn128_init.cpp.o)
      ...
  "_hevmzm0zi52zi0zmCCZZJOZZs40MI9tgkh5WHYEQ_EVMziSymExec_flattenExprzugo_closure", referenced from:
      _Lu1JQ6_srt in libHSct-0.1.0.0-d07f3244.a(HEVM_utils.o)
  "___cxa_free_exception", referenced from:
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      libff::leave_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
  "operator delete(void*)", referenced from:
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::vector<unsigned long, std::__1::allocator<unsigned long>>::~vector[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      done81 in libff.a(alt_bn128_init.cpp.o)
      done87 in libff.a(alt_bn128_init.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_exp_by_neg_z(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation_last_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "___gxx_personality_v0", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      Dwarf Exception Unwind Info (__eh_frame) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      Dwarf Exception Unwind Info (__eh_frame) in libff.a(alt_bn128_g1.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "operator new(unsigned long)", referenced from:
      done81 in libff.a(alt_bn128_init.cpp.o)
      done87 in libff.a(alt_bn128_init.cpp.o)
      libff::alt_bn128_final_exponentiation_first_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_exp_by_neg_z(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation_last_chunk(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_final_exponentiation(libff::Fp12_2over3over2_model<4l, libff::alt_bn128_modulus_q> const&) in libff.a(alt_bn128_pairing.cpp.o)
      libff::alt_bn128_ate_precompute_G1(libff::alt_bn128_G1 const&) in libff.a(alt_bn128_pairing.cpp.o)
      ...
  "_hevmzm0zi52zi0zmCCZZJOZZs40MI9tgkh5WHYEQ_EVMziSymExec_flattenExprzugo_info", referenced from:
      _Lc1JOr_info in libHSct-0.1.0.0-d07f3244.a(HEVM_utils.o)
      _Lc1JUZ_info in libHSct-0.1.0.0-d07f3244.a(HEVM_utils.o)
  "___cxa_begin_catch", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
  "___cxa_allocate_exception", referenced from:
      ethjet_ff::read_Fq_element(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G1_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G2_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::write_Fq_element(unsigned char*, libff::Fp_model<4l, libff::alt_bn128_modulus_q>) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      std::__throw_bad_array_new_length[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      ...
  "___cxa_throw", referenced from:
      ethjet_ff::read_Fq_element(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G1_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::read_G2_point(unsigned char*) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      ethjet_ff::write_Fq_element(unsigned char*, libff::Fp_model<4l, libff::alt_bn128_modulus_q>) in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      std::__1::__throw_length_error[abi:v160006](char const*) in libff.a(alt_bn128_g1.cpp.o)
      std::__throw_bad_array_new_length[abi:v160006]() in libff.a(alt_bn128_g1.cpp.o)
      libff::enter_block(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, bool) in libff.a(profiling.cpp.o)
      ...
  "___cxa_end_catch", referenced from:
      _ethjet_ecadd in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecmul in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
      _ethjet_ecpairing in libHShevm-0.52.0-CCZJOZs40MI9tgkh5WHYEQ.a(ethjet-ff.o)
  "_hevmzm0zi52zi0zmCCZZJOZZs40MI9tgkh5WHYEQ_EVMziTypes_zdfEqContractCodezuzdczeze2_closure", referenced from:
      _ctzm0zi1zi0zi0zmd07f3244_ActziHEVMzuutils_zdwgo1_closure in libHSct-0.1.0.0-d07f3244.a(HEVM_utils.o)
  "_hevmzm0zi52zi0zmCCZZJOZZs40MI9tgkh5WHYEQ_EVMziTypes_zdfEqContractCodezuzdczeze2_info", referenced from:
      _Lc1JIV_info in libHSct-0.1.0.0-d07f3244.a(HEVM_utils.o)
ld: symbol(s) not found for architecture x86_64
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
ghc: `cc' failed in phase `Linker'. (Exit code: 1)
Error: cabal: Failed to build exe:act from act-0.1.0.0. See the build log
above for details.

make: *** [Makefile:14: bin/act] Error 1

My initial hunch is that some C++ standard library parts are not being linked in. The delete and new, etc. missing sounds like a build issue related to C vs C++. More precisely, it may be that a C linker is being used to link C++ things together. I'll see what I can do :)