Hi, I started running into an issue with the enigma docker setup when I followed Adi’s instructions to rebuild the docker containers here: How to calculate average of some numbers in the secret contract of Enigma?. When I run docker-compose build --no-cache
, I see this error:
Compiling etcommon-rlp v0.2.4
error[E0432]: unresolved import `alloc::collections`
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/etcommon-rlp-0.2.4/src/compression.rs:10:41
|
10 | #[cfg(not(feature = "std"))] use alloc::collections::{BTreeMap as Map};
| ^^^^^^^^^^^ Could not find `collections` in `alloc`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0432`.
error: Could not compile `etcommon-rlp`.
warning: build failed, waiting for other jobs to finish...
error: build failed
Makefile:16: recipe for target 'libenclave.a' failed
make[1]: Leaving directory '/root/enigma-core/enigma-core/enclave'
make[1]: *** [libenclave.a] Error 101
make: *** [enclave] Error 2
Makefile:137: recipe for target 'enclave' failed
**** This is a known error. Ignore for now. Will succeed upon retry ***
I know it says it will succeed upon retry, and the build continues and completes successfully. However. when I do ./launch.bash -s -t
, I see the error come up again in enigma core, and the service stops running:
core_1 | Finished release [optimized] target(s) in 6.61 secs
core_1 | Cargo => bin/app
core_1 | mkdir -p ./bin
core_1 | cp ./app/target/release/enigma-core-app ./bin/enigma-core-app
core_1 | make -C ./enclave/
core_1 | make[1]: Entering directory '/root/enigma-core/enigma-core/enclave'
core_1 | cargo build --release
core_1 | Compiling etcommon-rlp v0.2.4
core_1 | Compiling rustc_version v0.2.3
core_1 | error[E0432]: unresolved import `alloc::collections`
core_1 | --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/etcommon-rlp-0.2.4/src/compression.rs:10:41
core_1 | |
core_1 | 10 | #[cfg(not(feature = "std"))] use alloc::collections::{BTreeMap as Map};
core_1 | | ^^^^^^^^^^^ Could not find `collections` in `alloc`
core_1 |
core_1 | error: aborting due to previous error
core_1 |
core_1 | For more information about this error, try `rustc --explain E0432`.
core_1 | error: Could not compile `etcommon-rlp`.
core_1 | warning: build failed, waiting for other jobs to finish...
core_1 | error: build failed
core_1 | Makefile:16: recipe for target 'libenclave.a' failed
core_1 | make[1]: *** [libenclave.a] Error 101
core_1 | make[1]: Leaving directory '/root/enigma-core/enigma-core/enclave'
core_1 | Makefile:137: recipe for target 'enclave' failed
core_1 | make: *** [enclave] Error 2
core_1 | [+] Home dir is /root
core_1 | [+] Home dir is /root
core_1 | [+] Created new .enigma folder => "/root/.enigma"
core_1 | [-] Open token file /root/.enigma/enclave.token error! Will create one.
core_1 | [-] Init Enclave Failed SGX_ERROR_ENCLAVE_FILE_ACCESS!
core_1 | root@enigma_core_1:~# aesm_service[119]: SGX Service unavailable
core_1 | aesm_service[119]: Fail to start service.
I would appreciate some advice on how to work around this issue.