基本的には参考にしたさくらのレンタルサーバ(スタンダード)でNode.jsをインストールするの通りにやっていけばOK...のはずだったけど、うまう行かないもんだね
私自身、Linuxにそんなに精通しているわけではないので、ちょっとしたところで詰まったりしたので、その辺を書いておこうと思います。
途中に出てくる
% portsnap -f ~/ports/portsnap.conf fetch extract update
は
% portsnap -f ~/local/work/ports/portsnap.conf fetch extract update
じゃないとダメだったはず。
とりあえず、make installすると
gmake[1]: *** Waiting for unfinished jobs.... gmake[1]: Leaving directory `/home/(username)/local/ports/tmp/work/home/(username)/local/work/ports/www/node/work/node-v0.12.0/out' gmake: *** [node] Error 2 ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** [do-build] Error code 1
とりあえず、こうしてみる
% setenv MAKE_JOBS_UNSAFE yes % make clean % make install
・・・
g++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DENABLE_HANDLE_ZAPPING' -I../deps/v8 -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -I/usr/local/include -O3 -ffunction-sections -fdata-sections -fno-tree-vrp -fno-tree-sink -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -MMD -MF /home/(username)/local/ports/tmp/work/home/(username)/local/work/ports/www/node/work/node-v0.12.0/out/Release/.deps//home/(username)/local/ports/tmp/work/home/(username)/local/work/ports/www/node/work/node-v0.12.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/logging.o.d.raw -O2 -pipe -fstack-protector -fno-strict-aliasing -c -o /home/(username)/local/ports/tmp/work/home/(username)/local/work/ports/www/node/work/node-v0.12.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/logging.o ../deps/v8/src/base/logging.cc ../deps/v8/src/base/logging.cc:9:23: warning: execinfo.h: No such file or directory ../deps/v8/src/base/logging.cc: In function 'void v8::base::DumpBacktrace()': ../deps/v8/src/base/logging.cc:25: error: 'backtrace' was not declared in this scope ../deps/v8/src/base/logging.cc:26: error: 'backtrace_symbols' was not declared in this scope gmake[1]: *** [/home/(username)/local/ports/tmp/work/home/(username)/local/work/ports/www/node/work/node-v0.12.0/out/Release/obj.target/v8_libbase/deps/v8/src/base/logging.o] Error 1 gmake[1]: Leaving directory `/home/(username)/local/ports/tmp/work/home/(username)/local/work/ports/www/node/work/node-v0.12.0/out' gmake: *** [node] Error 2 *** [do-build] Error code 1
だめですね。
libexecinfoをインストールしないと駄目っぽいので、root権限なしでNode.js、MongoDBをインストールする方法を参考にインストール
・・・しようと思ったら、上記の記事で紹介されているところにlibexecinfoがないので、ここからダウンロード
僕の場合は
~/srcにダウンロードした。そうすると勝手に解凍される。
この後、~/local/work/ports/devel/libexecinfo/に移送してmake install
これだけだと駄目みたいなので、~/local/includeにダウンロードしたlibexecinfoのexecinfo.hを格納。
その後、.cshrcに
setenv CPATH ~/local/include
を追加する。
で、nodeをビルドでうまくいくはず
この後
nodev-v
でバージョンがでればOK
出ない場合は、
source ~/.cshrc
を実行するといいかもしれない。