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

Intermittent build failure: [FAILED ] install: node-capnp/node-capnp.ekam-manifest #3663

Open
dagelf opened this issue Sep 13, 2022 · 12 comments
Labels
sandstorm-dev Issues hacking on Sandstorm

Comments

@dagelf
Copy link

dagelf commented Sep 13, 2022

I have tried the build instructions on Ubuntu 18, 20, 22, Debian latest, and Fedora 34 and latest. On Fedora the meteor install fails. On all the others, a variant of this error pops up:

  link: capnp/ez-rpc-test.o
? test: capnp/schema-loader-test
? test: capnp/ez-rpc-test
? test: capnp/fuzz-test
? install: node-capnp/node-capnp.ekam-manifest
? 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.
? jstest: node-capnp/capnp-test.js
    full log: tmp/node-capnp/capnp-test.js.log
make: *** [Makefile:271: tmp/.ekam-run] Error 1

Which dependency is missing? I have tried a few, but couldn't find the right one.

The easiest way to get more people to help out is to at least make sure that the project can easily be built.

@ocdtrekkie
Copy link
Collaborator

Interesting. Our CI does successfully build and run tests on Sandstorm, so I think all the dependencies should line up with: https://github.com/sandstorm-io/sandstorm/blob/master/.github/workflows/build.yml though the GitHub runners do preinstall a few things.

I will see if I can get you an answer on this too, it's outside my personal expertise.

@ocdtrekkie ocdtrekkie added the sandstorm-dev Issues hacking on Sandstorm label Sep 13, 2022
@zenhack
Copy link
Collaborator

zenhack commented Sep 13, 2022

Can you post the full build log?

What happens if you run ./find-meteor-dev-bundle.sh? Annoyingly, the build will not stop if that step fails; I made an attempt to #3385, but never fully debugged it.

@tgupper
Copy link

tgupper commented Sep 25, 2022

I have had the same problem on Ubuntu 20.04. If I run ./find-meteor-dev-bundle.sh, I get:
Finding meteor-tool installation (can take a few seconds)..../find-meteor-dev-bundle.sh: line 56: meteor: command not found

@zenhack
Copy link
Collaborator

zenhack commented Sep 25, 2022

@tgupper, did you install meteor per https://docs.sandstorm.io/en/latest/install/#prerequisites ?

@tgupper
Copy link

tgupper commented Sep 26, 2022

Oh, it seems like I had not, sorry for that! I now executed all of the following, as described in the prerequisites:

sudo apt-get install build-essential libcap-dev xz-utils zip \
    unzip strace curl discount git python3 zlib1g-dev \
    golang-go cmake strace flex bison locales
curl https://install.meteor.com/ | sh

The original problem still persists though:

 install: node-capnp/node-capnp.ekam-manifest
✘ 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.
✘ jstest: node-capnp/capnp-test.js
    full log: tmp/node-capnp/capnp-test.js.log
✘ test: kj/async-io-test
✘ test: kj/async-unix-xthread-test
✘ test: kj/mutex-test
make: *** [Makefile:271: tmp/.ekam-run] Error 1
user:~/sandstorm# ./find-meteor-dev-bundle.sh
Finding meteor-tool installation (can take a few seconds)...
You are attempting to run Meteor as the 'root' superuser. If you are
developing, this is almost certainly *not* what you want to do and will likely
result in incorrect file permissions. However, if you are running this command
in a build process (CI, etc.), or you are absolutely sure you know what you are
doing, set the METEOR_ALLOW_SUPERUSER environment variable or pass
--allow-superuser to proceed.

@zenhack
Copy link
Collaborator

zenhack commented Sep 26, 2022

@tgupper can you post the full build log? sometimes things further back in the log can provide some insight.

@tgupper
Copy link

tgupper commented Sep 27, 2022

Here you go. In addition to everything installed through the commands in the prerequisites, I now also installed glibc.

