second-state / wasmedge-seL4

Integrate WasmEdge with seL4
Apache License 2.0
44 stars 9 forks source link

Installation message - ninja: build stopped: subcommand failed. #1

Closed tpmccallum closed 3 years ago

tpmccallum commented 3 years ago

Hi, I am installing the demo as per the README file. The installation process (via build.sh) has been running successfully up until the following message.

/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:243:6: warning: always_inline function might not be inlinable [-Wattributes]
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:266:6: warning: always_inline function might not be inlinable [-Wattributes]
  266 | void __do_deallocate_handle_size(void *__ptr, size_t __size, _Args ...__args) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:266:6: warning: always_inline function might not be inlinable [-Wattributes]
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:233:7: warning: always_inline function might not be inlinable [-Wattributes]
  233 | void* __libcpp_operator_new(_Args ...__args) {
      |       ^~~~~~~~~~~~~~~~~~~~~
/home/wasmedge/sel4_wasmedge/build/include/c++/v1/new:233:7: warning: always_inline function might not be inlinable [-Wattributes]
ninja: build stopped: subcommand failed.

Please note, I have also pasted this message (with many more lines) in a Gist for your convenience. Please see the following public Gist URL if you need a longer traceback.

https://gist.github.com/tpmccallum/f4911496e90683835c4ab2573dad6f88

I will look into this now; just sharing as I go and wondered if anyone has experienced/seen this message before.

Thanks Tim

tpmccallum commented 3 years ago

This could actually be an insufficient memory issue on the small[ish] Ubuntu cloud instance that I am using for the demonstration. I will try again on local hardware with better memory capabilities and see if this issue resolves itself.

juntao commented 3 years ago

Hmm, feel free to create a large VM instance on Azure for this purpose.

hydai commented 3 years ago

Hi @tpmccallum I use t2.medium EC2 instance on AWS which has 4GB memory. You may use dmesg -T to figure out if there is an OOM killed your process. Because this will need to build seL4 and LLVM, I am not sure if the small instance has the enough memory to do this.

tpmccallum commented 3 years ago

Thanks so much. I will certainly try a bigger machine.

In the meantime, interestingly, I see that Ninja defaults to running commands in parallel (so typically you don’t need to pass -j.) however this could be overwhelming the system.

Therefore, I will also try throttling Ninja by explicitly capping parallelisation using something like ninja -j2 in the build.sh file.

I will let you know the results.

Thanks again. Tim

tpmccallum commented 3 years ago

It seems that using a bigger machine i.e. more memory, and in addition throttling back the -j explicitly i.e. changing the last line in the build.sh to

ninja -j 2

has worked in terms of getting rid of that original error message of ninja: build stopped: subcommand failed

I will close this now, thanks for your feedback.

juntao commented 3 years ago

Please add to the README about minimum VM required and the throttled command option. Thanks.