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

Ekam can't find 'capnp.node' when reading 'node-capnp.ekam-manifest' for a Sandstorm build #18

Closed
isislovecruft opened this issue May 25, 2015 · 4 comments

Comments

@isislovecruft
Copy link

Hi,

I'm not entirely certain if this should be a Sandstorm bug, an Ekam bug, or an node-capnp bug, so it might be that I'm doing something stupid w.r.t. to your custom build system. Please forgive if that's the case, and I'll gladly file the bug wherever it best should go.

It seems that Ekam can't find the capnp.node file (from node-capnp/node-capnp.ekam-manifest, from sandstorm/sandstorm.ekam-manifest) due to compilation errors from being unable to find <node.h>. (I assume the node header should be from nodejs-dev, which I have installed. This is on a fresh Debian Jessie system.)

The relevant build error is:

link: sandstorm/run-bundle.o
  tmp/kj/async-io.o: In function `kj::Function<void ()>::Impl<kj::CaptureByMove<kj::(anonymous namespace)::SocketAddress::lookupHost(kj::LowLevelAsyncIoProvider&, kj::String, kj::String, unsigned int)::$_6, kj::(
    anonymous namespace)::SocketAddress::LookupParams> >::operator()()':
  /ekam-provider/canonical/kj/async-io.c++:(.text+0xd5a7): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
link: sandstorm/sandstorm-http-bridge.o
  tmp/kj/async-io.o: In function `kj::Function<void ()>::Impl<kj::CaptureByMove<kj::(anonymous namespace)::SocketAddress::lookupHost(kj::LowLevelAsyncIoProvider&, kj::String, kj::String, unsigned int)::$_6, kj::(
    anonymous namespace)::SocketAddress::LookupParams> >::operator()()':
  /ekam-provider/canonical/kj/async-io.c++:(.text+0xd5a7): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
install: sandstorm/sandstorm.ekam-manifest
install: node-capnp/node-capnp.ekam-manifest
  node-capnp/capnp.node: not found
jstest: node-capnp/capnp-test.js
  full log: tmp/node-capnp/capnp-test.js.log
compile: node-capnp/capnp.cc
  /ekam-provider/canonical/node-capnp/capnp.cc:29:10: fatal error: 'node.h' file not found
  #include <node.h>
           ^
  1 error generated.
==== build failed. You might need to: make update-deps ====
Makefile:139: recipe for target 'tmp/.ekam-run' failed
make: *** [tmp/.ekam-run] Error 1

And yet I've got /usr/include/nodejs/src/node.h with the required NODE_MODULE macro… is it possible that Ekam isn't symlinking in the headers directory for nodejs-dev correctly, because it's named in a directory name src in this case? I thought that Ekam would still find headers in a src/ dir?

In case it's needed, here's the full build output:

