sandstorm-io / sandstorm

Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.
https://sandstorm.io
Other
6.71k stars 704 forks source link

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

Open dagelf opened 2 years ago

dagelf commented 2 years ago

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 commented 2 years ago

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.

zenhack commented 2 years ago

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 commented 1 year ago

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 commented 1 year ago

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

tgupper commented 1 year ago

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 commented 1 year ago

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

tgupper commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Have you tried running the build as a non-root user?

Quoting tgupper (2022-09-29 04:30:28)

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 pac kage 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.

-- Reply to this email directly, [1]view it on GitHub, or [2]unsubscribe. You are receiving this because you commented. Message ID: @.***>

Verweise

  1. https://github.com/sandstorm-io/sandstorm/issues/3663#issuecomment-1261945954
  2. https://github.com/notifications/unsubscribe-auth/AAGXYPVXXXVCZSHRWAMODOLWAVHSJANCNFSM6AAAAAAQLJFDGQ
ocdtrekkie commented 1 year ago

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 commented 1 year ago

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