user:~/sandstorm# make
Finding meteor-tool installation (can take a few seconds)...
You are attempting to run Meteor as the 'root' superuser. If you are
developing, this is almost certainly *not* what you want to do and will likely
result in incorrect file permissions. However, if you are running this command
in a build process (CI, etc.), or you are absolutely sure you know what you are
doing, set the METEOR_ALLOW_SUPERUSER environment variable or pass
--allow-superuser to proceed.
Finding meteor-tool installation (can take a few seconds)...
You are attempting to run Meteor as the 'root' superuser. If you are
developing, this is almost certainly *not* what you want to do and will likely
result in incorrect file permissions. However, if you are running this command
in a build process (CI, etc.), or you are absolutely sure you know what you are
doing, set the METEOR_ALLOW_SUPERUSER environment variable or pass
--allow-superuser to proceed.
==== building sandstorm with ekam ====
  learn: sandstorm/jstest.ekam-rule
  learn: sandstorm/js.ekam-rule
  learn: sandstorm/seccomp-bpf/bpf_asm.ekam-rule
  learn: bpf_asm/lex-yacc.ekam-rule
  learn: ekam-rules/include.ekam-rule
  lex-yacc: bpf_asm/bpf_exp.l
  lex-yacc: bpf_asm/bpf_exp.y
  learn: ekam-rules/intercept.ekam-rule
  learn: ekam-rules/compile.ekam-rule
  learn: ekam-rules/test.ekam-rule
  learn: ekam-rules/proto.ekam-rule
  learn: ekam-rules/install.ekam-rule
  compile: ekam-rules/intercept.c
  compile: bpf_asm/bpf_asm.c
  compile: sandstorm/seccomp-bpf/gen-clean-h.c
  link: sandstorm/seccomp-bpf/gen-clean-h.o
  compile: joyent-http/http_parser.c++
  compile: libseccomp/arch-arm-syscalls.c
  compile: libseccomp/arch-x32-syscalls.c
  learn: capnp/capnpc.ekam-rule
  compile: libseccomp/arch-s390x.c
  capnpc: capnp/stream.capnp
  capnpc: capnp/rpc-twoparty.capnp
  capnpc: capnp/compat/json.capnp
  capnpc: capnp/compiler/lexer.capnp
  capnpc: capnp/compiler/grammar.capnp
  capnpc: capnp/rpc.capnp
  capnpc: capnp/schema.capnp
  capnpc: capnp/c++.capnp
  capnpc: capnp/persistent.capnp
  compile: kj/async-win32.c++
  compile: kj/async-win32-test.c++
  compile: kj/async-win32-xthread-test.c++
  compile: kj/memory.c++
  compile: kj/filesystem-disk-win32.c++
  compile: kj/async-io-win32.c++
  lex-yacc: bpf_asm/bpf_exp.l
  learn: sandstorm/seccomp-bpf/clean-header.ekam-rule
  lex-yacc: bpf_asm/bpf_exp.y
  compile: kj/thread-test.c++
  compile: libseccomp/arch-x86-syscalls.c
  compile: libseccomp/hash.c
  compile: bpf_asm/bpf_exp.yacc.c
  compile: libseccomp/arch-mips64.c
  compile: libseccomp/arch-x86.c
  compile: libseccomp/arch-mips.c
  compile: libseccomp/arch-s390-syscalls.c
  compile: libseccomp/arch-mips64-syscalls.c
  compile: libseccomp/arch-parisc.c
  compile: kj/table.c++
  compile: libseccomp/arch-riscv64.c
  compile: libseccomp/arch-s390.c
  compile: libseccomp/arch-x32.c
  compile: libseccomp/arch-ppc64.c
  compile: libseccomp/arch-parisc-syscalls.c
  compile: libseccomp/arch-ppc.c
  compile: libseccomp/arch-syscall-check.c
  compile: libseccomp/arch-mips64n32-syscalls.c
  compile: libseccomp/arch.c
  compile: libseccomp/arch-syscall-dump.c
  compile: libseccomp/arch-riscv64-syscalls.c
  compile: libseccomp/arch-parisc64.c
  compile: libseccomp/gen_pfc.c
  compile: libseccomp/arch-aarch64-syscalls.c
  compile: libseccomp/helper.c
  compile: libseccomp/arch-ppc64-syscalls.c
  compile: libseccomp/system.c
  compile: libseccomp/arch-s390x-syscalls.c
  compile: libseccomp/arch-x86_64.c
  compile: libseccomp/arch-aarch64.c
  compile: libseccomp/gen_bpf.c
  compile: libseccomp/arch-mips-syscalls.c
  compile: libseccomp/arch-ppc-syscalls.c
  compile: libseccomp/api.c
  compile: libseccomp/arch-arm.c
  compile: libseccomp/arch-mips64n32.c
  compile: libseccomp/arch-x86_64-syscalls.c
  compile: libseccomp/db.c
  compile: capnp/compat/json.capnp.c++
  compile: capnp/compat/websocket-rpc.c++
  compile: capnp/compiler/type-id.c++
  compile: capnp/compiler/lexer-test.c++
  compile: capnp/compat/json.c++
  compile: capnp/compiler/error-reporter.c++
  compile: capnp/compiler/type-id-test.c++
  compile: capnp/compiler/capnpc-capnp.c++
  compile: capnp/compiler/grammar.capnp.c++
  compile: capnp/compiler/capnp.c++
  compile: capnp/compiler/lexer.capnp.c++
  compile: capnp/compiler/node-translator.c++
  compile: capnp/compiler/lexer.c++
  compile: capnp/compiler/generics.c++
  compile: capnp/compiler/evolution-test.c++
  compile: capnp/compiler/module-loader.c++
  compile: capnp/ez-rpc.c++
  compile: capnp/schema.capnp.c++
  compile: capnp/dynamic.c++
  compile: capnp/endian-fallback-test.c++
  compile: capnp/schema.c++
  compile: capnp/dynamic-capability.c++
  compile: capnp/compiler/parser.c++
  compile: capnp/rpc.capnp.c++
  compile: capnp/serialize.c++
  compile: capnp/stringify.c++
  compile: capnp/layout.c++
  compile: capnp/c++.capnp.c++
  compile: capnp/serialize-async.c++
  compile: capnp/serialize-text.c++
  compile: capnp/compiler/capnpc-c++.c++
  compile: capnp/blob.c++
  compile: capnp/schema-loader.c++
  compile: capnp/schema-parser.c++
  compile: capnp/rpc.c++
  compile: capnp/list.c++
  compile: capnp/capability.c++
  compile: capnp/reconnect.c++
  compile: capnp/any.c++
  compile: capnp/serialize-packed.c++
  compile: capnp/layout-test.c++
  compile: capnp/membrane.c++
  compile: capnp/endian-test.c++
  compile: capnp/stream.capnp.c++
  compile: capnp/arena.c++
  compile: capnp/persistent.capnp.c++
  compile: capnp/endian-reverse-test.c++
  compile: capnp/message.c++
  compile: sandstorm/send-fd.c++
  compile: capnp/compiler/compiler.c++
  compile: sandstorm/fuse-test-bind.c++
  compile: capnp/rpc-twoparty.capnp.c++
  compile: kj/timer.c++
  compile: kj/string.c++
  compile: kj/async-test.c++
  compile: kj/table-test.c++
  compile: kj/compat/gzip.c++
  compile: kj/compat/tls.c++
  compile: kj/compat/url.c++
  compile: kj/compat/readiness-io-test.c++
  compile: kj/compat/gzip-test.c++
  compile: kj/compat/readiness-io.c++
  compile: kj/compat/url-test.c++
  compile: kj/compat/tls-test.c++
  compile: kj/parse/char-test.c++
  compile: kj/parse/common-test.c++
  compile: sandstorm/util/http.c++
  compile: kj/compat/http.c++
  compile: kj/async-io-unix.c++
  compile: kj/async-unix-test.c++
  compile: kj/units-test.c++
  compile: kj/common-test.c++
  compile: kj/filesystem-disk-test.c++
  compile: kj/std/iostream-test.c++
  compile: kj/test-test.c++
  compile: kj/compat/http-socketpair-test.c++
  compile: kj/async-queue-test.c++
  compile: kj/compat/http-test.c++
  compile: kj/list-test.c++
  compile: kj/string-test.c++
  compile: kj/exception-test.c++
  compile: kj/exception.c++
  compile: kj/async-unix.c++
  compile: kj/thread.c++
  compile: kj/io.c++
  compile: kj/list.c++
  compile: kj/array.c++
  compile: kj/encoding.c++
  compile: kj/units.c++
  compile: kj/common.c++
  compile: kj/time.c++
  compile: kj/debug.c++
  compile: kj/map-test.c++
  compile: kj/main.c++
  compile: kj/filesystem-disk-unix.c++
  compile: kj/async-io.c++
  compile: kj/filesystem-disk-generic-test.c++
  compile: kj/mutex.c++
  compile: kj/test.c++
  link: kj/test.o
  compile: kj/mutex-test.c++
  compile: kj/filesystem-test.c++
  compile: kj/time-test.c++
  link: kj/time-test.o
  compile: kj/async-coroutine-test.c++
  compile: kj/hash.c++