∃!isisⒶsandstorm:(master *=)/code/sandstorm ∴ make
==== downloading capnproto ====
git clone https://github.com/sandstorm-io/capnproto.git deps/capnproto
Cloning into 'deps/capnproto'...
remote: Counting objects: 13835, done.
remote: Total 13835 (delta 0), reused 0 (delta 0), pack-reused 13835
Receiving objects: 100% (13835/13835), 12.58 MiB | 5.00 MiB/s, done.
Resolving deltas: 100% (8937/8937), done.
Checking connectivity... done.
==== downloading ekam ====
git clone https://github.com/sandstorm-io/ekam.git deps/ekam
Cloning into 'deps/ekam'...
remote: Counting objects: 1717, done.
remote: Total 1717 (delta 0), reused 0 (delta 0), pack-reused 1717
Receiving objects: 100% (1717/1717), 1.77 MiB | 947.00 KiB/s, done.
Resolving deltas: 100% (1239/1239), done.
Checking connectivity... done.
==== downloading libseccomp ====
git clone https://github.com/seccomp/libseccomp deps/libseccomp
Cloning into 'deps/libseccomp'...
remote: Counting objects: 3696, done.
remote: Total 3696 (delta 0), reused 0 (delta 0), pack-reused 3696
Receiving objects: 100% (3696/3696), 825.22 KiB | 753.00 KiB/s, done.
Resolving deltas: 100% (2686/2686), done.
Checking connectivity... done.
==== downloading libsodium ====
git clone https://github.com/jedisct1/libsodium.git deps/libsodium
Cloning into 'deps/libsodium'...
remote: Counting objects: 11371, done.
remote: Total 11371 (delta 0), reused 0 (delta 0), pack-reused 11371
Receiving objects: 100% (11371/11371), 3.30 MiB | 987.00 KiB/s, done.
Resolving deltas: 100% (5897/5897), done.
Checking connectivity... done.
==== downloading node-capnp ====
git clone https://github.com/kentonv/node-capnp.git deps/node-capnp
Cloning into 'deps/node-capnp'...
remote: Counting objects: 197, done.
remote: Total 197 (delta 0), reused 0 (delta 0), pack-reused 197
Receiving objects: 100% (197/197), 101.32 KiB | 0 bytes/s, done.
Resolving deltas: 100% (109/109), done.
Checking connectivity... done.
make[1]: Entering directory '/code/sandstorm/deps/ekam'
==== compiling bootstrap ekam ====
g++ -Isrc -std=c++11 src/base/Promise.cpp src/base/Debug.cpp src/base/OwnedPtr.cpp src/base/sha256.cpp src/base/Hash.cpp src/os/DiskFile.cpp src/os/Subprocess.cpp src/os/OsHandle.cpp src/os/ByteStream.cpp src/os/EventGroup.cpp src/os/Socket.cpp src/os/EpollEventManager.cpp src/os/File.cpp src/os/EventManager.cpp src/ekam/Action.cpp src/ekam/Dashboard.cpp src/ekam/ConsoleDashboard.cpp src/ekam/Driver.cpp src/ekam/Tag.cpp src/ekam/CppActionFactory.cpp src/ekam/ExecPluginActionFactory.cpp src/ekam/initNetworkDashboardStub.cpp src/ekam/ActionUtil.cpp src/ekam/ekam.cpp src/ekam/SimpleDashboard.cpp src/ekam/MuxDashboard.cpp -pthread -o bin/ekam-bootstrap
make[1]: Leaving directory '/code/sandstorm/deps/ekam'
Finding meteor-tool installation (can take a few seconds)... meteor-tool@1.0.37
Finding meteor-tool installation (can take a few seconds)... meteor-tool@1.0.37
==== building sandstorm with ekam ====
learn: ekam-rules/compile.ekam-rule
compile: ekam-rules/intercept.c
learn: ekam-rules/include.ekam-rule
learn: ekam-rules/proto.ekam-rule
learn: ekam-rules/install.ekam-rule
learn: ekam-rules/test.ekam-rule
learn: capnp/capnpc.ekam-rule
capnpc: capnp/schema.capnp
capnpc: capnp/rpc-twoparty.capnp
capnpc: capnp/c++.capnp
capnpc: capnp/rpc.capnp
capnpc: capnp/compiler/lexer.capnp
learn: capnp/compiler/capnp-test.ekam-rule
capnpc: capnp/compiler/grammar.capnp
capnpc: capnp/persistent.capnp
learn: node-capnp/download-es6-promise.ekam-rule
  tmp/node-capnp/es6-promise.js
