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

Error: bytecode compiler can't handle unboxed tuples and sums. #49

Open
4 tasks
reactormonk opened this issue Jan 23, 2020 · 2 comments
Open
4 tasks

Error: bytecode compiler can't handle unboxed tuples and sums. #49

reactormonk opened this issue Jan 23, 2020 · 2 comments

Comments

@reactormonk
Copy link

Status

  • A workaround is available
  • A fix is written
  • A fix is released
  • The fixed verison is on the marketplace.

  • Version of vscode-ghc-simple: v0.1.13
  • Version of VSCode: 1.41.1
  • Version of Haskell-related tools:
    • GHC: 8.6.4
    • Stack: 2.1.3
    • Cabal: 2.4.1.0

Steps to reproduce

Loading language-plutus-core via ghc simple fails with this message:

:load "*/home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Evaluation/Machine/Cek.hs"
[73 of 73] Compiling Language.PlutusCore.Evaluation.Machine.Cek ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Evaluation/Machine/Cek.hs, interpreted )
Error: bytecode compiler can't handle unboxed tuples and sums.
  Possibly due to foreign import/export decls in source.
  Workaround: use -fobject-code, or compile this module to .o separately.

Workspace

Code is available at commit https://github.com/input-output-hk/plutus/tree/facd8205e21d59240c8cc9e69d6fcad81367c530

Also with this repl command:

stack --color never repl --no-load language-plutus-core:lib language-plutus-core:exe:language-plutus-core-generate-evaluation-test language-plutus-core:test:language-plutus-core-test language-plutus-core:bench:language-plutus-core-bench language-plutus-core:bench:language-plutus-core-weigh marlowe:lib marlowe:test:marlowe-test marlowe-symbolic:lib plutus-contract:lib plutus-contract:test:contract-doctests plutus-contract:test:plutus-contract-test plutus-contract-tasty:lib plutus-contract-tasty:test:plutus-contract-tasty-test plutus-emulator:lib plutus-emulator:test:plutus-emulator-test plutus-exe:exe:plc plutus-ir:lib plutus-ir:test:plutus-ir-test plutus-tutorial:exe:tutorial-doctests plutus-tx:lib plutus-tx-plugin:lib plutus-tx-plugin:test:plutus-tx-tests

GHC log

Starting GHCi with: "stack --color never repl --no-load language-plutus-core:lib language-plutus-core:exe:language-plutus-core-generate-evaluation-test language-plutus-core:test:language-plutus-core-test language-plutus-core:bench:language-plutus-core-bench language-plutus-core:bench:language-plutus-core-weigh marlowe:lib marlowe:test:marlowe-test marlowe-symbolic:lib plutus-contract:lib plutus-contract:test:contract-doctests plutus-contract:test:plutus-contract-test plutus-contract-tasty:lib plutus-contract-tasty:test:plutus-contract-tasty-test plutus-emulator:lib plutus-emulator:test:plutus-emulator-test plutus-exe:exe:plc plutus-ir:lib plutus-ir:test:plutus-ir-test plutus-tutorial:exe:tutorial-doctests plutus-tx:lib plutus-tx-plugin:lib plutus-tx-plugin:test:plutus-tx-tests"
(Under cwd /home/tass/dev/iohk/plutus)
    -> :set prompt ""
ghci | The following libraries will also be loaded into GHCi because they are intermediate dependencies of your targets:
ghci |     plutus-wallet-api
ghci | (Use --skip-intermediate-deps to omit these)
ghci | language-plutus-core > initial-build-steps (lib + exe)
ghci | plutus-exe           > initial-build-steps (exe)
ghci | plutus-ir            > initial-build-steps (lib)
ghci | plutus-tx            > initial-build-steps (lib)
ghci | plutus-tx-plugin     > initial-build-steps (lib)
ghci | plutus-wallet-api    > initial-build-steps (lib + internal-lib)
ghci | marlowe              > initial-build-steps (lib)
ghci | plutus-emulator      > initial-build-steps (lib)
ghci | plutus-contract      > initial-build-steps (lib)
ghci | plutus-tutorial      > initial-build-steps (exe)
ghci | marlowe-symbolic     > initial-build-steps (lib)
ghci | plutus-contract-tasty> initial-build-steps (lib)
ghci | Completed 12 action(s).
ghci | The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
ghci | Configuring GHCi with the following packages: language-plutus-core, marlowe, marlowe-symbolic, plutus-contract, plutus-contract-tasty, plutus-emulator, plutus-exe, plutus-ir, plutus-tutorial, plutus-tx, plutus-tx-plugin, plutus-wallet-api
ghci | GHCi, version 8.6.4: http://www.haskell.org/ghc/  :? for help
ghci | Loaded GHCi configuration from /home/tass/.ghci
ghci | λ> 
ghci | ===ghci_barrier_0.6441580938921077===
    -> :set prompt-cont ""