✔ test: kj/time-test
  compile: kj/tuple-test.c++
  compile: kj/io-test.c++
  link: kj/tuple-test.o
✔ test: kj/tuple-test
  compile: kj/async-unix-xthread-test.c++
  compile: kj/threadlocal-test.c++
  link: kj/threadlocal-test.o
✔ test: kj/threadlocal-test
  compile: kj/test-helpers.c++
  compile: kj/function-test.c++
  link: kj/function-test.o
✔ test: kj/function-test
  compile: kj/string-tree-test.c++
  compile: kj/refcount-test.c++
  link: kj/refcount-test.o
✔ test: kj/refcount-test
  compile: kj/string-tree.c++
  compile: kj/memory-test.c++
  link: kj/memory-test.o
✔ test: kj/memory-test
  compile: kj/source-location.c++
  compile: bpf_asm/bpf_exp.l.lex.c
  link: bpf_asm/bpf_asm.o
  link: libseccomp/arch-syscall-check.o
  link: libseccomp/arch-syscall-dump.o
  compile: kj/encoding-test.c++
  link: kj/encoding-test.o
✔ test: kj/encoding-test
  link: capnp/compiler/capnp.o
  link: capnp/compiler/capnpc-capnp.o
  link: capnp/compiler/evolution-test.o
  compile: kj/array-test.c++
  link: capnp/compiler/capnpc-c++.o
  link: kj/array-test.o
