Skip to content

OpenSSL is still mean spirited on latest on MacOS #1566

Description

@maxkorp

System information

  • node version: v10.11.0
  • npm or yarn version: npm 6.4.1
  • OS/version/architechture: Darwin x86 18.0.0
  • Applicable nodegit version: Master (0.23.0-alpha.1)

Trying to build locally (npx run rebuild) libssh2 fails to configure (even with openssl headers linked in the ldflags) 3 times in a row, and then the build just continues.

nodegit git:(generation-cleanup) npx node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@10.11.0 | darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  ACTION binding_gyp_configureLibssh2_target_configure .
[nodegit] Configuring libssh2.
{ Error: Command failed: /Users/maxkorp/development/personal/nodegit/vendor/libssh2/configure
configure: error: No crypto library found!
Try --with-libssl-prefix=PATH
 or --with-libgcrypt-prefix=PATH
 or --with-libmbedtls-prefix=PATH
 or --with-wincng on Windows

    at ChildProcess.exithandler (child_process.js:289:12)
    at ChildProcess.emit (events.js:182:13)
    at maybeClose (internal/child_process.js:962:16)
    at Socket.stream.socket.on (internal/child_process.js:381:11)
    at Socket.emit (events.js:182:13)
    at Pipe._handle.close (net.js:606:12)
  killed: false,
  code: 1,
  signal: null,
  cmd:
   '/Users/maxkorp/development/personal/nodegit/vendor/libssh2/configure' }
configure: error: No crypto library found!
Try --with-libssl-prefix=PATH
 or --with-libgcrypt-prefix=PATH
 or --with-libmbedtls-prefix=PATH
 or --with-wincng on Windows

(node:28790) UnhandledPromiseRejectionWarning: Error: Command failed: /Users/maxkorp/development/personal/nodegit/vendor/libssh2/configure
configure: error: No crypto library found!
Try --with-libssl-prefix=PATH
 or --with-libgcrypt-prefix=PATH
 or --with-libmbedtls-prefix=PATH
 or --with-wincng on Windows

    at ChildProcess.exithandler (child_process.js:289:12)
    at ChildProcess.emit (events.js:182:13)
    at maybeClose (internal/child_process.js:962:16)
    at Socket.stream.socket.on (internal/child_process.js:381:11)
    at Socket.emit (events.js:182:13)
    at Pipe._handle.close (net.js:606:12)
(node:28790) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:28790) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
  CC(target) Release/obj.target/libgit2/vendor/libgit2/src/pack-objects.o
  CC(target) Release/obj.target/libgit2/vendor/libgit2/src/pack.o
  CC(target) Release/obj.target/libgit2/vendor/libgit2/src/parse.o
  CC(target) Release/obj.target/libgit2/vendor/libgit2/src/patch_generate.o
  CC(target) Release/obj.target/libgit2/vendor/libgit2/src/patch_parse.o
../vendor/libgit2/src/patch_parse.c:461:12: warning: unused function
      'parse_number' [-Wunused-function]
static int parse_number(git_off_t *out, git_patch_parse_ctx *ctx)
           ^
1 warning generated.

... and so on

Something is bork.

I installed and linked to openssl via brew.

brew install openssl
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

This was working pre node-v10 PR.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions