質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.93%

さくらのレンタルサーバー(スタンダード)に最新のnode.jsを導入

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,504

fftfantt

score 7

前提・実現したいこと

以下を参考にさくらのレンタルサーバー(スタンダード)に最新のnode.jsを導入したく作業しています。

さくらのレンタルサーバにNode.jsをインストール
http://qiita.com/iuvo-duo/items/c97e05756bdfc06df3a4

ディストリビューションは    FreeBSD 9.1-RELEASE-p24 amd64 です

発生している問題・エラーメッセージ

node-v6.10.3を公式サイトからダウンロードし、 configureしようとしたところ、次の警告が発生しました。
gccのアップデートやportsからのインストールも試みてみましたがうまくいかず・・・
メジャーアップデート以降のnode.jsを入れたという記事も見当たらないため皆様のお力添えをいただきたく。

%  ./configure --prefix=~/local
<stdin>:1:107: warning: no newline at end of file
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
<stdin>:1:107: warning: no newline at end of file
creating ./icu_config.gypi
* Using ICU in deps/icu-small
Using version-specific floating patch tools/icu/patches/58/source/i18n/digitlst.cpp
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'asan': 0,
                 'coverage': 'false',
                 'debug_devtools': 'node',
                 'force_dynamic_crt': 0,
                 'gas_version': '2.17',
                 'host_arch': 'x64',
                 'icu_data_file': 'icudt58l.dat',
                 'icu_data_in': '../../deps/icu-small/source/data/in/icudt58l.dat',
                 'icu_endianness': 'l',
                 'icu_gyp_path': 'tools/icu/icu-generic.gyp',
                 'icu_locales': 'en,root',
                 'icu_path': 'deps/icu-small',
                 'icu_small': 'true',
                 'icu_ver_major': '58',
                 'node_byteorder': 'little',
                 'node_enable_d8': 'false',
                 'node_enable_v8_vtunejit': 'false',
                 'node_install_npm': 'true',
                 'node_module_version': 48,
                 'node_no_browser_globals': 'false',
                 'node_prefix': '/home/ponz-net/local',
                 'node_release_urlbase': '',
                 'node_shared': 'false',
                 'node_shared_cares': 'false',
                 'node_shared_http_parser': 'false',
                 'node_shared_libuv': 'false',
                 'node_shared_openssl': 'false',
                 'node_shared_zlib': 'false',
                 'node_tag': '',
                 'node_use_bundled_v8': 'true',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_lttng': 'false',
                 'node_use_openssl': 'true',
                 'node_use_perfctr': 'false',
                 'node_use_v8_platform': 'true',
                 'openssl_fips': '',
                 'openssl_no_asm': 0,
                 'shlib_suffix': 'so.48',
                 'target_arch': 'x64',
                 'uv_parent_path': '/deps/uv/',
                 'uv_use_dtrace': 'false',
                 'v8_enable_gdbjit': 0,
                 'v8_enable_i18n_support': 1,
                 'v8_inspector': 'true',
                 'v8_no_strict_aliasing': 1,
                 'v8_optimized_debug': 0,
                 'v8_random_seed': 0,
                 'v8_use_snapshot': 'true',
                 'want_separate_host_toolset': 0}}
creating ./config.gypi
creating ./config.mk
WARNING: warnings were emitted in the configure phase

 更に調査したこと

root権限の無い哀れな子魚ちゃんたちのためのgcc野良インストール(Linux)
http://daily.belltail.jp/?p=1583

rootが無い場合でもgccをビルドできるとの方法が上記に載っていたため、参考に実施してみました。
gccのgmakeは走りましたが、以下のようなエラーで停止しました。