✔ test: kj/array-test
✔ test: capnp/compiler/evolution-test
  link: kj/filesystem-disk-generic-test.o
  link: kj/map-test.o
✔ test: kj/map-test
✔ test: kj/filesystem-disk-generic-test
  link: kj/exception-test.o
✔ test: kj/exception-test
  link: kj/list-test.o
  link: kj/string-test.o
✔ test: kj/list-test
✔ test: kj/string-test
  link: kj/compat/http-test.o
  link: kj/async-queue-test.o
  link: kj/compat/http-socketpair-test.o
✔ test: kj/async-queue-test
✔ test: kj/compat/http-test
  link: kj/test-test.o
  link: kj/std/iostream-test.o
✔ test: kj/compat/http-socketpair-test
✔ test: kj/std/iostream-test
✔ test: kj/test-test
  link: kj/common-test.o
  link: kj/units-test.o
  link: kj/filesystem-disk-test.o
✔ test: kj/common-test
✔ test: kj/units-test
✔ test: kj/filesystem-disk-test
  link: kj/parse/common-test.o
  link: kj/async-unix-test.o
  link: kj/parse/char-test.o
✔ test: kj/parse/common-test
✔ test: kj/parse/char-test
  link: kj/compat/url-test.o
✔ test: kj/compat/url-test
✔ test: kj/async-unix-test
  link: kj/compat/tls-test.o
  link: kj/compat/gzip-test.o
  link: kj/compat/readiness-io-test.o
  compile: kj/async-io-test.c++
✔ test: kj/compat/readiness-io-test
✔ test: kj/compat/gzip-test
  link: kj/async-io-test.o
  link: kj/table-test.o
  link: kj/async-test.o
✔ test: kj/async-test
✔ test: kj/compat/tls-test
  link: kj/arena-test.o
  link: kj/one-of-test.o
✔ test: kj/arena-test
  link: kj/async-xthread-test.o
✔ test: kj/one-of-test
  link: kj/filesystem-disk-old-kernel-test.o
  link: kj/debug-test.o
