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

RossComputerGuy opened this issue · comments

Here is my npm-debug.log:
0 info it worked if it ends with ok
1 verbose cli [ '/home/spaceboyross/.nvm/versions/node/v7.5.0/bin/node',
1 verbose cli '/home/spaceboyross/.nvm/versions/node/v7.5.0/bin/npm',
1 verbose cli 'run',
1 verbose cli 'build' ]
2 info using npm@4.1.2
3 info using node@v7.5.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle Nodebuntu@1.0.0-RC3prebuild: Nodebuntu@1.0.0-RC3
6 silly lifecycle Nodebuntu@1.0.0-RC3
prebuild: no script for prebuild, continuing
7 info lifecycle Nodebuntu@1.0.0-RC3build: Nodebuntu@1.0.0-RC3
8 verbose lifecycle Nodebuntu@1.0.0-RC3
build: unsafe-perm in lifecycle true
9 verbose lifecycle Nodebuntu@1.0.0-RC3build: PATH: /home/spaceboyross/.nvm/versions/node/v7.5.0/lib/node_modules/npm/bin/node-gyp-bin:/home/spaceboyross/Documents/Nodebuntu/node_modules/.bin:/home/spaceboyross/.nvm/versions/node/v7.5.0/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/spaceboyross/.local/bin:/home/spaceboyross/bin
10 verbose lifecycle Nodebuntu@1.0.0-RC3
build: CWD: /home/spaceboyross/Documents/Nodebuntu
11 silly lifecycle Nodebuntu@1.0.0-RC3build: Args: [ '-c', 'scripts/build' ]
12 silly lifecycle Nodebuntu@1.0.0-RC3
build: Returned: code: 10 signal: null
13 info lifecycle Nodebuntu@1.0.0-RC3~build: Failed to exec build script
14 verbose stack Error: Nodebuntu@1.0.0-RC3 build: scripts/build
14 verbose stack Exit status 10
14 verbose stack at EventEmitter. (/home/spaceboyross/.nvm/versions/node/v7.5.0/lib/node_modules/npm/lib/utils/lifecycle.js:279:16)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at EventEmitter.emit (events.js:192:7)
14 verbose stack at ChildProcess. (/home/spaceboyross/.nvm/versions/node/v7.5.0/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:192:7)
14 verbose stack at maybeClose (internal/child_process.js:890:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid Nodebuntu@1.0.0-RC3
16 verbose cwd /home/spaceboyross/Documents/Nodebuntu
17 error Linux 4.9.14-200.fc25.x86_64
18 error argv "/home/spaceboyross/.nvm/versions/node/v7.5.0/bin/node" "/home/spaceboyross/.nvm/versions/node/v7.5.0/bin/npm" "run" "build"
19 error node v7.5.0
20 error npm v4.1.2
21 error code ELIFECYCLE
22 error Nodebuntu@1.0.0-RC3 build: scripts/build
22 error Exit status 10
23 error Failed at the Nodebuntu@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 Nodebuntu 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 Nodebuntu
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls Nodebuntu
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

Seems it exited with error 10. Without having the actual code I couldn't tell you what's happening. Could you point us to it?

I found out the problem, I modified and build nodeos-userfs in its directory

Cool then :-) What changes are you doing?

Making it say something else in the usersfs init file

If you don't provide more info about what steps are you doing we can't help you... :-/

This is the repo: https://github.com/Ross-Computers/Nodebuntu
I modified the node_modules/nodeos-usersfs/resources/init.js to have:

#!/usr/bin/env node

console.log("Nodebuntu 17.04 (Zesty Zapus)");

No wonder you cant build your Nodebuntu (NodeOS) fork if you upload all dependencies which are > 500mb or so to github.
The appropriate way would be that you fork the repositories you want to modify (including NodeOS), then change the things you want to do in your usersfs and push them to your fork then clone the NodeOS fork and the usersfs fork to your machine and change the following places to build your own usersfs inside NodeOS

package.json (NodeOS fork)

