Closed tiitremmel closed 3 years ago
What are your ffmpeg branging or sdk settings?
The command I used
cd $NWJS/src
export GYP_CROSSCOMPILE="1"
export GYP_DEFINES="is_debug=false is_component_ffmpeg=true target_arch=arm target_cpu=\"arm\" arm_float_abi=hard"
export GN_ARGS="nwjs_sdk=true enable_nacl=false ffmpeg_branding=\"Chrome\"" #
export GYP_CHROMIUM_NO_ACTION=1
gclient sync --reset --with_branch_heads --nohooks
try to set enable_nacl=true
I'll try and let you know if it helps
Ok
I had difficulties building with the following params:
export GN_ARGS="nwjs_sdk=false enable_nacl=false ffmpeg_branding=\"Chrome\""
That's why v0.28.4 was not released yet
@jtg-gg could you take a look at this issue, please?
I am getting an error at a different stage, when linking libnode.so: gist
@tiitremmel try earlier version of node.js (28.3) Roger Wang might update the 28.4 version then abandoned it and move the nw29
Update Maybe it was me who skips 28.3 Try to build nw28.2 instead
any progress here? ;-)
Interesting, I am now experiencing the exact same issue trying to build nw28. Building with:
export PATH=$PATH:~/depot_tools
export NWJS=$HOME/nwjs
export GYP_CROSSCOMPILE="1"
export GYP_DEFINES="is_debug=false is_component_ffmpeg=true target_arch=arm target_cpu=\"arm\" arm_float_abi=hard"
export GN_ARGS="nwjs_sdk=false enable_nacl=false ffmpeg_branding=\"Chrome\"" #
export GYP_CHROMIUM_NO_ACTION=0
The following files are apparently missing:
../../third_party/node-nw/deps/zlib/zconf.h:444:14: fatal error: 'sys/types.h' file not found
...
../../third_party/node-nw/deps/uv/src/unix/getnameinfo.c:22:10: fatal error: 'assert.h' file not found
...
../../third_party/node-nw/deps/uv/include/uv-errno.h:25:10: fatal error: 'errno.h' file not found
Interestingly, sysroot for the compilation was --sysroot=/home/user/nwjs/src/build/linux/debian_jessie_arm-sysroot
This path doesn't exist!!!!
However, this one does:
/home/user/nwjs/src/build/linux/debian_stretch_arm-sysroot
and indeed, if you check in there:
$ cd /home/user/nwjs/src/build/linux/debian_jessie_arm-sysroot
$ find . -name "assert.h"
./usr/include/assert.h
$ find . -name "types.h"
./usr/include/gssrpc/types.h
./usr/include/rpc/types.h
./usr/include/asm-generic/types.h
./usr/include/linux/iio/types.h
./usr/include/linux/types.h
./usr/include/c++/6/parallel/types.h
./usr/include/mit-krb5/gssrpc/types.h
./usr/include/arm-linux-gnueabihf/bits/types.h
./usr/include/arm-linux-gnueabihf/asm/types.h
./usr/include/arm-linux-gnueabihf/sys/types.h
./usr/include/pci/types.h
Unfortunately, I'm really not sure how to get this rather complicated build system to point at the debian Stretch path instead of Jessie. I did try cheekily copying and renaming the folder so I had both Stretch and Jessie paths. Then I hit a similar libnode issue as @LeonardLaszlo, it seems it's missing another file:
ninja: Entering directory `out_gn_arm/Release'
[1232/1232] SOLINK lib/libnode.so
FAILED: lib/libnode.so lib/libnode.so.TOC
if [ ! -e lib/libnode.so -o ! -e lib/libnode.so.TOC ]; then ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -Wl,-z,defs -pthread -Wl,-z,noexecstack -fPIC -B/home/user/nwjs/src/third_party/binutils/Linux_x64/Release/bin -L../nw/lib/ -lnw ../nw/obj/buildtools/third_party/libc++/libc++/*.o ../nw/obj/buildtools/third_party/libc++abi/libc++abi/*.o ../nw/obj/buildtools/third_party/libunwind/libunwind/*.o -pthread -target arm-linux-gnueabihf --sysroot=/home/user/nwjs/src/build/linux/debian_jessie_arm-sysroot -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--no-as-needed -lpthread -Wl,--as-needed -o lib/libnode.so -Wl,-soname=libnode.so @lib/libnode.so.rsp && { readelf -d lib/libnode.so | grep SONAME ; nm -gD -f p lib/libnode.so | cut -f1-2 -d' '; } > lib/libnode.so.TOC; else ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -Wl,-z,defs -pthread -Wl,-z,noexecstack -fPIC -B/home/user/nwjs/src/third_party/binutils/Linux_x64/Release/bin -L../nw/lib/ -lnw ../nw/obj/buildtools/third_party/libc++/libc++/*.o ../nw/obj/buildtools/third_party/libc++abi/libc++abi/*.o ../nw/obj/buildtools/third_party/libunwind/libunwind/*.o -pthread -target arm-linux-gnueabihf --sysroot=/home/user/nwjs/src/build/linux/debian_jessie_arm-sysroot -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--no-as-needed -lpthread -Wl,--as-needed -o lib/libnode.so -Wl,-soname=libnode.so @lib/libnode.so.rsp && { readelf -d lib/libnode.so | grep SONAME ; nm -gD -f p lib/libnode.so | cut -f1-2 -d' '; } > lib/libnode.so.tmp && if ! cmp -s lib/libnode.so.tmp lib/libnode.so.TOC; then mv lib/libnode.so.tmp lib/libnode.so.TOC ; fi; fi
clang: error: no such file or directory: '../nw/obj/buildtools/third_party/libunwind/libunwind/*.o'
ninja: build stopped: subcommand failed.
Due to all the relative paths I'm not sure where exactly it is trying to search (what its current working directory is), but the libunwind folder can be found in: $NWJS/src/buildtools/third_party/libunwind
.
Not relevant anymore.
I'm trying to build v0.28 version. Using Ubuntu version 16.04.5 LTS (Xenial Xerus) stretch/sid.
I followed all instructions as in this doc https://github.com/LeonardLaszlo/nw.js-armv7-binaries/blob/master/docs/build-nwjs-v0.28.x.md
After last step
I'm getting lot of error's saying that
sys/types.h
anderror.h
andassert.h file not found
.Here's last 3 errors
Any ideas why?