✔ test: kj/filesystem-disk-old-kernel-test
✔ test: kj/async-xthread-test
✔ test: kj/debug-test
  link: capnp/endian-test.o
✔ test: capnp/endian-test
  link: capnp/endian-reverse-test.o
  link: capnp/layout-test.o
✔ test: capnp/endian-reverse-test
  link: capnp/endian-fallback-test.o
✔ test: capnp/endian-fallback-test
✔ test: capnp/layout-test
  link: capnp/compiler/type-id-test.o
✔ test: capnp/compiler/type-id-test
  link: kj/thread-test.o
  link: capnp/compiler/lexer-test.o
✔ test: kj/thread-test
  link: kj/async-unix-xthread-test.o
✔ test: capnp/compiler/lexer-test
  link: kj/io-test.o
✔ test: kj/io-test
✔ test: kj/async-unix-xthread-test
  link: kj/filesystem-test.o
  link: kj/string-tree-test.o
  link: kj/mutex-test.o
✔ test: kj/string-tree-test
✔ test: kj/filesystem-test
  install: capnp/compiler/capnp.ekam-manifest
  bpf_asm: sandstorm/seccomp-bpf/filter.s
  capnpc: capnp/test-import.capnp
  capnpc: capnp/test-import2.capnp
  capnpc: capnp/compat/json-test.capnp
  capnpc: capnp/compat/http-over-capnp.capnp
  capnpc: capnp/test.capnp
  capnpc: capnp/compat/byte-stream.capnp
  capnpc: capnp/compat/json-rpc.capnp
  capnpc: node-capnp/test.capnp
✔ test: kj/table-test
  capnpc: sandstorm/appid-replacements-test.capnp
  capnpc: sandstorm/email-impl.capnp
  capnpc: sandstorm/backend.capnp
  capnpc: sandstorm/supervisor.capnp
  capnpc: sandstorm/test-app/test-app.capnp
  compile: capnp/compat/json-rpc.capnp.c++
  capnpc: sandstorm/identity-impl.capnp
  capnpc: sandstorm/mime.capnp
  capnpc: sandstorm/email.capnp
  capnpc: sandstorm/api-session.capnp
  capnpc: sandstorm/web-session.capnp
  capnpc: sandstorm/web-publishing.capnp
  capnpc: sandstorm/control-socket.capnp
  capnpc: sandstorm/app-index/keybase-api.capnp
  capnpc: sandstorm/appid-replacements.capnp
  capnpc: sandstorm/app-index/submit.capnp
  capnpc: sandstorm/app-index/app-index.capnp
  capnpc: sandstorm/sandstorm-http-bridge.capnp
  capnpc: sandstorm/update-tool.capnp
  capnpc: sandstorm/activity.capnp
  capnpc: sandstorm/hack-session.capnp
  compile: sandstorm/app-index/keybase-api.capnp.c++
  capnpc: sandstorm/persistentuiview.capnp
  capnpc: sandstorm/package.capnp
  capnpc: sandstorm/powerbox.capnp
  compile: node-capnp/test.capnp.c++
  capnpc: sandstorm/sandstorm-http-bridge-internal.capnp
  capnpc: sandstorm/ip.capnp
  capnpc: sandstorm/api-session-impl.capnp
  capnpc: sandstorm/identity.capnp
  capnpc: sandstorm/bridge-proxy.capnp
  capnpc: sandstorm/payments.capnp
  capnpc: sandstorm/util.capnp
  capnpc: sandstorm/grain.capnp
  compile: capnp/test.capnp.c++