ghci | 
ghci | ===ghci_barrier_0.07483232003015905===
    -> :set -fno-diagnostics-show-caret -fdiagnostics-color=never -ferror-spans
    |> :set -fdefer-type-errors -fdefer-typed-holes -fdefer-out-of-scope-variables
    |> :set -fno-hide-source-paths
    |> :set -Wno-error=missing-home-modules
ghci | 
ghci | ===ghci_barrier_0.4827085951692267===
    -> :show paths
ghci | current working directory: 
ghci |   /home/tass/dev/iohk/plutus
ghci | module import search paths:
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/src
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/prelude
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/stdlib
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/examples
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/generators
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/common
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-generate-evaluation-test
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/generate-evaluation-test
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-generate-evaluation-test/autogen
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-generate-evaluation-test/language-plutus-core-generate-evaluation-test-tmp
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-test
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/test
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-test/autogen
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-test/language-plutus-core-test-tmp
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-bench
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/bench
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-bench/autogen
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-bench/language-plutus-core-bench-tmp
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-weigh
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/weigh
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-weigh/autogen
ghci |   /home/tass/dev/iohk/plutus/language-plutus-core/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/language-plutus-core-weigh/language-plutus-core-weigh-tmp
ghci |   /home/tass/dev/iohk/plutus/marlowe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/marlowe/src
ghci |   /home/tass/dev/iohk/plutus/marlowe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/marlowe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/marlowe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/marlowe-test
ghci |   /home/tass/dev/iohk/plutus/marlowe/test
ghci |   /home/tass/dev/iohk/plutus/marlowe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/marlowe-test/autogen
ghci |   /home/tass/dev/iohk/plutus/marlowe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/marlowe-test/marlowe-test-tmp
ghci |   /home/tass/dev/iohk/plutus/marlowe-symbolic/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/marlowe-symbolic/src
ghci |   /home/tass/dev/iohk/plutus/marlowe-symbolic/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/marlowe-symbolic/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/src
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/contract-doctests
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/doctest
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/contract-doctests/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/contract-doctests/contract-doctests-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-contract-test
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/test
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-contract-test/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-contract-test/plutus-contract-test-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/src
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-contract-tasty-test
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/test
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-contract-tasty-test/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-contract-tasty/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-contract-tasty-test/plutus-contract-tasty-test-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/src
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-emulator-test
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/test
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-emulator-test/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-emulator/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-emulator-test/plutus-emulator-test-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-exe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plc
ghci |   /home/tass/dev/iohk/plutus/plutus-exe/src
ghci |   /home/tass/dev/iohk/plutus/plutus-exe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plc/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-exe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-exe/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plc/plc-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/src
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-ir-test
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/test
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-ir-test/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-ir/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-ir-test/plutus-ir-test-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-tutorial/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/tutorial-doctests
ghci |   /home/tass/dev/iohk/plutus/plutus-tutorial/doctest
ghci |   /home/tass/dev/iohk/plutus/plutus-tutorial/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/tutorial-doctests/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-tutorial/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-tutorial/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/tutorial-doctests/tutorial-doctests-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-tx/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/plutus-tx/src
ghci |   /home/tass/dev/iohk/plutus/plutus-tx/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-tx/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/src
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-tx-tests
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/test
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-tx-tests/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-tx-plugin/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/plutus-tx-tests/plutus-tx-tests-tmp
ghci |   /home/tass/dev/iohk/plutus/plutus-wallet-api/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build
ghci |   /home/tass/dev/iohk/plutus/plutus-wallet-api/src
ghci |   /home/tass/dev/iohk/plutus/plutus-wallet-api/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/autogen
ghci |   /home/tass/dev/iohk/plutus/plutus-wallet-api/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/global-autogen
ghci | 
ghci | ===ghci_barrier_0.6327529890819679===
Detected base path: /home/tass/dev/iohk/plutus
    -> :set -fbyte-code
    |> :set +c
    |> :load "*/home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Evaluation/Machine/Cek.hs"
