【问题标题】:Can't make node.js ubuntu 13.10无法制作 node.js ubuntu 13.10
【发布时间】:2014-02-27 20:40:21
【问题描述】:

我正在尝试安装 node.js,所以我已经克隆了 repo 和 ./configure 它。但是,当我运行 make 时,我得到了这个荒谬的无限循环错误:

make -C out BUILDTYPE=Release V=1
make[1]: Entering directory `/home/ubuntu/nodejs/node/out'
  g++ '-DOPENSSL_NO_SSL2=1' '-DV8_TARGET_ARCH_X64' '-DENABLE_DEBUGGER_SUPPORT' -I../deps/v8/src  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -m64 -O3 -ffunction-sections -fdata-sections -fno-tree-vrp -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -MMD -MF /home/ubuntu/nodejs/node/out/Release/.deps//home/ubuntu/nodejs/node/out/Release/obj.target/v8_base.x64/deps/v8/src/runtime.o.d.raw  -c -o /home/ubuntu/nodejs/node/out/Release/obj.target/v8_base.x64/deps/v8/src/runtime.o ../deps/v8/src/runtime.cc
In file included from ../deps/v8/src/v8.h:52:0,
                 from ../deps/v8/src/runtime.cc:31:
../deps/v8/src/../include/v8.h: In member function ‘void v8::ReturnValue<T>::Set(uint32_t)’:
../deps/v8/src/../include/v8.h:5816:31: warning: typedef ‘I’ locally defined but not used [-Wunused-local-typedefs]
   typedef internal::Internals I;
                               ^
In file included from ../deps/v8/src/v8globals.h:32:0,
                 from ../deps/v8/src/v8.h:53,
                 from ../deps/v8/src/runtime.cc:31:
../deps/v8/src/v8utils.h: In function ‘void v8::internal::CopyWords(T*, const T*, size_t)’:
../deps/v8/src/checks.h:271:22: warning: typedef ‘__StaticAssertTypedef__131’ locally defined but not used [-Wunused-local-typedefs]
     SEMI_STATIC_JOIN(__StaticAssertTypedef__, __LINE__)
                      ^
../deps/v8/src/checks.h:261:39: note: in definition of macro ‘SEMI_STATIC_JOIN_HELPER’
 #define SEMI_STATIC_JOIN_HELPER(a, b) a##b
                                       ^
../deps/v8/src/checks.h:271:5: note: in expansion of macro ‘SEMI_STATIC_JOIN’
     SEMI_STATIC_JOIN(__StaticAssertTypedef__, __LINE__)
     ^
../deps/v8/src/checks.h:319:30: note: in expansion of macro ‘STATIC_CHECK’
 #define STATIC_ASSERT(test)  STATIC_CHECK(test)

这似乎是一个错误,但我有 g++4.8.1 gcc-4.8.1 这是我所知道的最新版本。请让我知道如何解决此问题。谢谢。

【问题讨论】:

  • 最好通过“sudo apt-get install nodejs sudo ln -s /usr/bin/nodejs /usr/bin/node”安装
  • 您的配置是否以任何方式抱怨缺少库?甚至警告?如果您可以发布 configure 的日志,那就太好了(也许通过 pastebin,而不是直接在这里)。
  • 您确定它不起作用吗?据我所知,您发布的只是警告,而不是错误。
  • 它不断重复相同的警告,但实际上从未编译过任何代码。无论如何,我只是添加了一个存储库并 apt-get 安装了它。多么痛苦。

标签: linux node.js ubuntu g++ makefile


【解决方案1】:

有一种比引入旧 g++ 更简单的方法,如 V8 错误报告讨论中所述: http://code.google.com/p/v8/issues/detail?id=2149

您可以在使用 make 之前为 g++ 设置额外的标志:

export CXX="g++ -Wno-unused-local-typedefs"

【讨论】:

  • 刚刚尝试在 14.04 服务器上从 src 构建节点,这为我修复了它。谢谢
【解决方案2】:

我在使用 g++ 4.8 编译 v8(Node 使用)和一堆其他东西时遇到了问题,所以我使用 4.7。首先使用apt-get 安装g++-4.7(我相信你知道怎么做),然后:

CXX=g++-4.7 make [... etc...]

【讨论】:

    猜你喜欢
    • 2014-04-17
    • 2014-06-22
    • 2014-06-07
    • 2015-04-30
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 2014-04-21
    相关资源
    最近更新 更多