✔ learn: capnp/bootstrap-test.ekam-rule
✔ learn: capnp/compiler/capnp-test.ekam-rule
  compile: sandstorm/ip.capnp.c++
  compile: capnp/test-import2.capnp.c++
  compile: capnp/test-import.capnp.c++
  compile: capnp/compat/http-over-capnp.capnp.c++
  compile: capnp/compat/json-test.capnp.c++
  compile: capnp/fuzz-test.c++
  compile: capnp/compat/http-over-capnp.c++
  compile: sandstorm/supervisor.c++
    /ekam-provider/canonical/sandstorm/supervisor.c++:809:19: warning: 'readdir_r' is deprecated [-Wdeprecated-
      declarations]
          int error = readdir_r(dir, &entry, &eptr);
                      ^
    /usr/include/dirent.h:186:28: note: 'readdir_r' has been explicitly marked deprecated here
         __nonnull ((1, 2, 3)) __attribute_deprecated__;
                               ^
    /usr/include/x86_64-linux-gnu/sys/cdefs.h:251:51: note: expanded from macro '__attribute_deprecated__'
    # define __attribute_deprecated__ __attribute__ ((__deprecated__))
                                                      ^
    1 warning generated.
  compile: capnp/compat/http-over-capnp-test.c++
  compile: capnp/compat/json-test.c++
  compile: capnp/compat/json-rpc-test.c++
  compile: capnp/blob-test.c++
  link: capnp/blob-test.o
✔ test: capnp/blob-test
  compile: capnp/schema-parser-test.c++
  link: capnp/schema-parser-test.o
✔ test: capnp/schema-parser-test
  compile: capnp/encoding-test.c++
  compile: capnp/any-test.c++
  compile: capnp/message-test.c++
  compile: capnp/serialize-packed-test.c++
  compile: capnp/reconnect-test.c++
  link: capnp/reconnect-test.o
✔ test: capnp/reconnect-test
  compile: capnp/dynamic-test.c++
  compile: capnp/afl-testcase.c++
  compile: capnp/membrane-test.c++
  link: capnp/membrane-test.o
✔ test: capnp/membrane-test
  compile: capnp/test-util.c++
  compile: capnp/stringify-test.c++
  link: capnp/stringify-test.o
✔ test: capnp/stringify-test
  compile: capnp/capability-test.c++
  link: capnp/capability-test.o
✔ test: capnp/capability-test
  compile: capnp/common-test.c++
  link: capnp/common-test.o
✔ test: capnp/common-test
  compile: capnp/llvm-fuzzer-testcase.c++
  compile: capnp/ez-rpc-test.c++
  link: capnp/ez-rpc-test.o
✔ test: capnp/ez-rpc-test
  compile: capnp/schema-test.c++
  link: capnp/schema-test.o
✔ test: capnp/schema-test
  compile: capnp/rpc-twoparty-test.c++
  link: capnp/rpc-twoparty-test.o
  compile: capnp/orphan-test.c++
  compile: capnp/canonicalize-test.c++
✔ test: capnp/rpc-twoparty-test
  link: capnp/orphan-test.o
  link: capnp/canonicalize-test.o
✔ test: capnp/canonicalize-test
✔ test: capnp/orphan-test
  compile: capnp/serialize-test.c++
  link: capnp/serialize-test.o
✔ test: capnp/serialize-test
  compile: capnp/serialize-async-test.c++
  compile: capnp/serialize-text-test.c++
  link: capnp/serialize-async-test.o
  link: capnp/serialize-text-test.o
  compile: capnp/schema-loader-test.c++
✔ test: capnp/serialize-text-test
  link: capnp/schema-loader-test.o
✔ test: capnp/serialize-async-test
✔ test: capnp/schema-loader-test
  compile: capnp/compat/byte-stream.capnp.c++
  compile: capnp/compat/websocket-rpc-test.c++
  link: capnp/compat/websocket-rpc-test.o
✔ test: capnp/compat/websocket-rpc-test
  compile: capnp/compat/json-rpc.c++
  compile: capnp/compat/byte-stream-test.c++
  compile: sandstorm/appid-replacements-test.capnp.c++
  compile: sandstorm/email-impl.capnp.c++
  compile: sandstorm/appid-replacements-test.c++
  compile: sandstorm/backend.capnp.c++
  compile: capnp/compat/byte-stream.c++
    /ekam-provider/canonical/capnp/compat/byte-stream.c++:944:84: warning: missing field 'capCount' initializer [-
      Wmissing-field-initializers]
            auto req = capnpStream->writeRequest(MessageSize { 8 + size / sizeof(word) });
                                                                                       ^
    1 warning generated.
  compile: capnp/rpc-test.c++
  link: capnp/rpc-test.o