ghci | [ 1 of 73] Compiling Control.Monad.Trans.Inner ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Control/Monad/Trans/Inner.hs, interpreted ) [flags changed]
ghci | [ 2 of 73] Compiling Crypto           ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Crypto.hs, interpreted ) [flags changed]
ghci | [ 3 of 73] Compiling Data.ByteString.Lazy.Hash ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Data/ByteString/Lazy/Hash.hs, interpreted ) [flags changed]
ghci | [ 5 of 73] Compiling Language.PlutusCore.Evaluation.Machine.GenericSemigroup ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Evaluation/Machine/GenericSemigroup.hs, interpreted ) [flags changed]
ghci | [ 6 of 73] Compiling Language.PlutusCore.Pretty.ConfigName ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/ConfigName.hs, interpreted ) [flags changed]
ghci | [10 of 73] Compiling Language.PlutusCore.Pretty.Classic ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Classic.hs, interpreted ) [flags changed]
ghci | [11 of 73] Compiling Language.PlutusCore.Pretty.Plc ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Plc.hs, interpreted ) [flags changed]
ghci | [12 of 73] Compiling Language.PlutusCore.Pretty.Default ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Default.hs, interpreted ) [flags changed]
ghci | [13 of 73] Compiling Language.PlutusCore.Pretty ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty.hs, interpreted ) [flags changed]
ghci | [15 of 73] Compiling Language.PlutusCore.Quote ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Quote.hs, interpreted ) [flags changed]
ghci | [16 of 73] Compiling Language.PlutusCore.Rename.Monad ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Rename/Monad.hs, interpreted ) [flags changed]
ghci | [17 of 73] Compiling Language.PlutusCore.Eq ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Eq.hs, interpreted ) [flags changed]
ghci | [18 of 73] Compiling Language.PlutusCore.Core.Type ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Core/Type.hs, interpreted ) [flags changed]
ghci | Error: bytecode compiler can't handle unboxed tuples and sums.
ghci |   Possibly due to foreign import/export decls in source.
ghci |   Workaround: use -fobject-code, or compile this module to .o separately.
ghci | 
ghci | ===ghci_barrier_0.9618591276573094===
    -> :show modules
ghci | Control.Monad.Trans.Inner ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Control/Monad/Trans/Inner.hs, interpreted )
ghci | Crypto           ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Crypto.hs, interpreted )
ghci | Data.ByteString.Lazy.Hash ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Data/ByteString/Lazy/Hash.hs, interpreted )
ghci | Data.Text.Prettyprint.Doc.Custom ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Data/Text/Prettyprint/Doc/Custom.hs, /home/tass/dev/iohk/plutus/.stack-work/odir/Data/Text/Prettyprint/Doc/Custom.o )
ghci | Language.PlutusCore.Eq ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Eq.hs, interpreted )
ghci | Language.PlutusCore.Evaluation.Machine.GenericSemigroup ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Evaluation/Machine/GenericSemigroup.hs, interpreted )
ghci | Language.PlutusCore.Name ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Name.hs, /home/tass/dev/iohk/plutus/.stack-work/odir/Language/PlutusCore/Name.o )
ghci | Language.PlutusCore.Pretty ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty.hs, interpreted )
ghci | Language.PlutusCore.Pretty.Classic ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Classic.hs, interpreted )
ghci | Language.PlutusCore.Pretty.ConfigName ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/ConfigName.hs, interpreted )
ghci | Language.PlutusCore.Pretty.Default ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Default.hs, interpreted )
ghci | Language.PlutusCore.Pretty.Plc ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Plc.hs, interpreted )
ghci | Language.PlutusCore.Pretty.Readable ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Readable.hs, /home/tass/dev/iohk/plutus/.stack-work/odir/Language/PlutusCore/Pretty/Readable.o )
ghci | Language.PlutusCore.Pretty.Utils ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Pretty/Utils.hs, /home/tass/dev/iohk/plutus/.stack-work/odir/Language/PlutusCore/Pretty/Utils.o )
ghci | Language.PlutusCore.Quote ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Quote.hs, interpreted )
ghci | Language.PlutusCore.Rename.Monad ( /home/tass/dev/iohk/plutus/language-plutus-core/src/Language/PlutusCore/Rename/Monad.hs, interpreted )
ghci | PlutusPrelude    ( /home/tass/dev/iohk/plutus/language-plutus-core/prelude/PlutusPrelude.hs, /home/tass/dev/iohk/plutus/.stack-work/odir/PlutusPrelude.o )
ghci | 
ghci | ===ghci_barrier_0.709798322272063===
    -> :module
ghci | 
ghci | ===ghci_barrier_0.11574916455842854===
@dramforever
Copy link
Owner

Error: bytecode compiler can't handle unboxed tuples and sums.
Possibly due to foreign import/export decls in source.
Workaround: use -fobject-code, or compile this module to .o separately.

Are you using these features? We need to use the bytecode compiler because it gives all the type information etc. and -fobject-code doesn't work with this. I'll probably need figure out a workaround but... I don't see anything weird in Language.PlutusCore.Core.Type at all. I have no idea. I do see some unboxed stuff elsewhere though, which might be the cause.

@reactormonk
Copy link
Author

Where would be that unboxed stuff? I can't seem to find it via

grep "#" language-plutus-core/**/*.hs | grep -v LANG

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants