NodeOS
NodeOS copied to clipboard
: npm run build failed - lifecycle - exit status 72
the CLI shows:
> prebuild-install -d https://github.com/NodeOS/nodeos-usersfs/releases/download/v{version}/{platform}-{arch}.tar.gz || (buildDependencies
&& npm run build)
prebuild-install info begin Prebuild-install version 2.4.1
prebuild-install info looking for local prebuild @ prebuilds/linux-x64.tar.gz
prebuild-install info looking for cached prebuild @ /home/jon/.npm/_prebuilds/https-github.com-NodeOS-nodeos-usersfs-releases-download-v1.0
.0-RC3.3-linux-x64.tar.gz
prebuild-install info found cached prebuild
prebuild-install info unpacking @ /home/jon/.npm/_prebuilds/https-github.com-NodeOS-nodeos-usersfs-releases-download-v1.0.0-RC3.3-linux-x64
.tar.gz
prebuild-install info install Successfully installed prebuilt binary!
/mnt/c/Users/munso/Downloads/nodeOS/NodeOS-master/node_modules/tar2ext/server.js:25
if(err) throw err
^
Error: spawn tune2fs ENOENT
at exports._errnoException (util.js:1020:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:197:32)
at onErrorNT (internal/child_process.js:376:16)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
Error building '/mnt/c/Users/munso/Downloads/nodeOS/NodeOS-master/out/x86_64/pc/qemu'
the debug log:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'build' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle [email protected]~prebuild: [email protected]
6 silly lifecycle [email protected]~prebuild: no script for prebuild, continuing
7 info lifecycle [email protected]~build: [email protected]
8 verbose lifecycle [email protected]~build: unsafe-perm in lifecycle true
9 verbose lifecycle [email protected]~build: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/mnt/c/Users/munso/Downloads/nodeOS/NodeOS-master/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
10 verbose lifecycle [email protected]~build: CWD: /mnt/c/Users/munso/Downloads/nodeOS/NodeOS-master
11 silly lifecycle [email protected]~build: Args: [ '-c', 'scripts/build' ]
12 silly lifecycle [email protected]~build: Returned: code: 72 signal: null
13 info lifecycle [email protected]~build: Failed to exec build script
14 verbose stack Error: [email protected] build: `scripts/build`
14 verbose stack Exit status 72
14 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at EventEmitter.emit (events.js:191:7)
14 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at ChildProcess.emit (events.js:191:7)
14 verbose stack at maybeClose (internal/child_process.js:920:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
15 verbose pkgid [email protected]
16 verbose cwd /mnt/c/Users/munso/Downloads/nodeOS/NodeOS-master
17 error Linux 3.4.0+
18 error argv "/usr/bin/node" "/usr/bin/npm" "run" "build"
19 error node v6.12.2
20 error npm v3.10.10
21 error code ELIFECYCLE
22 error [email protected] build: `scripts/build`
22 error Exit status 72
23 error Failed at the [email protected] build script 'scripts/build'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the NodeOS package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error scripts/build
23 error You can get information on how to open an issue for this project with:
23 error npm bugs NodeOS
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls NodeOS
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]
I made a change that allowed me to successfully build the nodeOS. This incorperates a fix to the issue: https://github.com/NodeOS/NodeOS/issues/379 And installs QEMU -- which is likely what made this current issue fail.
All I did was adjust the "install-dependancies" script, adding libfuse-dev and qemu:
elif [ -f /etc/debian_version ]; then
PKGMGR='apt-get -qq -y'
dpkg --add-architecture i386 && $PKGMGR update || exit 1
$PKGMGR install curl || exit 10
$PKGMGR install gcc git || exit 20
$PKGMGR install bc || exit 21
$PKGMGR install genisoimage mtools libc6-i386 libuuid1:i386 || exit 22
$PKGMGR install libsdl1.2-dev || exit 30
$PKGMGR install libfuse-dev || exit 911
$PKGMGR install qemu || exit 912
seems that i missed this one in the dependencies script would you open a pull request for this to fix it?
But i dont think qemu is needed because we build it at runtime specificly for NodeOS with the cross toolchain.
The build script returns error 72 and when you look here it converts the usersfs tar file to an "ext" filesystem using tar2ext which calls tune2fs here and returns an ENOENT, so it is possible that you dont have installed it yet.
I don't think I can open a pull request. Either I do not know how, or I don't have permission. Also, tune2fs is only in my sbin, and the instructions have us running npm outside of sudo
To open a pull request you need to first fork the repository in GH, then cloning it to your local machine, creating a new branch (with git checkout -b your_branch_name
because we dont want our/your master
branch to be polluted with changes, because if we change something in the master branch here and you want to compare it via PR then we cant merge the histories together because they differ and you need to then rebase these changes) and then modifying the lines you want for a pull request
then pushing it to your remote repository (fork) and from GH you would manually open a PR comparing the fork#branch (yours) to master#masterbranch (ours).
There are many resources on how you could check git-scm or GH for this.
Also from which OS you are running this, because you are in the /mnt
path
The log above was from using the Linux Subsystem in Windows. To test my solution I spun up a fresh Ubuntu 16 on a different machine and went through the process, hit the same problems, and the resolution (described above) worked. I'll do a pull request sometime tomorrow, it is bed time here. I've not yet done much using git with other people's projects, but I'd like to see if I can contribute here.