NodeOS / NodeOS

Lightweight operating system using Node.js as userspace

Home Page:http://node-os.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

: npm run build failed - lifecycle - exit status 72

jumson opened this issue · 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 npm@3.10.10
3 info using node@v6.12.2
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle NodeOS@1.0.0-RC3~prebuild: NodeOS@1.0.0-RC3
6 silly lifecycle NodeOS@1.0.0-RC3~prebuild: no script for prebuild, continuing
7 info lifecycle NodeOS@1.0.0-RC3~build: NodeOS@1.0.0-RC3
8 verbose lifecycle NodeOS@1.0.0-RC3~build: unsafe-perm in lifecycle true
9 verbose lifecycle NodeOS@1.0.0-RC3~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 NodeOS@1.0.0-RC3~build: CWD: /mnt/c/Users/munso/Downloads/nodeOS/NodeOS-master
11 silly lifecycle NodeOS@1.0.0-RC3~build: Args: [ '-c', 'scripts/build' ]
12 silly lifecycle NodeOS@1.0.0-RC3~build: Returned: code: 72  signal: null
13 info lifecycle NodeOS@1.0.0-RC3~build: Failed to exec build script
14 verbose stack Error: NodeOS@1.0.0-RC3 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 NodeOS@1.0.0-RC3
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 NodeOS@1.0.0-RC3 build: `scripts/build`
22 error Exit status 72
23 error Failed at the NodeOS@1.0.0-RC3 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: #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.