learn: sandstorm/js.ekam-rule
learn: sandstorm/ip_tables.ekam-rule
learn: sandstorm/jstest.ekam-rule
learn: ekam-rules/intercept.ekam-rule
compile: libseccomp/arch-aarch64-syscalls.c
compile: libseccomp/arch-arm-syscalls.c
compile: libseccomp/arch.c
compile: libseccomp/arch-mips-syscalls.c
compile: libseccomp/arch-aarch64.c
compile: libseccomp/hash.c
compile: libseccomp/gen_pfc.c
compile: libseccomp/arch-syscall-dump.c
compile: libseccomp/db.c
compile: libseccomp/system.c
compile: libseccomp/api.c
compile: libseccomp/arch-x32-syscalls.c
compile: libseccomp/arch-mips64-syscalls.c
compile: libseccomp/gen_bpf.c
compile: libseccomp/arch-x86.c
compile: libseccomp/arch-arm.c
compile: libseccomp/arch-x32.c
compile: libseccomp/arch-x86_64-syscalls.c
compile: libseccomp/arch-syscall-check.c
compile: libseccomp/arch-x86_64.c
compile: libseccomp/arch-mips64n32.c
compile: libseccomp/arch-mips.c
compile: libseccomp/arch-mips64.c
compile: libseccomp/arch-x86-syscalls.c
compile: libseccomp/arch-mips64n32-syscalls.c
compile: sandstorm/util-test.c++
compile: sandstorm/util.c++
compile: sandstorm/send-fd.c++
compile: sandstorm/minibox.c++
compile: joyent-http/http_parser.c++
compile: capnp/compiler/md5.c++
compile: capnp/compiler/lexer-test.c++
compile: capnp/compiler/compiler.c++
compile: capnp/compiler/capnp.c++
compile: capnp/compiler/lexer.capnp.c++
compile: capnp/compiler/module-loader.c++
compile: capnp/compiler/grammar.capnp.c++
compile: capnp/compiler/capnpc-c++.c++
compile: capnp/compiler/md5-test.c++
compile: capnp/compiler/parser.c++
compile: capnp/compiler/capnpc-capnp.c++
compile: capnp/compiler/node-translator.c++
compile: capnp/compiler/lexer.c++
compile: capnp/compiler/evolution-test.c++
compile: capnp/compiler/error-reporter.c++
compile: capnp/stringify.c++
compile: capnp/schema.capnp.c++
compile: capnp/ez-rpc.c++
compile: capnp/any.c++
compile: capnp/c++.capnp.c++
compile: capnp/endian-reverse-test.c++
compile: capnp/serialize-async.c++
compile: capnp/layout.c++
compile: capnp/schema-loader.c++
compile: capnp/blob.c++
compile: capnp/persistent.capnp.c++
compile: capnp/dynamic-capability.c++
compile: capnp/serialize-packed.c++
compile: capnp/rpc-twoparty.capnp.c++
compile: capnp/message.c++
compile: capnp/endian-fallback-test.c++
compile: capnp/capability.c++
compile: capnp/serialize.c++
compile: capnp/rpc.capnp.c++
compile: capnp/arena.c++
compile: capnp/list.c++
compile: capnp/endian-test.c++
compile: capnp/layout-test.c++
compile: capnp/dynamic.c++
compile: capnp/common-test.c++
compile: capnp/schema-parser.c++
compile: capnp/rpc.c++
compile: capnp/schema.c++
compile: capnp/rpc-twoparty.c++
compile: sodium/crypto_generichash_blake2b/ref/blake2b-ref.c
compile: sodium/crypto_generichash_blake2b/ref/generichash_blake2b.c
compile: sodium/crypto_generichash_blake2b/generichash_blake2_api.c
compile: sodium/runtime.c
compile: sodium/randombytes.c
compile: sodium/crypto_hash.c
compile: sodium/crypto_verify_16/ref/verify_16.c
compile: sodium/crypto_verify_16/verify_16_api.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_copy_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_mul_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_add_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_1_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_cswap_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_sub_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_sq_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_mul121666_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_0_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/scalarmult_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/base_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_tobytes_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_invert_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/ref10/fe_frombytes_curve25519_ref10.c
compile: sodium/crypto_scalarmult/curve25519/donna_c64/smult_curve25519_donna_c64.c
compile: sodium/crypto_scalarmult/curve25519/donna_c64/base_curve25519_donna_c64.c
compile: sodium/crypto_scalarmult/curve25519/scalarmult_curve25519_api.c
compile: sodium/crypto_scalarmult/crypto_scalarmult.c
compile: sodium/crypto_onetimeauth_poly1305/onetimeauth_poly1305.c
compile: sodium/crypto_onetimeauth_poly1305/onetimeauth_poly1305_try.c
compile: sodium/crypto_onetimeauth_poly1305/onetimeauth_poly1305_api.c
compile: sodium/crypto_onetimeauth_poly1305/donna/verify_poly1305_donna.c
compile: sodium/crypto_onetimeauth_poly1305/donna/auth_poly1305_donna.c
compile: sodium/crypto_hash_sha512/cp/hash_sha512.c
compile: sodium/crypto_hash_sha512/hash_sha512_api.c
compile: sodium/randombytes_sysrandom.c
compile: sodium/crypto_hash_sha256/cp/hash_sha256.c
compile: sodium/crypto_hash_sha256/hash_sha256_api.c
compile: sodium/crypto_verify_32/ref/verify_32.c
compile: sodium/crypto_verify_32/verify_32_api.c
compile: sodium/crypto_stream_chacha20/ref/stream_chacha20_ref.c
compile: sodium/crypto_stream_chacha20/stream_chacha20_api.c
compile: sodium/crypto_sign_ed25519/fe_cmov.c
compile: sodium/crypto_sign_ed25519/fe_neg.c
compile: sodium/crypto_sign_ed25519/ge_scalarmult_base.c
compile: sodium/crypto_sign_ed25519/ge_double_scalarmult.c
compile: sodium/crypto_sign_ed25519/ge_p3_to_p2.c
compile: sodium/crypto_sign_ed25519/ge_p2_0.c
compile: sodium/crypto_sign_ed25519/fe_tobytes.c
compile: sodium/crypto_sign_ed25519/fe_isnegative.c
compile: sodium/crypto_sign_ed25519/ge_tobytes.c
compile: sodium/crypto_sign_ed25519/ge_p3_to_cached.c
compile: sodium/crypto_sign_ed25519/sc_reduce.c
compile: sodium/crypto_sign_ed25519/ge_p3_dbl.c
compile: sodium/crypto_sign_ed25519/fe_frombytes.c
compile: sodium/crypto_sign_ed25519/ge_p3_0.c
compile: sodium/crypto_sign_ed25519/sign.c
compile: sodium/crypto_sign_ed25519/fe_isnonzero.c
compile: sodium/crypto_sign_ed25519/fe_sub.c
compile: sodium/crypto_sign_ed25519/fe_copy.c
compile: sodium/crypto_sign_ed25519/fe_sq2.c
compile: sodium/crypto_sign_ed25519/fe_0.c
compile: sodium/crypto_sign_ed25519/ge_p2_dbl.c
compile: sodium/crypto_sign_ed25519/ge_precomp_0.c
compile: sodium/crypto_sign_ed25519/fe_sq.c
compile: sodium/crypto_sign_ed25519/ge_sub.c
compile: sodium/crypto_sign_ed25519/ge_madd.c
compile: sodium/crypto_sign_ed25519/open.c
compile: sodium/crypto_sign_ed25519/ge_p1p1_to_p2.c
compile: sodium/crypto_sign_ed25519/fe_pow22523.c
compile: sodium/crypto_sign_ed25519/sc_muladd.c
compile: sodium/crypto_sign_ed25519/keypair.c
compile: sodium/crypto_sign_ed25519/ge_p3_tobytes.c
compile: sodium/crypto_sign_ed25519/ge_msub.c
compile: sodium/crypto_sign_ed25519/ge_p1p1_to_p3.c
compile: sodium/crypto_sign_ed25519/fe_mul.c
compile: sodium/crypto_sign_ed25519/fe_invert.c
compile: sodium/crypto_sign_ed25519/fe_add.c
compile: sodium/crypto_sign_ed25519/ge_add.c
compile: sodium/crypto_sign_ed25519/ge_frombytes.c
compile: sodium/crypto_sign_ed25519/fe_1.c
compile: sodium/crypto_sign.c
compile: sodium/utils.c
  /ekam-provider/canonical/sodium/utils.c:45:15: warning: unused variable 'page_size' [-Wunused-variable]
  static size_t page_size;
                ^
  1 warning generated.
