Bug 515132 - libssl-dev or openssl-devel is required to install orion from npm
Summary: libssl-dev or openssl-devel is required to install orion from npm
Status: RESOLVED FIXED
Alias: None
Product: Orion (Archived)
Classification: ECD
Component: Node (show other bugs)
Version: 14.0   Edit
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: 15.0   Edit
Assignee: Michael Rennie CLA
QA Contact:
URL:
Whiteboard:
Keywords: Documentation
Depends on:
Blocks:
 
Reported: 2017-04-11 14:27 EDT by Martin Wang CLA
Modified: 2017-04-24 14:58 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Wang CLA 2017-04-11 14:27:09 EDT
When installing orion from npm (npm install -g orion), sometimes nodegit doesn't have pre-compiled binary. As a result, nodegit will be compiled. On linux, libssl-dev or openssl-devel must be installed before the compilation.

We need to either document this to remind the user to install these libraries or prevent nodegit from building itself.
Comment 1 Remy Suen CLA 2017-04-11 17:02:02 EDT
(In reply to Martin Wang from comment #0)
> When installing orion from npm (npm install -g orion), sometimes nodegit
> doesn't have pre-compiled binary.

This can happen if the version of Node the user has installed doesn't match NodeGit's expected version. For example, if the user is on Node 7.x, then it will try to compile NodeGit because Orion uses NodeGit 0.16.0 and 0.16.0 does not support Node 7.x (so there are no binaries of NodeGit 0.16.0 for Node 7.x on AWS for npm to download).
Comment 2 Michael Rennie CLA 2017-04-12 10:00:11 EDT
I think we should (at a minimum) add a note to the NPM page that states our Node.js requirements and what will happen when they are not met (and what you need to have installed to have it build, etc).
Comment 3 Steve Northover CLA 2017-04-12 12:00:06 EDT
So this is a Linux only build failure that happens when the wrong version of Node is used?  Where do we document the node build?  Please fix that place and close this bug.
Comment 4 Remy Suen CLA 2017-04-12 17:26:25 EDT
(In reply to Steve Northover from comment #3)
> So this is a Linux only build failure that happens when the wrong version of
> Node is used?

No. The reason I outlined in comment 3 affects all operating systems.
Comment 5 Steve Northover CLA 2017-04-13 08:46:01 EDT
> On linux, libssl-dev or openssl-devel must be installed before the compilation.

This is why I was wondering "Linux only".  Are there two problems here?
Comment 6 Remy Suen CLA 2017-04-13 17:16:21 EDT
(In reply to Steve Northover from comment #5)
> > On linux, libssl-dev or openssl-devel must be installed before the compilation.
> 
> This is why I was wondering "Linux only".  Are there two problems here?

Depends on how you look at it.

There is one problem. The problem is that if npm doesn't find a precompiled binary that matches your system then npm will start compiling NodeGit from source.

Now, what libraries and tools you will need to compile NodeGit manually will of course depend on your operating system.
Comment 7 Steve Northover CLA 2017-04-17 10:48:30 EDT
So this is a documentation problem.  Here are the links to the Node Server doc:

https://wiki.eclipse.org/Orion/Node/Getting_started
https://wiki.eclipse.org/Orion/Node/Developing

Is there another doc that describes building the server?  Is it in the README.MD?  Please update the doc and close this bug report.
Comment 8 Michael Rennie CLA 2017-04-24 14:58:54 EDT
(In reply to Steve Northover from comment #7)
> So this is a documentation problem.  Here are the links to the Node Server
> doc:
> 
> https://wiki.eclipse.org/Orion/Node/Getting_started
> https://wiki.eclipse.org/Orion/Node/Developing
> 
> Is there another doc that describes building the server?  Is it in the
> README.MD?  Please update the doc and close this bug report.

I updated the wiki and the client readme:

https://github.com/eclipse/orion.client/commit/807d434afa4865f9dfc58f8857dd675395a6f322

The updates will show up on the NPM page the next time we publish orion.