{
  "name": "NodeOS",
  "version": "1.0.0-RC3",
  "description": "Lightweight operating system using Node.js as userspace",
  "scripts": {
    "BigRedButton": "scripts/BigRedButton",
    "docker": "scripts/docker",
    "dockerBuild": "scripts/dockerBuild",
    "dockerClean": "docker volume rm $(docker volume ls -qf dangling=true) || exit 0",
    "build": "scripts/build",
    "postbuild": "scripts/postbuild",
    "postinstall": "scripts/postinstall",
    "publish": "scripts/publish",
    "start": "scripts/start",
    "test": "scripts/test",
    "unbuild": "scripts/unbuild"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/NodeOS/NodeOS.git"
  },
  "keywords": [
    "OS",
    "Linux",
    "npm"
  ],
  "author": "Jacob Groundwater <groundwater@gmail.com>",
  "contributors": [
    "Jesús Leganés Combarro 'piranna' <piranna@gmail.com>"
  ],
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/NodeOS/NodeOS/issues"
  },
  "homepage": "http://node-os.com",
  "private": true,
  "dependencies": {
    "nodeos-barebones": "^1.0.0-RC3.1",
    "nodeos-initramfs": "^1.0.0-RC3.2",
    "nodeos-usersfs": "^1.0.0-RC3.2"     <--- change this to: "nodebuntu-usersfs": "^1.0.0"
  },
  "devDependencies": {
    "cpio2tar": "^0.0.5",
    "minimist": "^1.2.0",
    "nodeos-bootfs": "^1.0.0-RC3.0",
    "nodeos-cross-toolchain": "^1.0.0-RC3.1",
    "prebuild": "piranna/prebuild#prerelease",
    "qemu": "^2.8.0",
    "suppose": "^0.6.1",
    "tar2ext": "^0.0.2"
  }
}

dont install yet, go into your node_modules and search for the nodebuntu-usersfs (its just a placeholder for your usersfs fork) and open up the package.json and remove this prebuild-install -d https://github.com/NodeOS/nodeos-usersfs/releases/download/v{version}/{platform}-{arch}.tar.gz ||
it should only be this (buildDependencies && npm run build) for the install

now you go into the scripts folder of the NodeOS fork and edit the line 32 on the build script from this:

#!/usr/bin/env bash

set -o pipefail


while getopts ":k:p:" opt; do
  case $opt in
    k)
      KERNEL="$OPTARG"  # linux, netbsd, nokernel
    ;;

    p)
      PLATFORM="$OPTARG"  # lxc, qemu, wsl
    ;;
  esac
done


# Default kernel and platform
if [[ -z "$KERNEL" ]]; then
  KERNEL=linux
fi

if [[ -z "$PLATFORM" ]]; then
  PLATFORM=qemu
fi


TOOLCHAIN=`node -p "require('nodeos-cross-toolchain')"`
BAREBONES=`node -p "require('nodeos-barebones')"`
INITRAMFS=`node -p "require('nodeos-initramfs')"`
USERSFS=`  node -p "require('nodeos-usersfs')"`

source $TOOLCHAIN/scripts/adjustEnvVars.sh || exit $?


OUT_DIR=`pwd`/out/$CPU_FAMILY/$MACHINE/$PLATFORM

export MACHINE

if [[ "$PLATFORM" == "docker" ]]; then
  export KERNEL=nokernel
fi

NPMi="npm install --arch=$NODE_ARCH --production"


....

to this:

#!/usr/bin/env bash

set -o pipefail


while getopts ":k:p:" opt; do
  case $opt in
    k)
      KERNEL="$OPTARG"  # linux, netbsd, nokernel
    ;;

    p)
      PLATFORM="$OPTARG"  # lxc, qemu, wsl
    ;;
  esac
done


# Default kernel and platform
if [[ -z "$KERNEL" ]]; then
  KERNEL=linux
fi

if [[ -z "$PLATFORM" ]]; then
  PLATFORM=qemu
fi


TOOLCHAIN=`node -p "require('nodeos-cross-toolchain')"`
BAREBONES=`node -p "require('nodeos-barebones')"`
INITRAMFS=`node -p "require('nodeos-initramfs')"`
USERSFS=`  node -p "require('nodebuntu-usersfs')"` # <-- that

source $TOOLCHAIN/scripts/adjustEnvVars.sh || exit $?


OUT_DIR=`pwd`/out/$CPU_FAMILY/$MACHINE/$PLATFORM

export MACHINE

if [[ "$PLATFORM" == "docker" ]]; then
  export KERNEL=nokernel
fi

NPMi="npm install --arch=$NODE_ARCH --production"

...