compile: sodium/core.c
compile: kj/async-io-test.c++
compile: kj/threadlocal-test.c++
compile: kj/tuple-test.c++
compile: kj/array.c++
compile: kj/thread.c++
compile: kj/refcount-test.c++
compile: kj/test.c++
compile: kj/string-tree-test.c++
compile: kj/parse/char-test.c++
compile: kj/parse/char.c++
compile: kj/parse/common-test.c++
compile: kj/std/iostream-test.c++
compile: kj/time.c++
compile: kj/function-test.c++
compile: kj/io-test.c++
compile: kj/async-unix.c++
compile: kj/units-test.c++
compile: kj/io.c++
compile: kj/string.c++
compile: kj/memory-test.c++
compile: kj/exception-test.c++
compile: kj/async-unix-test.c++
compile: kj/mutex.c++
compile: kj/exception.c++
compile: kj/async-io.c++
compile: kj/arena.c++
compile: kj/debug.c++
compile: kj/arena-test.c++
compile: kj/refcount.c++
compile: kj/async.c++
compile: kj/units.c++
compile: kj/main.c++
compile: kj/array-test.c++
link: kj/array-test.o
test: kj/array-test
compile: kj/async-test.c++
compile: kj/one-of-test.c++
link: kj/one-of-test.o
test: kj/one-of-test
compile: kj/string-tree.c++
compile: kj/threadlocal-pthread-test.c++
link: kj/threadlocal-pthread-test.o
test: kj/threadlocal-pthread-test
compile: kj/mutex-test.c++
link: kj/mutex-test.o
test: kj/mutex-test
compile: kj/common.c++
compile: kj/common-test.c++
link: kj/common-test.o
test: kj/common-test
compile: kj/memory.c++
compile: kj/string-test.c++
link: kj/string-test.o
test: kj/string-test
compile: kj/test-test.c++
link: kj/test-test.o
test: kj/test-test
compile: kj/debug-test.c++
link: kj/debug-test.o
test: kj/debug-test
link: libseccomp/arch-syscall-dump.o
link: libseccomp/arch-syscall-check.o
link: capnp/compiler/capnp.o
link: capnp/compiler/evolution-test.o
test: capnp/compiler/evolution-test
link: capnp/compiler/capnpc-capnp.o
link: capnp/compiler/capnpc-c++.o
link: kj/refcount-test.o
test: kj/refcount-test
link: kj/tuple-test.o
test: kj/tuple-test
link: kj/threadlocal-test.o
test: kj/threadlocal-test
link: kj/async-io-test.o
test: kj/async-io-test
link: capnp/common-test.o
test: capnp/common-test
link: capnp/layout-test.o
test: capnp/layout-test
link: capnp/endian-test.o
test: capnp/endian-test
link: capnp/endian-fallback-test.o
test: capnp/endian-fallback-test
link: capnp/endian-reverse-test.o
test: capnp/endian-reverse-test
link: capnp/compiler/md5-test.o
test: capnp/compiler/md5-test
link: capnp/compiler/lexer-test.o
test: capnp/compiler/lexer-test
link: sandstorm/util-test.o
test: sandstorm/util-test
link: kj/parse/char-test.o
test: kj/parse/char-test
link: kj/io-test.o
test: kj/io-test
link: kj/std/iostream-test.o
test: kj/std/iostream-test
link: kj/units-test.o
test: kj/units-test
link: kj/function-test.o
test: kj/function-test
link: kj/parse/common-test.o
test: kj/parse/common-test
link: kj/string-tree-test.o
test: kj/string-tree-test
link: kj/test.o
link: kj/async-unix-test.o
test: kj/async-unix-test
link: kj/exception-test.o
test: kj/exception-test
link: kj/memory-test.o
test: kj/memory-test
link: kj/arena-test.o
test: kj/arena-test
link: kj/async-test.o
test: kj/async-test
install: capnp/compiler/capnp.ekam-manifest
capnpc: capnp/test-import2.capnp
capnpc: capnp/test.capnp
capnpc: capnp/test-import.capnp
capnpc: node-capnp/test.capnp
capnpc: sandstorm/supervisor.capnp
capnpc: sandstorm/ip.capnp
capnpc: sandstorm/fuse.capnp
capnpc: sandstorm/email.capnp
capnpc: sandstorm/web-session.capnp
capnpc: sandstorm/hack-session.capnp
capnpc: sandstorm/grain.capnp
capnpc: sandstorm/util.capnp
capnpc: sandstorm/sandstorm-http-bridge.capnp
capnpc: sandstorm/api-session.capnp
capnpc: sandstorm/package.capnp
capnpc: sandstorm/backend.capnp
learn: capnp/bootstrap-test.ekam-rule
learn: capnp/compiler/capnp-test.ekam-rule
compile: capnp/test-import2.capnp.c++
compile: capnp/encoding-test.c++
compile: capnp/fuzz-test.c++
compile: capnp/test.capnp.c++
compile: capnp/dynamic-test.c++
compile: capnp/rpc-twoparty-test.c++
  /ekam-provider/canonical/capnp/rpc-twoparty-test.c++:78:19: warning: 'makeRpcServer' is deprecated: Please transition to using a bootstrap interface instead. [-Wdeprecated-declarations]
      auto server = makeRpcServer(network, restorer);
                    ^
  /ekam-provider/canonical/capnp/rpc.h:483:18: note: 'makeRpcServer<capnp::rpc::twoparty::VatId, capnproto_test::capnp::test::TestSturdyRefObjectId, capnp::rpc::twoparty::ProvisionId, capnp::rpc::twoparty::
    RecipientId, capnp::rpc::twoparty::ThirdPartyCapId, capnp::rpc::twoparty::JoinResult>' has been explicitly marked deprecated here
  RpcSystem<VatId> makeRpcServer(
                   ^
  /ekam-provider/canonical/capnp/rpc-twoparty-test.c++:96:17: warning: 'restore' is deprecated: Please transition to using a bootstrap interface instead. [-Wdeprecated-declarations]
    return client.restore(hostId, objectIdMessage.getRoot<AnyPointer>());
                  ^
  /ekam-provider/canonical/capnp/rpc.h:101:22: note: 'restore' has been explicitly marked deprecated here
    Capability::Client restore(typename VatId::Reader hostId, AnyPointer::Reader objectId)
                       ^
  2 warnings generated.
compile: capnp/serialize-test.c++
compile: capnp/orphan-test.c++
compile: capnp/schema-test.c++
  /ekam-provider/canonical/capnp/schema-test.c++:44:22: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_TRUE(schema.getDependency(typeId<TestEnum>()) == Schema::from<TestEnum>());
                       ^
  /ekam-provider/c++header/kj/compat/gtest.h:53:34: note: expanded from macro 'EXPECT_TRUE'
  #define EXPECT_TRUE(x) KJ_EXPECT(x)
                                   ^
  /ekam-provider/c++header/kj/compat/../test.h:73:7: note: expanded from macro 'KJ_EXPECT'
    if (cond); else KJ_FAIL_EXPECT("failed: expected " #cond, ##__VA_ARGS__)
        ^
  /ekam-provider/canonical/capnp/schema.h:765:23: note: 'getDependency' has been explicitly marked deprecated here
  inline Schema Schema::getDependency(uint64_t id) const {
                        ^
  /ekam-provider/canonical/capnp/schema-test.c++:45:22: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_TRUE(schema.getDependency(typeId<TestEnum>()) != schema);
                       ^
  /ekam-provider/c++header/kj/compat/gtest.h:53:34: note: expanded from macro 'EXPECT_TRUE'
  #define EXPECT_TRUE(x) KJ_EXPECT(x)
                                   ^
  /ekam-provider/c++header/kj/compat/../test.h:73:7: note: expanded from macro 'KJ_EXPECT'
    if (cond); else KJ_FAIL_EXPECT("failed: expected " #cond, ##__VA_ARGS__)
        ^
  /ekam-provider/canonical/capnp/schema.h:765:23: note: 'getDependency' has been explicitly marked deprecated here
  inline Schema Schema::getDependency(uint64_t id) const {
                        ^
  /ekam-provider/canonical/capnp/schema-test.c++:46:22: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_TRUE(schema.getDependency(typeId<TestAllTypes>()) == Schema::from<TestAllTypes>());
                       ^
  /ekam-provider/c++header/kj/compat/gtest.h:53:34: note: expanded from macro 'EXPECT_TRUE'
  #define EXPECT_TRUE(x) KJ_EXPECT(x)
                                   ^
  ...(log truncated; use -l to increase log limit)...
link: capnp/schema-test.o
test: capnp/schema-test
compile: capnp/capability-test.c++
compile: capnp/ez-rpc-test.c++
  /ekam-provider/canonical/capnp/ez-rpc-test.c++:48:15: warning: 'EzRpcServer' is deprecated: Please specify a main interface for your server. [-Wdeprecated-declarations]
    EzRpcServer server("localhost");
                ^
  /ekam-provider/canonical/capnp/ez-rpc.h:199:12: note: 'EzRpcServer' has been explicitly marked deprecated here
    explicit EzRpcServer(kj::StringPtr bindAddress, uint defaultPort = 0,
             ^
  /ekam-provider/canonical/capnp/ez-rpc-test.c++:55:21: warning: 'importCap' is deprecated: Change your server to export a main interface, then use getMain() instead. [-Wdeprecated-declarations]
    auto cap = client.importCap<test::TestInterface>("cap1");
                      ^
  /ekam-provider/canonical/capnp/ez-rpc.h:248:43: note: 'importCap<capnproto_test::capnp::test::TestInterface>' has been explicitly marked deprecated here
  inline typename Type::Client EzRpcClient::importCap(kj::StringPtr name) {
                                            ^
  /ekam-provider/canonical/capnp/ez-rpc-test.c++:65:23: warning: 'importCap' is deprecated: Change your server to export a main interface, then use getMain() instead. [-Wdeprecated-declarations]
    EXPECT_EQ(0, client.importCap("cap2").castAs<test::TestCallOrder>()
                        ^
  /ekam-provider/c++header/kj/compat/gtest.h:54:43: note: expanded from macro 'EXPECT_EQ'
  #define EXPECT_EQ(x, y) KJ_EXPECT((x) == (y), x, y)
                                            ^
  /ekam-provider/c++header/kj/compat/../test.h:73:7: note: expanded from macro 'KJ_EXPECT'
    if (cond); else KJ_FAIL_EXPECT("failed: expected " #cond, ##__VA_ARGS__)
        ^
  /ekam-provider/canonical/capnp/ez-rpc.h:135:22: note: 'importCap' has been explicitly marked deprecated here
    Capability::Client importCap(kj::StringPtr name)
                       ^
  /ekam-provider/canonical/capnp/ez-rpc-test.c++:65:23: warning: 'importCap' is deprecated: Change your server to export a main interface, then use getMain() instead. [-Wdeprecated-declarations]
    EXPECT_EQ(0, client.importCap("cap2").castAs<test::TestCallOrder>()
                        ^
  /ekam-provider/c++header/kj/compat/gtest.h:54:50: note: expanded from macro 'EXPECT_EQ'
  #define EXPECT_EQ(x, y) KJ_EXPECT((x) == (y), x, y)
                                                   ^
  ...(log truncated; use -l to increase log limit)...
compile: capnp/test-util.c++
compile: capnp/serialize-async-test.c++
link: capnp/serialize-async-test.o
test: capnp/serialize-async-test
compile: capnp/serialize-packed-test.c++
link: capnp/serialize-packed-test.o
test: capnp/serialize-packed-test
compile: capnp/rpc-test.c++
  /ekam-provider/canonical/capnp/rpc-test.c++:456:19: warning: 'makeRpcServer' is deprecated: Please transition to using a bootstrap interface instead. [-Wdeprecated-declarations]
          rpcServer(makeRpcServer(serverNetwork, restorer)) {}
                    ^
  /ekam-provider/canonical/capnp/rpc.h:483:18: note: 'makeRpcServer<capnproto_test::capnp::test::TestSturdyRefHostId, capnproto_test::capnp::test::TestSturdyRefObjectId, capnproto_test::capnp::test::
    TestProvisionId, capnproto_test::capnp::test::TestRecipientId, capnproto_test::capnp::test::TestThirdPartyCapId, capnproto_test::capnp::test::TestJoinResult>' has been explicitly marked deprecated here
  RpcSystem<VatId> makeRpcServer(
                   ^
  /ekam-provider/canonical/capnp/rpc-test.c++:480:22: warning: 'restore' is deprecated: Please transition to using a bootstrap interface instead. [-Wdeprecated-declarations]
      return rpcClient.restore(hostId, ref.getObjectId());
                       ^
  /ekam-provider/canonical/capnp/rpc.h:101:22: note: 'restore' has been explicitly marked deprecated here
    Capability::Client restore(typename VatId::Reader hostId, AnyPointer::Reader objectId)
                       ^
  2 warnings generated.
link: capnp/rpc-test.o
test: capnp/rpc-test
compile: capnp/stringify-test.c++
link: capnp/stringify-test.o
test: capnp/stringify-test
compile: capnp/schema-parser-test.c++
  /ekam-provider/canonical/capnp/schema-parser-test.c++:55:8: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
        .getDependency(field.getProto().getSlot().getType().getStruct().getTypeId())
         ^
  /ekam-provider/canonical/capnp/schema.h:765:23: note: 'getDependency' has been explicitly marked deprecated here
  inline Schema Schema::getDependency(uint64_t id) const {
                        ^
  /ekam-provider/canonical/capnp/schema-parser-test.c++:116:34: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_EQ(bazStruct, barStruct.getDependency(bazStruct.getProto().getId()));
                                   ^
  /ekam-provider/c++header/kj/compat/gtest.h:54:43: note: expanded from macro 'EXPECT_EQ'
  #define EXPECT_EQ(x, y) KJ_EXPECT((x) == (y), x, y)
                                            ^
  /ekam-provider/c++header/kj/compat/../test.h:73:7: note: expanded from macro 'KJ_EXPECT'
    if (cond); else KJ_FAIL_EXPECT("failed: expected " #cond, ##__VA_ARGS__)
        ^
  /ekam-provider/canonical/capnp/schema.h:765:23: note: 'getDependency' has been explicitly marked deprecated here
  inline Schema Schema::getDependency(uint64_t id) const {
                        ^
  /ekam-provider/canonical/capnp/schema-parser-test.c++:116:34: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_EQ(bazStruct, barStruct.getDependency(bazStruct.getProto().getId()));
                                   ^
  /ekam-provider/c++header/kj/compat/gtest.h:54:50: note: expanded from macro 'EXPECT_EQ'
  #define EXPECT_EQ(x, y) KJ_EXPECT((x) == (y), x, y)
                                                   ^
  /ekam-provider/c++header/kj/compat/../test.h:73:63: note: expanded from macro 'KJ_EXPECT'
    if (cond); else KJ_FAIL_EXPECT("failed: expected " #cond, ##__VA_ARGS__)
                                                                ^
  /ekam-provider/c++header/kj/compat/../test.h:71:19: note: expanded from macro 'KJ_FAIL_EXPECT'
    KJ_LOG(ERROR, ##__VA_ARGS__);
                    ^
  ...(log truncated; use -l to increase log limit)...
link: capnp/schema-parser-test.o
test: capnp/schema-parser-test
compile: capnp/any-test.c++
link: capnp/any-test.o
test: capnp/any-test
compile: capnp/message-test.c++
link: capnp/message-test.o
test: capnp/message-test
compile: capnp/blob-test.c++
link: capnp/blob-test.o
test: capnp/blob-test
compile: capnp/schema-loader-test.c++
  /ekam-provider/canonical/capnp/schema-loader-test.c++:49:31: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_TRUE(testListsSchema.getDependency(typeId<test::TestLists::Struct32>()) == struct32Schema);
                                ^
  /ekam-provider/c++header/kj/compat/gtest.h:53:34: note: expanded from macro 'EXPECT_TRUE'
  #define EXPECT_TRUE(x) KJ_EXPECT(x)
                                   ^
  /ekam-provider/c++header/kj/compat/../test.h:73:7: note: expanded from macro 'KJ_EXPECT'
    if (cond); else KJ_FAIL_EXPECT("failed: expected " #cond, ##__VA_ARGS__)
        ^
  /ekam-provider/canonical/capnp/schema.h:765:23: note: 'getDependency' has been explicitly marked deprecated here
  inline Schema Schema::getDependency(uint64_t id) const {
                        ^
  /ekam-provider/canonical/capnp/schema-loader-test.c++:50:31: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_TRUE(testListsSchema.getDependency(typeId<test::TestLists::Struct8>()) == struct8Schema);
                                ^
  /ekam-provider/c++header/kj/compat/gtest.h:53:34: note: expanded from macro 'EXPECT_TRUE'
  #define EXPECT_TRUE(x) KJ_EXPECT(x)
                                   ^
  /ekam-provider/c++header/kj/compat/../test.h:73:7: note: expanded from macro 'KJ_EXPECT'
    if (cond); else KJ_FAIL_EXPECT("failed: expected " #cond, ##__VA_ARGS__)
        ^
  /ekam-provider/canonical/capnp/schema.h:765:23: note: 'getDependency' has been explicitly marked deprecated here
  inline Schema Schema::getDependency(uint64_t id) const {
                        ^
  /ekam-provider/canonical/capnp/schema-loader-test.c++:51:31: warning: 'getDependency' is deprecated: Does not handle generics correctly. [-Wdeprecated-declarations]
    EXPECT_TRUE(testListsSchema.getDependency(typeId<test::TestLists::StructP>()) == structPSchema);
                                ^
  /ekam-provider/c++header/kj/compat/gtest.h:53:34: note: expanded from macro 'EXPECT_TRUE'
  #define EXPECT_TRUE(x) KJ_EXPECT(x)
                                   ^
  ...(log truncated; use -l to increase log limit)...
link: capnp/schema-loader-test.o
test: capnp/schema-loader-test
compile: capnp/test-import.capnp.c++
compile: node-capnp/test.capnp.c++
compile: sandstorm/supervisor.capnp.c++
compile: sandstorm/run-bundle.c++
compile: sandstorm/supervisor.c++
compile: sandstorm/ip.capnp.c++
compile: sandstorm/fuse.capnp.c++
compile: sandstorm/fuse.c++
  /ekam-provider/canonical/sandstorm/fuse.c++:886:61: warning: missing field 'capCount' initializer [-Wmissing-field-initializers]
          capnp::MessageSize { size / sizeof(capnp::word) + 4 });
                                                              ^
  1 warning generated.
compile: sandstorm/union-fs.c++
compile: sandstorm/spk.c++
compile: sandstorm/fuse-test-bind.c++
link: sandstorm/fuse-test-bind.o
compile: sandstorm/email.capnp.c++
compile: sandstorm/sandstorm-http-bridge.c++
compile: sandstorm/web-session.capnp.c++
compile: sandstorm/hack-session.capnp.c++
compile: sandstorm/grain.capnp.c++
compile: sandstorm/util.capnp.c++
compile: sandstorm/sandstorm-http-bridge.capnp.c++
compile: sandstorm/api-session.capnp.c++
compile: sandstorm/package.capnp.c++
compile: sandstorm/backend.capnp.c++
compile: sandstorm/backend.c++
link: capnp/encoding-test.o
test: capnp/encoding-test
link: capnp/capability-test.o
test: capnp/capability-test
link: capnp/orphan-test.o
test: capnp/orphan-test
link: capnp/serialize-test.o
test: capnp/serialize-test
link: capnp/rpc-twoparty-test.o
test: capnp/rpc-twoparty-test
link: capnp/dynamic-test.o
test: capnp/dynamic-test
link: capnp/fuzz-test.o
test: capnp/fuzz-test
link: capnp/ez-rpc-test.o
test: capnp/ez-rpc-test
link: sandstorm/run-bundle.o
  tmp/kj/async-io.o: In function `kj::Function<void ()>::Impl<kj::CaptureByMove<kj::(anonymous namespace)::SocketAddress::lookupHost(kj::LowLevelAsyncIoProvider&, kj::String, kj::String, unsigned int)::$_6, kj::(
    anonymous namespace)::SocketAddress::LookupParams> >::operator()()':
  /ekam-provider/canonical/kj/async-io.c++:(.text+0xd5a7): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
link: sandstorm/sandstorm-http-bridge.o
  tmp/kj/async-io.o: In function `kj::Function<void ()>::Impl<kj::CaptureByMove<kj::(anonymous namespace)::SocketAddress::lookupHost(kj::LowLevelAsyncIoProvider&, kj::String, kj::String, unsigned int)::$_6, kj::(
    anonymous namespace)::SocketAddress::LookupParams> >::operator()()':
  /ekam-provider/canonical/kj/async-io.c++:(.text+0xd5a7): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
install: sandstorm/sandstorm.ekam-manifest
install: node-capnp/node-capnp.ekam-manifest
  node-capnp/capnp.node: not found
jstest: node-capnp/capnp-test.js
  full log: tmp/node-capnp/capnp-test.js.log
compile: node-capnp/capnp.cc
  /ekam-provider/canonical/node-capnp/capnp.cc:29:10: fatal error: 'node.h' file not found
  #include <node.h>
           ^
  1 error generated.
==== build failed. You might need to: make update-deps ====
Makefile:139: recipe for target 'tmp/.ekam-run' failed
make: *** [tmp/.ekam-run] Error 1
@kentonv
Copy link
Member

kentonv commented May 26, 2015

We actually pull the node header out of Meteor, because we want to use exactly the version bundled with Meteor. It seems like you have Meteor installed, though, so I'm not sure what's wrong. Maybe the Meteor package manager hasn't actually downloaded the version of the packages to which Sandstorm is pinned? That might be fixed by going under the shell directory and simply typing meteor, letting it install any updates, and then ctrl+c'ing once it tries to start the app.

@jparyani is currently working on updating us to a newer version of Meteor which may very well cause this problem to go away.

@kentonv
Copy link
Member

kentonv commented May 30, 2015

We've updated to a newer Meteor version which means the code path for finding node.h has changed, possibly fixing this bug. Either way, we haven't been able to reproduce it on our machines. Could you try another build and see what happens?

@necrose99
Copy link

https://asciinema.org/a/7F427JVyE6FGTFMYTtcjWxdPX

arm64 for muti gazzilion core servers would be a plus.. takes a bit ... to get 1 for now scarthing my packages list down...

it will fail on arm64 with 2 gis , https://cloud.scaleway.com

@kentonv
Copy link
Member

kentonv commented Oct 20, 2017

Hi @necrose99,

Sorry, I don't understand what you're asking.

This issue is long-obsolete, so I'm going to close it, but if you have a different problem, could you open a new issue?

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

3 participants