nypublicradio / audiogram

Turn audio into a shareable video.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lots of errors when trying to install locally on Ubuntu 17.10

forteller opened this issue · comments

I tried following the recipe over on issue #90, and this is what I got:

$ npm install

> canvas@1.6.0 install /home/trasig/temp/audiogram/node_modules/canvas
> node-gyp rebuild

Package pixman-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `pixman-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pixman-1' found
gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/share/node-gyp/lib/configure.js:304:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
gyp ERR! System Linux 4.13.0-16-generic
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/trasig/temp/audiogram/node_modules/canvas
gyp ERR! node -v v6.11.4
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
audiogram@0.9.5 /home/trasig/temp/audiogram
├─┬ aws-sdk@2.138.0 
│ ├─┬ buffer@4.9.1 
│ │ ├── base64-js@1.2.1 
│ │ ├── ieee754@1.1.8 
│ │ └── isarray@1.0.0 
│ ├── crypto-browserify@1.0.9 
│ ├── events@1.1.1 
│ ├── jmespath@0.15.0 
│ ├── querystring@0.2.0 
│ ├── sax@1.2.1 
│ ├── url@0.10.3 
│ ├── xml2js@0.4.17 
│ └─┬ xmlbuilder@4.2.1 
│   └── lodash@4.17.4 
├─┬ browserify@13.3.0 
│ ├── assert@1.4.1 
│ ├─┬ browser-pack@6.0.2 
│ │ ├─┬ combine-source-map@0.7.2 
│ │ │ ├── convert-source-map@1.1.3 
│ │ │ ├── inline-source-map@0.6.2 
│ │ │ ├── lodash.memoize@3.0.4 
│ │ │ └── source-map@0.5.7 
│ │ └── umd@3.0.1 
│ ├─┬ browser-resolve@1.11.2 
│ │ └── resolve@1.1.7 
│ ├─┬ browserify-zlib@0.1.4 
│ │ └── pako@0.2.9 
│ ├── cached-path-relative@1.0.1 
│ ├─┬ concat-stream@1.5.2 
│ │ ├── readable-stream@2.0.6 
│ │ └── typedarray@0.0.6 
│ ├─┬ console-browserify@1.1.0 
│ │ └── date-now@0.1.4 
│ ├── constants-browserify@1.0.0 
│ ├─┬ crypto-browserify@3.11.1 
│ │ ├─┬ browserify-cipher@1.0.0 
│ │ │ ├─┬ browserify-aes@1.1.1 
│ │ │ │ └── buffer-xor@1.0.3 
│ │ │ ├─┬ browserify-des@1.0.0 
│ │ │ │ └── des.js@1.0.0 
│ │ │ └─┬ evp_bytestokey@1.0.3 
│ │ │   └─┬ md5.js@1.3.4 
│ │ │     └── hash-base@3.0.4 
│ │ ├─┬ browserify-sign@4.0.4 
│ │ │ ├── bn.js@4.11.8 
│ │ │ ├── browserify-rsa@4.0.1 
│ │ │ ├─┬ elliptic@6.4.0 
│ │ │ │ ├── brorand@1.1.0 
│ │ │ │ ├── hash.js@1.1.3 
│ │ │ │ ├── hmac-drbg@1.0.1 
│ │ │ │ ├── minimalistic-assert@1.0.0 
│ │ │ │ └── minimalistic-crypto-utils@1.0.1 
│ │ │ └─┬ parse-asn1@5.1.0 
│ │ │   └── asn1.js@4.9.1 
│ │ ├── create-ecdh@4.0.0 
│ │ ├─┬ create-hash@1.1.3 
│ │ │ ├── cipher-base@1.0.4 
│ │ │ └─┬ ripemd160@2.0.1 
│ │ │   └── hash-base@2.0.2 
│ │ ├── create-hmac@1.1.6 
│ │ ├─┬ diffie-hellman@5.0.2 
│ │ │ └── miller-rabin@4.0.1 
│ │ ├── pbkdf2@3.0.14 
│ │ ├── public-encrypt@4.0.0 
│ │ └── randombytes@2.0.5 
│ ├── defined@1.0.0 
│ ├── deps-sort@2.0.0 
│ ├── domain-browser@1.1.7 
│ ├── duplexer2@0.1.4 
│ ├─┬ glob@7.1.2 
│ │ ├── fs.realpath@1.0.0 
│ │ ├─┬ inflight@1.0.6 
│ │ │ └── wrappy@1.0.2 
│ │ ├─┬ minimatch@3.0.4 
│ │ │ └─┬ brace-expansion@1.1.8 
│ │ │   ├── balanced-match@1.0.0 
│ │ │   └── concat-map@0.0.1 
│ │ ├── once@1.4.0 
│ │ └── path-is-absolute@1.0.1 
│ ├── has@1.0.1 
│ ├── htmlescape@1.1.1 
│ ├── https-browserify@0.0.1 
│ ├── inherits@2.0.3 
│ ├─┬ insert-module-globals@7.0.1 
│ │ ├── is-buffer@1.1.5 
│ │ └─┬ lexical-scope@1.2.0 
│ │   └── astw@2.2.0 
│ ├─┬ JSONStream@1.3.1 
│ │ └── jsonparse@1.3.1 
│ ├─┬ labeled-stream-splicer@2.0.0 
│ │ ├── isarray@0.0.1 
│ │ └── stream-splicer@2.0.0 
│ ├─┬ module-deps@4.1.1 
│ │ ├── detective@4.5.0 
│ │ └── stream-combiner2@1.1.1 
│ ├── os-browserify@0.1.2 
│ ├─┬ parents@1.0.1 
│ │ └── path-platform@0.11.15 
│ ├── path-browserify@0.0.0 
│ ├── process@0.11.10 
│ ├── punycode@1.3.2 
│ ├── querystring-es3@0.2.1 
│ ├── read-only-stream@2.0.0 
│ ├─┬ readable-stream@2.3.3 
│ │ ├── core-util-is@1.0.2 
│ │ ├── process-nextick-args@1.0.7 
│ │ ├── string_decoder@1.0.3 
│ │ └── util-deprecate@1.0.2 
│ ├─┬ resolve@1.4.0 
│ │ └── path-parse@1.0.5 
│ ├─┬ shasum@1.0.2 
│ │ ├── json-stable-stringify@0.0.1 
│ │ └── sha.js@2.4.9 
│ ├─┬ shell-quote@1.6.1 
│ │ ├── array-filter@0.0.1 
│ │ ├── array-map@0.0.0 
│ │ ├── array-reduce@0.0.0 
│ │ └── jsonify@0.0.0 
│ ├── stream-browserify@2.0.1 
│ ├─┬ stream-http@2.7.2 
│ │ ├── builtin-status-codes@3.0.0 
│ │ └── to-arraybuffer@1.0.1 
│ ├── string_decoder@0.10.31 
│ ├── subarg@1.0.0 
│ ├─┬ syntax-error@1.3.0 
│ │ └── acorn@4.0.13 
│ ├── through2@2.0.3 
│ ├── timers-browserify@1.4.2 
│ ├── tty-browserify@0.0.0 
│ ├── url@0.11.0 
│ ├─┬ util@0.10.3 
│ │ └── inherits@2.0.1 
│ ├─┬ vm-browserify@0.0.4 
│ │ └── indexof@0.0.1 
│ └── xtend@4.0.1 
├─┬ compression@1.7.1 
│ ├─┬ accepts@1.3.4 
│ │ ├── mime-types@2.1.17 
│ │ └── negotiator@0.6.1 
│ ├── bytes@3.0.0 
│ ├─┬ compressible@2.0.12 
│ │ └── mime-db@1.30.0 
│ ├─┬ debug@2.6.9 
│ │ └── ms@2.0.0 
│ ├── on-headers@1.0.1 
│ ├── safe-buffer@5.1.1 
│ └── vary@1.1.2 
├─┬ d3@4.11.0 
│ ├── d3-array@1.2.1 
│ ├── d3-axis@1.0.8 
│ ├── d3-brush@1.0.4 
│ ├── d3-chord@1.0.4 
│ ├── d3-collection@1.0.4 
│ ├── d3-color@1.0.3 
│ ├── d3-dispatch@1.0.3 
│ ├── d3-drag@1.2.1 
│ ├─┬ d3-dsv@1.0.7 
│ │ ├── commander@2.11.0 
│ │ ├── iconv-lite@0.4.19 
│ │ └── rw@1.3.3 
│ ├── d3-ease@1.0.3 
│ ├── d3-force@1.1.0 
│ ├── d3-format@1.2.0 
│ ├── d3-geo@1.8.1 
│ ├── d3-hierarchy@1.1.5 
│ ├── d3-interpolate@1.1.5 
│ ├── d3-path@1.0.5 
│ ├── d3-polygon@1.0.3 
│ ├── d3-quadtree@1.0.3 
│ ├── d3-queue@3.0.7 
│ ├── d3-random@1.1.0 
│ ├─┬ d3-request@1.0.6 
│ │ └── xmlhttprequest@1.8.0 
│ ├── d3-scale@1.0.6 
│ ├── d3-selection@1.1.0 
│ ├── d3-shape@1.2.0 
│ ├── d3-time@1.0.7 
│ ├── d3-time-format@2.0.5 
│ ├── d3-timer@1.0.7 
│ ├── d3-transition@1.1.0 
│ ├── d3-voronoi@1.1.2 
│ └── d3-zoom@1.6.0 
├── dotenv@2.0.0 
├─┬ express@4.16.2 
│ ├── array-flatten@1.1.1 
│ ├─┬ body-parser@1.18.2 
│ │ ├─┬ http-errors@1.6.2 
│ │ │ └── setprototypeof@1.0.3 
│ │ └── raw-body@2.3.2 
│ ├── content-disposition@0.5.2 
│ ├── content-type@1.0.4 
│ ├── cookie@0.3.1 
│ ├── cookie-signature@1.0.6 
│ ├── depd@1.1.1 
│ ├── encodeurl@1.0.1 
│ ├── escape-html@1.0.3 
│ ├── etag@1.8.1 
│ ├─┬ finalhandler@1.1.0 
│ │ └── unpipe@1.0.0 
│ ├── fresh@0.5.2 
│ ├── merge-descriptors@1.0.1 
│ ├── methods@1.1.2 
│ ├─┬ on-finished@2.3.0 
│ │ └── ee-first@1.1.1 
│ ├── parseurl@1.3.2 
│ ├── path-to-regexp@0.1.7 
│ ├─┬ proxy-addr@2.0.2 
│ │ ├── forwarded@0.1.2 
│ │ └── ipaddr.js@1.5.2 
│ ├── qs@6.5.1 
│ ├── range-parser@1.2.0 
│ ├─┬ send@0.16.1 
│ │ ├── destroy@1.0.4 
│ │ └── mime@1.4.1 
│ ├── serve-static@1.13.1 
│ ├── setprototypeof@1.1.0 
│ ├── statuses@1.3.1 
│ ├─┬ type-is@1.6.15 
│ │ └── media-typer@0.3.0 
│ └── utils-merge@1.0.1 
├── jquery@2.2.4 
├─┬ mkdirp@0.5.1 
│ └── minimist@0.0.8 
├─┬ morgan@1.9.0 
│ └── basic-auth@2.0.0 
├─┬ multer@1.3.0 
│ ├── append-field@0.1.0 
│ ├─┬ busboy@0.2.14 
│ │ ├─┬ dicer@0.2.5 
│ │ │ ├─┬ readable-stream@1.1.14 
│ │ │ │ └── isarray@0.0.1 
│ │ │ └── streamsearch@0.1.2 
│ │ └─┬ readable-stream@1.1.14 
│ │   └── isarray@0.0.1 
│ └── object-assign@3.0.0 
├── node-ffprobe@1.2.2 
├─┬ redis@2.8.0 
│ ├── double-ended-queue@2.1.0-0 
│ ├── redis-commands@1.3.1 
│ └── redis-parser@2.6.0 
├── rimraf@2.6.2 
├── smartquotes@1.0.0 
├─┬ supertest@1.2.0 
│ └─┬ superagent@1.8.5 
│   ├── component-emitter@1.2.1 
│   ├── cookiejar@2.0.6 
│   ├── extend@3.0.0 
│   ├─┬ form-data@1.0.0-rc3 
│   │ ├── async@1.5.2 
│   │ └─┬ combined-stream@1.0.5 
│   │   └── delayed-stream@1.0.0 
│   ├── formidable@1.0.17 
│   ├── mime@1.3.4 
│   ├── qs@2.3.3 
│   ├─┬ readable-stream@1.0.27-1 
│   │ └── isarray@0.0.1 
│   └── reduce-component@1.0.1 
├─┬ tape@4.8.0 
│ ├── deep-equal@1.0.1 
│ ├─┬ for-each@0.3.2 
│ │ └── is-function@1.0.1 
│ ├── function-bind@1.1.1 
│ ├── minimist@1.2.0 
│ ├── object-inspect@1.3.0 
│ ├── resumer@0.0.0 
│ ├─┬ string.prototype.trim@1.1.2 
│ │ ├─┬ define-properties@1.1.2 
│ │ │ ├── foreach@2.0.5 
│ │ │ └── object-keys@1.0.11 
│ │ └─┬ es-abstract@1.9.0 
│ │   ├─┬ es-to-primitive@1.1.1 
│ │   │ ├── is-date-object@1.0.1 
│ │   │ └── is-symbol@1.0.1 
│ │   ├── is-callable@1.1.3 
│ │   └── is-regex@1.0.4 
│ └── through@2.3.8 
├── underscore@1.8.3 
├── uuid@3.1.0 
├─┬ watchify@3.9.0 
│ ├─┬ anymatch@1.3.2 
│ │ ├─┬ micromatch@2.3.11 
│ │ │ ├─┬ arr-diff@2.0.0 
│ │ │ │ └── arr-flatten@1.1.0 
│ │ │ ├── array-unique@0.2.1 
│ │ │ ├─┬ braces@1.8.5 
│ │ │ │ ├─┬ expand-range@1.8.2 
│ │ │ │ │ └─┬ fill-range@2.2.3 
│ │ │ │ │   ├── is-number@2.1.0 
│ │ │ │ │   ├── isobject@2.1.0 
│ │ │ │ │   ├─┬ randomatic@1.1.7 
│ │ │ │ │   │ ├─┬ is-number@3.0.0 
│ │ │ │ │   │ │ └── kind-of@3.2.2 
│ │ │ │ │   │ └── kind-of@4.0.0 
│ │ │ │ │   └── repeat-string@1.6.1 
│ │ │ │ ├── preserve@0.2.0 
│ │ │ │ └── repeat-element@1.1.2 
│ │ │ ├─┬ expand-brackets@0.1.5 
│ │ │ │ └── is-posix-bracket@0.1.1 
│ │ │ ├── extglob@0.3.2 
│ │ │ ├── filename-regex@2.0.1 
│ │ │ ├── is-extglob@1.0.0 
│ │ │ ├── kind-of@3.2.2 
│ │ │ ├─┬ object.omit@2.0.1 
│ │ │ │ ├─┬ for-own@0.1.5 
│ │ │ │ │ └── for-in@1.0.2 
│ │ │ │ └── is-extendable@0.1.1 
│ │ │ ├─┬ parse-glob@3.0.4 
│ │ │ │ ├── glob-base@0.3.0 
│ │ │ │ └── is-dotfile@1.0.3 
│ │ │ └─┬ regex-cache@0.4.4 
│ │ │   └─┬ is-equal-shallow@0.1.3 
│ │ │     └── is-primitive@2.0.0 
│ │ └─┬ normalize-path@2.1.1 
│ │   └── remove-trailing-separator@1.1.0 
│ ├─┬ browserify@14.5.0 
│ │ ├─┬ browserify-zlib@0.2.0 
│ │ │ └── pako@1.0.6 
│ │ ├── buffer@5.0.8 
│ │ ├── crypto-browserify@3.11.1 
│ │ ├── https-browserify@1.0.0 
│ │ ├── os-browserify@0.3.0 
│ │ ├── string_decoder@1.0.3 
│ │ └── url@0.11.0 
│ ├─┬ chokidar@1.7.0 
│ │ ├── async-each@1.0.1 
│ │ ├── glob-parent@2.0.0 
│ │ ├─┬ is-binary-path@1.0.1 
│ │ │ └── binary-extensions@1.10.0 
│ │ ├── is-glob@2.0.1 
│ │ └─┬ readdirp@2.1.0 
│ │   ├── graceful-fs@4.1.11 
│ │   └── set-immediate-shim@1.0.1 
│ └── outpipe@1.1.1 
├── webaudio-peaks@0.0.5 
└─┬ winston@2.4.0 
  ├── async@1.0.0 
  ├── colors@1.0.3 
  ├── cycle@1.0.3 
  ├── eyes@0.1.8 
  ├── isstream@0.1.2 
  └── stack-trace@0.0.10 

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.1.2
npm ERR! Linux 4.13.0-16-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v6.11.4
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE

npm ERR! canvas@1.6.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the canvas@1.6.0 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the canvas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs canvas
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls canvas
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/trasig/temp/audiogram/npm-debug.log

I have node.js version 6.11.4 and npm version 3.5.2 installed.

I hope it's possible to figure this out, because this looks like a fantastic project that could save me a lot of time and energy! Thank you very much!

npm-debug.log

Can you make sure you have all the canvas dependencies installed by running this first:

sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++

After that, what happens if you run just npm install canvas?

Thank you for that fast reply, @veltman!

Running that apt command I get this:

build-essential is already the newest version (12.4ubuntu1).
g++ is already the newest version (4:7.2.0-1ubuntu1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libcairo2-dev : Depends: libcairo2 (= 1.14.10-1ubuntu1) but 1.15.6-0intel1 is to be installed
                 Depends: libcairo-gobject2 (= 1.14.10-1ubuntu1) but 1.15.6-0intel1 is to be installed
E: Unable to correct problems, you have held broken packages.

I really don't understand that about held broken packages. I don't get a message like that when I apt update, upgrade or install anything else.

Hmm, hard to say exactly but it seems like some sort of dependency issue that hasn't graduated to the latest release. A few things you can try:

Ask the libcairo maintainers on Launchpad, link in sidebar here: https://packages.ubuntu.com/artful/libcairo2-dev

Try some of these package cleaning steps: https://askubuntu.com/questions/140246/how-do-i-resolve-unmet-dependencies-after-adding-a-ppa