checking for x86_64-unknown-freebsd9.1-gcc... /home/(割り当てられたディレクトリ)/temp/gcc-5.2.0/host-x86_64-unknown-freebsd9.1/gcc/xgcc -B/home/(割り当てられたディレクトリ)/temp/gcc-5.2.0/host-x86_64-unknown-freebsd9.1/gcc/ -B/home/(割り当てられたディレクトリ)/temp/x86_64-unknown-freebsd9.1/bin/ -B/home/(割り当てられたディレクトリ)/temp/x86_64-unknown-freebsd9.1/lib/ -isystem /home/(割り当てられたディレクトリ)/temp/x86_64-unknown-freebsd9.1/include -isystem /home/(割り当てられたディレクトリ)/temp/x86_64-unknown-freebsd9.1/sys-include
checking for suffix of object files... configure: error: in `/home/(割り当てられたディレクトリ)/temp/gcc-5.2.0/x86_64-unknown-freebsd9.1/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
gmake[2]: *** [configure-stage1-target-libgcc] Error 1
gmake[2]: Leaving directory `/home/(割り当てられたディレクトリ)/temp/gcc-5.2.0'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/home/(割り当てられたディレクトリ)/temp/gcc-5.2.0'
gmake: *** [all] Error 2

生成されたconfig.logの中身を見てみると最後は以下のようになっていました。

## ------------------- ##
## File substitutions. ##
## ------------------- ##

alphaieee_frag='/dev/null'
host_makefile_frag='/dev/null'
ospace_frag='/dev/null'
serialization_dependencies='serdep.tmp'
target_makefile_frag='/dev/null'

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define LT_OBJDIR ".libs/"

configure: exit 0

 さらに試したこと2

LD_LIBRARY_PATH にgmp, mpfr, mpcのインストールパスを追加(すべて$INSTALL_PATHにインストール)してgmakeしてみたが同一エラー

またmakeコマンドでは実行直後に以下のようなエラーが発生する

% make
"Makefile", line 26: Missing dependency operator
"Makefile", line 27: Need an operator
"Makefile", line 28: Need an operator
"Makefile", line 815: Missing dependency operator
"Makefile", line 816: Could not find
"Makefile", line 817: Need an operator
make: fatal errors encountered -- cannot continue


makeファイルの該当部分

#26~28
ifeq (,$(.VARIABLES)) # The variable .VARIABLES, new with 3.80, is never empty.
$(error GNU make version 3.80 or newer is required.)
endif

#814~817行目
BUILD_CONFIG = bootstrap-debug
ifneq ($(BUILD_CONFIG),)
include $(foreach CONFIG, $(BUILD_CONFIG), $(srcdir)/config/$(CONFIG).mk)
endif
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • izkn

    2017/05/06 09:59

    GCCが古い以上の情報は読み取れない。環境がレンタルサーバでは、自分のホームディレクトリに新しいGCCをビルドして、そちらを使ってみましょうくらいしか言えない。

    キャンセル

  • fftfantt

    2017/05/06 14:55 編集

    izkn様、貴重なご意見ありがとうございます。root無い状態でGCCをインストールできるとの情報があったため参考にして実施した部分について追記しました。しばらくトライしてみて解決できないようでしたらOSを用意してビルドしたものをレンタルサーバーにコピーしてみる、root権限ありのVSP契約に切り替えるも検討してみます。

    キャンセル

  • izkn

    2017/05/06 16:26

    ビルドで真っ先に思いつくのは、gmp, mpfr, mpc に LD_LIBRARY_PATH が通っていないとかでしょうか。

    キャンセル

  • fftfantt

    2017/05/06 18:29

    izkn様アドバイスいただきありがとうございます。 各ライブラリーは ./configure --prefix=$INSTALL_PATHというコマンドでインストール先を指定しているため、 LD_LIBRARY_PATH に$INSTALL_PATH(/home/(割り当て場所)/temp)を割り当ててみても同様でした。

    キャンセル

回答 1

check解決した方法

0

お世話になります。
ひとまずVSPを契約しなおしてnode.jsを入れることで解決しましたのでお知らせいたします。
エラーの原因自体はわかっておりませんが、ご助言いただきありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る