`pgx` is a crate to wirte custom functions to postgres database. It has `no_std` features to turn off std,(but I think in v2.0.0 we don't have to turn off std for most crates.) I used the `project template` in the samplecode folder. Here is my `Cargo.toml` file: ```cargo.toml [package] name = "sample" version = "1.0.0" authors = ["XXX"] edition = "2021"
[lib] name = "sample" crate-type = ["staticlib"] [features] default = ["pg15"] pg11 = ["pgx/pg11"] pg12 = ["pgx/pg12"] pg13 = ["pgx/pg13"] pg14 = ["pgx/pg14"] pg15 = ["pgx/pg15"] [dependencies] pgx = {version = "0.6.1",default-features = false} [dev-dependencies] # uncomment these if compiling outside of 'pgx' [profile.dev] panic = "unwind" lto = "thin" [profile.release] panic = "unwind" opt-level = 3 lto = "fat" codegen-units = 1 ``` --- here is the compile output: ```zsh --- samplecode/pgx_in_sgx ‹v2.0.0-preview* ?› » CC=gcc-10 CXX=g++-10 make /home/xin201501/sgx_sdk_2_17_1/sgxsdk/bin/x64/sgx_edger8r --trusted enclave/enclave.edl --search-path /home/xin201501/incubator-teaclave-sgx-sdk/common/inc --search-path /home/xin201501/incubator-teaclave-sgx-sdk/sgx_edl/edl --trusted-dir enclave /home/xin201501/sgx_sdk_2_17_1/sgxsdk/bin/x64/sgx_edger8r --untrusted enclave/enclave.edl --search-path /home/xin201501/incubator-teaclave-sgx-sdk/common/inc --search-path /home/xin201501/incubator-teaclave-sgx-sdk/sgx_edl/edl --untrusted-dir app GEN => enclave/enclave_t.c enclave/enclave_t.h app/enclave_u.c app/enclave_u.h Compiling sgx_types v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_types) Compiling libc v0.2.139 Compiling sgx_urts v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_urts) Compiling app v1.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/samplecode/pgx_in_sgx/app) Compiling sgx_uprotected_fs v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_protected_fs/ufs) Finished release [optimized] target(s) in 1.58s LINK => bin/app Updating crates.io index Compiling compiler_builtins v0.1.82 Compiling sgx_build_helper v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_build_helper/build_helper) Compiling core v0.0.0 (/home/xin201501/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core) Compiling sgx_types v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_types) Compiling sgx_trts v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_trts) Compiling sgx_download_prebuilt v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_build_helper/download_prebuilt) Compiling sgx_unwind v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_unwind) Compiling sgx_tlibc_sys v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_libc/sgx_tlibc_sys) Compiling sgx_crypto_sys v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_crypto/sgx_crypto_sys) Compiling rustc-std-workspace-core v1.99.0 (/home/xin201501/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core) Compiling alloc v0.0.0 (/home/xin201501/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc) Compiling sgx_alloc v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_alloc) Compiling hashbrown_tstd v0.12.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_tstd/hashbrown) Compiling panic_unwind v0.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/rustlib/panic_unwind) Compiling sgx_ffi v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_ffi) Compiling sgx_sync v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_sync) Compiling panic_abort v0.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/rustlib/panic_abort) Compiling sgx_oc v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_oc) Compiling sgx_rsrvmm v2.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/sgx_rsrvmm) Compiling std v0.0.0 (/home/xin201501/incubator-teaclave-sgx-sdk/rustlib/std) Finished release [optimized] target(s) in 24.81s error: failed to parse manifest at `/home/xin201501/incubator-teaclave-sgx-sdk/samplecode/pgx_in_sgx/enclave/Cargo.toml` Caused by: feature `pg11` includes `pgx-tests/pg11`, but `pgx-tests` is not a dependency make: *** [Makefile:181:enclave] 错误 101 --- samplecode/pgx_in_sgx ‹v2.0.0-preview* ?› » CC=gcc-10 CXX=g++-10 make 2 ↵ Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Blocking waiting for file lock on package cache Finished release [optimized] target(s) in 1.22s LINK => bin/app Finished release [optimized] target(s) in 0.09s Compiling proc-macro2 v1.0.49 Compiling quote v1.0.23 Compiling unicode-ident v1.0.6 Compiling syn v1.0.107 Compiling autocfg v1.1.0 Compiling memchr v2.5.0 Compiling libc v0.2.139 Compiling cfg-if v1.0.0 Compiling log v0.4.17 Compiling serde v1.0.152 Compiling serde_derive v1.0.152 Compiling once_cell v1.17.0 Compiling eyre v0.6.8 Compiling serde_json v1.0.91 Compiling regex-syntax v0.6.28 Compiling thiserror v1.0.38 Compiling lazy_static v1.4.0 Compiling indexmap v1.9.2 Compiling crossbeam-utils v0.8.14 Compiling memoffset v0.7.1 Compiling tracing-core v0.1.30 Compiling crossbeam-epoch v0.9.13 Compiling tinyvec_macros v0.1.0 Compiling pin-project-lite v0.2.9 Compiling aho-corasick v0.7.20 Compiling overload v0.1.1 Compiling glob v0.3.0 Compiling tinyvec v1.6.0 Compiling nu-ansi-term v0.46.0 Compiling tracing-log v0.1.3 Compiling clang-sys v1.4.0 Compiling sharded-slab v0.1.4 Compiling thread_local v1.1.4 Compiling indenter v0.3.3 Compiling hashbrown v0.12.3 Compiling ryu v1.0.12 Compiling itoa v1.0.5 Compiling smallvec v1.10.0 Compiling ucd-trie v0.1.5 Compiling scopeguard v1.1.0 Compiling unicode-normalization v0.1.22 Compiling unicode-bidi v0.3.8 Compiling minimal-lexical v0.2.1 Compiling seq-macro v0.3.2 Compiling rayon-core v1.10.1 Compiling regex-automata v0.1.10 Compiling regex v1.7.0 Compiling percent-encoding v2.2.0 Compiling semver v1.0.16 Compiling fixedbitset v0.4.2 Compiling cty v0.2.2 Compiling form_urlencoded v1.1.0 Compiling cstr_core v0.2.6 Compiling nom v7.1.2 Compiling petgraph v0.6.2 Compiling idna v0.3.0 Compiling crossbeam-deque v0.8.2 Compiling matchers v0.1.0 Compiling crossbeam-channel v0.5.6 Compiling dirs-sys v0.3.7 Compiling num_cpus v1.15.0 Compiling atty v0.2.14 Compiling libloading v0.7.4 Compiling unescape v0.1.0 Compiling convert_case v0.5.0 Compiling bindgen v0.60.1 error[E0463]: can't find crate for `proc_macro` --> /home/xin201501/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.49/src/lib.rs:122:1 | 122 | extern crate proc_macro; | ^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate error[E0635]: unknown feature `proc_macro_span` --> /home/xin201501/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.49/src/lib.rs:92:13 | 92 | feature(proc_macro_span, proc_macro_span_shrink) | ^^^^^^^^^^^^^^^ error[E0635]: unknown feature `proc_macro_span_shrink` --> /home/xin201501/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.49/src/lib.rs:92:30 | 92 | feature(proc_macro_span, proc_macro_span_shrink) | ^^^^^^^^^^^^^^^^^^^^^^ Some errors have detailed explanations: E0463, E0635. For more information about an error, try `rustc --explain E0463`. error: could not compile `proc-macro2` due to 3 previous errors warning: build failed, waiting for other jobs to finish... make: *** [Makefile:181:enclave] 错误 101 ``` I think the real "problematic crate" may be `proc-marco2` crate. -- Reply to this email directly or view it on GitHub: https://github.com/apache/incubator-teaclave-sgx-sdk/issues/415 You are receiving this because you are subscribed to this thread. Message ID: <apache/incubator-teaclave-sgx-sdk/issues/4...@github.com>