Node-postgres: Node 12.4

Created on 17 Jun 2019  ·  4Comments  ·  Source: brianc/node-postgres

Node 12.4.x failed to build. Failing on the Failed at the [email protected] install script.

waiting for more info

Most helpful comment

Awesome -thanks @darkgl0w - i'll review this stuff on saturday and start to work on getting it sorted.

All 4 comments

Please include the error output that comes before “Failed at the [email protected] install script”.

Hello,

This issue is related to this one https://github.com/brianc/node-libpq/issues/68 which is solved by this PR https://github.com/brianc/node-libpq/pull/67.

There are 3 potential problems here that affect most packages that have node-libpq as a direct (or not) dependency:

  • Since Node.js 11 a bunch of V8 functions have been deprecated resulting in errors at node-libpq compile time. (this is solved by the PR I linked but it needs to land ^^)

  • Since Node.js 10.16.0 has a built-in OpenSSL 1.1.1b version there are some conflicts with node-libpq running on systems that expose only previous versions of OpenSSL. So there are 2 new requirements in order to use node-libpq: OpenSSL 1.1.1b to match the version that ships with Node.js >= 10.16.0 and libpq must be compiled with OpenSSL 1.1.1b.

  • CI environments are quite old ('xenial' is often if not always the most up to date distrib they can run), and there is no official package that can be installed by just running an apt-get install command. So in order to be able to run any test suite involving node-libpq with success on Node.js >= 10.16.0 version, they need to update their CI config to compile OpenSSL and libpq from sources. For this they can take the Travis configuration of the mentioned PR as an example, it's a bit heavy and I guess it can be improved, but it works as it should.

Awesome -thanks @darkgl0w - i'll review this stuff on saturday and start to work on getting it sorted.

I updated node-libpq to the latest w/ the changes from @darkgl0w - so hopefully things are building for you now on the latest version. It's not entirely trivial to use native bindings due to the open ssl version conflict. Please let me know if you can't get things building & I'll dig in again!

FWIW I primarily use the pure JS client in production on several mission critical high scale APIs w/o any issue. The perf gains between the two are rather small...most of the work is waiting on network.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dipakdas99 picture dipakdas99  ·  3Comments

gajus picture gajus  ·  4Comments

tonylukasavage picture tonylukasavage  ·  4Comments

wrod7 picture wrod7  ·  4Comments

gregallenvt picture gregallenvt  ·  3Comments