User Tools

Site Tools


nodejs-office-workstations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

nodejs-office-workstations [2014/04/24 01:29]
clee231 created
nodejs-office-workstations [2014/04/24 02:22] (current)
clee231
Line 2: Line 2:
 Working on Linux is great. Working on Linux is great.
 Compiling Node.JS on the ACM/LUG workstations is not. Compiling Node.JS on the ACM/LUG workstations is not.
-Due to a incompatibility with flock, we are need to implement a workaround when installing Node.JS to work on the ACM/LUG office workstations.+Due to a incompatibilities, we need to implement a workaround when installing Node.JS to work on the ACM/LUG office workstations. ​ This issue was lasted encountered on April 24, 2014.  Since then, there may have been updates to the package. You are advised to first try the vanilla installation first. ​ If it fails, try some of steps outlined here. 
 + 
 +====== What's the problem? ====== 
 +1. The make process utilized Python2 to run many of the script operations needed for configuring and installing. ​ Current workstations contain both Python2 and Python3, with Python3 being the default. 
 + 
 +2.When compiling the default Node.JS source code you will encounter an error during the make process. ​ This will prevent you from continuing the install. ​ Here is an example of what you might encounter:​ 
 + 
 +<​code>​ 
 +flock /​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​linker.lock g++ -pthread -rdynamic -m32 -m32  -o /​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​mksnapshot -Wl,​--start-group /​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​obj.target/​mksnapshot/​deps/​v8/​src/​mksnapshot.o /​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​obj.target/​deps/​v8/​tools/​gyp/​libv8_base.a /​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​obj.target/​deps/​v8/​tools/​gyp/​libv8_nosnapshot.a -Wl,​--end-group  
 +flock: /​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​linker.lock:​ Bad file descriptor 
 +deps/​v8/​tools/​gyp/​mksnapshot.target.mk:​124:​ recipe for target '/​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​mksnapshot'​ failed 
 +make[1]: *** [/​home/​clee231/​Downloads/​node-v0.10.26/​out/​Release/​mksnapshot] Error 65 
 +make[1]: Leaving directory '/​home/​clee231/​Downloads/​node-v0.10.26/​out'​ 
 +Makefile:​38:​ recipe for target '​node'​ failed 
 +make: *** [node] Error 2 
 +</​code>​ 
 + 
 +====== Why does this happen? ====== 
 +Python3 set as the default version of Python to run on any arbitrary Python file.  Since Make does not detect this, we will quickly fall into issues with renamed/​moved definitions that are used to configure and install Node.JS. 
 + 
 +Flock is used as a linker by the Makefile process. ​ Due to reasons unknown to me, Flock will fail to build when building on/to a NFS. 
 +<WRAP center round todo 60%> 
 +TODO: Add more explanation/​descriptions. 
 +</​WRAP>​ 
 + 
 + 
 +====== Solution ====== 
 +1. Set your default Python version to Python2. 
 +<WRAP center round todo 60%> 
 +Finish up solution 
 +</​WRAP>​ 
 + 
 +2. Use a differnet linker. 
 +<​code>​ 
 +  export LINK=g++ 
 +  make 
 +</​code>​
  
  
nodejs-office-workstations.txt · Last modified: 2014/04/24 02:22 by clee231