✔ test: capnp/rpc-test
  compile: sandstorm/supervisor.capnp.c++
  compile: sandstorm/backend.c++
  compile: sandstorm/gateway.c++
  compile: sandstorm/identity-impl.capnp.c++
  compile: sandstorm/mime.capnp.c++
  compile: sandstorm/email.capnp.c++
  compile: sandstorm/api-session.capnp.c++
  compile: sandstorm/test-app/test-app.c++
  compile: sandstorm/run-bundle.c++
  compile: sandstorm/app-index/keybase.c++
  compile: sandstorm/app-index/app-index.c++
  compile: sandstorm/web-session.capnp.c++
  compile: sandstorm/web-publishing.capnp.c++
  compile: sandstorm/control-socket.capnp.c++
  compile: sandstorm/bridge-proxy.c++
  compile: sandstorm/appid-replacements.capnp.c++
  compile: sandstorm/app-index/indexer.c++
  compile: sandstorm/appid-replacements.c++
  compile: sandstorm/spk.c++
    /ekam-provider/canonical/sandstorm/spk.c++:297:28: warning: 'parseDiskFile' is deprecated: Use parseFromDirectory()
      instead. [-Wdeprecated-declarations]
          auto schema = parser.parseDiskFile(filename, filename, importPathPtrs);
                               ^
    /ekam-provider/c++header/capnp/schema-parser.h:103:7: note: 'parseDiskFile' has been explicitly marked deprecated
      here
          CAPNP_DEPRECATED("Use parseFromDirectory() instead.");
          ^
    /ekam-provider/c++header/capnp/common.h:63:26: note: expanded from macro 'CAPNP_DEPRECATED'
    #define CAPNP_DEPRECATED KJ_DEPRECATED
                             ^
    /ekam-provider/c++header/kj/common.h:279:20: note: expanded from macro 'KJ_DEPRECATED'
        __attribute__((deprecated(reason)))
                       ^
    /ekam-provider/canonical/sandstorm/spk.c++:1408:10: warning: variable 'hashThread' set but not used [-Wunused-but-
      set-variable]
        auto hashThread = new kj::Thread([&]() {
             ^
    2 warnings generated.
  compile: sandstorm/app-index/submit.capnp.c++
  compile: sandstorm/web-session-bridge.c++
  compile: sandstorm/update-tool.capnp.c++
  compile: sandstorm/sandstorm-http-bridge.capnp.c++
  compile: sandstorm/app-index/app-index.capnp.c++
  compile: sandstorm/activity.capnp.c++
  compile: sandstorm/update-tool.c++
  compile: sandstorm/persistentuiview.capnp.c++
  compile: sandstorm/package.capnp.c++
  compile: sandstorm/test-app/test-app.capnp.c++
  compile: sandstorm/spk-standalone.c++
  compile: sandstorm/sandstorm-http-bridge.c++
  compile: sandstorm/id-to-text-test.c++
  compile: sandstorm/union-fs.c++
  compile: sandstorm/powerbox.capnp.c++
  compile: sandstorm/id-to-text.c++
  compile: sandstorm/bridge-proxy.capnp.c++
  compile: sandstorm/identity.capnp.c++
  compile: sandstorm/api-session-impl.capnp.c++
  compile: sandstorm/sandstorm-http-bridge-internal.capnp.c++
  compile: sandstorm/util.capnp.c++
  compile: sandstorm/payments.capnp.c++
  compile: sandstorm/hack-session.capnp.c++
  compile: sandstorm/smtp-proxy.c++
  compile: sandstorm/util-test.c++
  compile: sandstorm/cgroup2.c++
  compile: sandstorm/fuse.c++
  compile: sandstorm/sandbox.c++
  compile: sandstorm/util.c++
  link: capnp/dynamic-test.o
  compile: sandstorm/backup.c++
✔ test: capnp/dynamic-test
  link: capnp/serialize-packed-test.o
  link: capnp/message-test.o
  compile: sandstorm/grain.capnp.c++
✔ test: capnp/message-test
✔ test: capnp/serialize-packed-test
  compile: sandstorm/config.c++
  link: capnp/any-test.o
  link: capnp/encoding-test.o
  link: capnp/compat/json-test.o
  link: capnp/compat/json-rpc-test.o
✔ test: capnp/any-test
✔ test: capnp/compat/json-test
✔ test: capnp/encoding-test
✔ test: capnp/compat/json-rpc-test
  link: capnp/afl-testcase.o
  link: capnp/fuzz-test.o
  link: capnp/compat/byte-stream-test.o
  link: capnp/compat/http-over-capnp-test.o
  link: sandstorm/app-index/app-index.o
✔ test: capnp/compat/byte-stream-test
✔ test: capnp/compat/http-over-capnp-test
  link: sandstorm/appid-replacements-test.o
  link: sandstorm/test-app/test-app.o
    /usr/bin/ld: tmp/kj/async-io-unix.o: in function `operator()':
    /ekam-provider/canonical/kj/async-io-unix.c++:1234: warning: Using 'getaddrinfo' in statically linked applications
      requires at runtime the shared libraries from the glibc version used for linking
  link: sandstorm/run-bundle.o
    /usr/bin/ld: tmp/kj/async-io-unix.o: in function `operator()':
    /ekam-provider/canonical/kj/async-io-unix.c++:1234: warning: Using 'getaddrinfo' in statically linked applications
      requires at runtime the shared libraries from the glibc version used for linking
  link: sandstorm/spk-standalone.o
  link: sandstorm/sandstorm-http-bridge.o
    /usr/bin/ld: tmp/kj/async-io-unix.o: in function `operator()':
    /ekam-provider/canonical/kj/async-io-unix.c++:1234: warning: Using 'getaddrinfo' in statically linked applications
      requires at runtime the shared libraries from the glibc version used for linking
✔ test: sandstorm/appid-replacements-test
  link: sandstorm/id-to-text-test.o
✔ test: sandstorm/id-to-text-test
  link: sandstorm/fuse-test-bind.o
  install: sandstorm/sandstorm.ekam-manifest
  link: sandstorm/util-test.o
  link: sandstorm/update-tool.o
✔ test: sandstorm/util-test
✔ test: capnp/fuzz-test
✘ install: node-capnp/node-capnp.ekam-manifest
    node-capnp/capnp.node: not found
✘ test: kj/mutex-test
✘ 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.
✘ test: kj/async-io-test
make: *** [Makefile:271: tmp/.ekam-run] Error 1

@zenhack
Copy link
Collaborator

zenhack commented Sep 27, 2022

Drat, I don't see anything obvious.

It should be pulling node.h out of the meteor dev bundle.

What does ./find-meteor-dev-bundle.sh print? Does it point to a directory that contains a file include/node/node.h?

@tgupper
Copy link

tgupper commented Sep 29, 2022

When I execute ./find-meteor-dev-bundle.sh, this is what I get:

user:~/sandstorm# ./find-meteor-dev-bundle.sh
Finding meteor-tool installation (can take a few seconds)...
You are attempting to run Meteor as the 'root' superuser. If you are
developing, this is almost certainly *not* what you want to do and will likely
result in incorrect file permissions. However, if you are running this command
in a build process (CI, etc.), or you are absolutely sure you know what you are
doing, set the METEOR_ALLOW_SUPERUSER environment variable or pass
--allow-superuser to proceed.

When I then execute ./find-meteor-dev-bundle.sh --allow-superuser, I get:

Finding meteor-tool installation (can take a few seconds)...Please specify a package or release name to show information about it.

The file node.h exists in ./.meteor, but it doesn't seem like ./find-meteor-dev-bundle.sh points to it.

@zenhack
Copy link
Collaborator

zenhack commented Sep 29, 2022 via email

@ocdtrekkie
Copy link
Collaborator

So I am seeing this issue, but it's intermittent. I did a test where the CI failed here, and then I re-ran CI and it succeeded.

@ocdtrekkie ocdtrekkie changed the title Build instructions outdated - your front door is welded shut! Intermittent build failure: [FAILED ] install: node-capnp/node-capnp.ekam-manifest Oct 13, 2022
@ocdtrekkie
Copy link
Collaborator

Here's an example of it failing in CI: https://github.com/sandstorm-io/sandstorm/actions/runs/3034304360/jobs/4883247374

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sandstorm-dev Issues hacking on Sandstorm
Projects
None yet
Development

No branches or pull requests

4 participants