NodeOS icon indicating copy to clipboard operation
NodeOS copied to clipboard

: npm run build failed - lifecycle - exit status 72

Open jumson opened this issue 7 years ago • 5 comments

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 ]

jumson avatar Dec 29 '17 18:12 jumson

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

jumson avatar Dec 29 '17 19:12 jumson

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.

luii avatar Dec 29 '17 21:12 luii

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

jumson avatar Dec 29 '17 22:12 jumson

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

luii avatar Dec 29 '17 22:12 luii

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.

jumson avatar Dec 30 '17 03:12 jumson