Gazebo | Ignition | Community
Ask Your Question
0

node-gyp build errors while trying to install gzweb

asked 2017-04-10 11:54:45 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi to all. I am trying to install gzweb by following the installation instructions on this site. When I get to the

            sudo ./deploy.sh -m

command, I get the error message pinned here. The subsequent error message reads:

              There are node-gyp build errors, exiting.

Looking at the error log, it seems there is some problem with "v8" as one recurring error message indicates:

              ../GZNode.cc:308:9: error: ‘Arguments’ in namespace ‘v8’ does not name a type
 v8::Arguments& args)

By the way, I am running on an Ubuntu 16.04. LTS version and my nodejs version is:

       $ dpkg -l nodejsDesired=Unknown/Install/Remove/Purge/Hold
       |Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
       |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
       ||/ Name           Version      Architecture Description
       +++-==============-============-============-=================================
       ii  nodejs         4.2.6~dfsg-1 amd64        evented I/O for V8 javascript

So it might be a problem with the nodejs version. Since I only ran

      sudo apt-get install nodejs

as indicated in the instructions, I don't understand how the version number could be so different from the one indicated there. Would a downgrade fix the problem? If so, how does one do that?

Thanks a lot!!!

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted
0

answered 2018-01-24 06:35:44 -0500

iarranz gravatar image

Hi, unkown if your trouble has been resolved but i will share with you one solution that works for me.

Uninstall nodejs by typing:

sudo apt-get remove nodejs

Download and compile node 0.10.x (in my case, 0.10.48) with the following commands:

wget http://nodejs.org/dist/v0.10.48/node-v0.10.48.tar.gz
tar -xvf node-v0.10.48.tar.gz
cd node-v0.10.48
./configure
make                        # It may take a few minutes.
sudo make install           # Make sure to use sudo

Note: If you install nodejs with 'apt install' then will install the last version of node and return to the point of the beggining.

Now, you can install gzweb like the tutorial said:

cd ~; hg clone https://bitbucket.org/osrf/gzweb
cd ~/gzweb
hg up gzweb_1.3.0
source /usr/share/gazebo/setup.sh
./deploy.sh -m # if you want to download the models.
edit flag offensive delete link more
0

answered 2017-04-10 14:38:04 -0500

paulrusu gravatar image

Thank you for your swift help. Unfortunately, the solution as stated does not work because after curling, it says to simply type

  sudo apt-get install nodejs

but that constantly reinstalls the 4.2.6 version. I solved the problem by downloading the source code from here and building the binary. Afterwards I put it all in their corresponding files in /usr/local/ and it works .

edit flag offensive delete link more

Comments

you can use nvm to install and manage different node versions: https://github.com/creationix/nvm

iche033 gravatar imageiche033 ( 2017-04-10 15:26:09 -0500 )edit
0

answered 2017-04-10 12:36:54 -0500

chapulina gravatar image

Which branch of gzweb are you using? I believe version 1 (i.e. gzweb_1.*) only works with Node versions <= 0.10. If you're using one of those branches, I believe you have two options:

  1. Downgrade your node version as described here

  2. Use Gzweb 2 (branches gzweb_2.*

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2017-04-10 11:54:45 -0500

Seen: 867 times

Last updated: Jan 24 '18