编译armv7上的armv7的nodejs 10.36
我尝试编译以在chroot(armel wheezy)环境中的embedded式linux上编译node.js。 该系统具有所有必需的工具版本。
- Python 2.7.3
- GCC 4.6
- GNU Make 3.81
cpuinfo中:
处理器:ARMv7处理器rev 10(v7l)处理器:0 BogoMIPS:790.52
处理器:1 BogoMIPS:790.52
处理器:2 BogoMIPS:790.52
处理器:3 BogoMIPS:790.52
特性:swp half thumb fastmult vfp edsp neon vfpv3 CPU执行者:0x41 CPU架构:7 CPU变体:0x2 CPU部分:0xc09 CPU修订版本:10
经过多次尝试和研究在网上我可以编译它,但我在链接时收到错误。
我做了以下几点:
export CFLAGS='-march=armv7-a' export CXXFLGAS='-march=armv7-a' ./configure --dest-cpu=armv7 --without-snapshot --without-ssl --dest-os=linux
我改变了选项,但没有任何效果。 使用–dest-cpu = arm引起编译错误(不支持BLX)。 因此我使用了armv7,这是这个系统上正确的CPU。 我编译并链接后收到以下错误:
/root/node-v0.10.36/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a(platform-posix.o):在函数
v8::internal::init_fast_log_function()': platform-posix.cc:(.text+0x598): undefined reference to
v8 :: internal :: CreateTranscendentalFunction(v8 :: internal :: TranscendentalCache :: Type)的v8::internal::init_fast_log_function()': platform-posix.cc:(.text+0x598): undefined reference to
'/root/node-v0.10.36/out/Release/obj。 target / deps / v8 / tools / gyp / libv8_base.a(platform-posix.o):函数v8::internal::init_fast_sqrt_function()': platform-posix.cc:(.text+0x5e4): undefined reference to
v8 :: internal :: CreateSqrtFunction()'collect2:ld返回1退出状态make [1]: * [/root/node-v0.10.36/out/Release/node]错误1 make [1]:离开目录`/ root / node-v0.10.36 / out'make:* [node]错误2
我不知道,我可以做什么来链接文件。 我怎样才能完成链接过程?
我find了一个解决scheme。
我添加了参数-mthumb-interwork并将其configuration为不带任何参数。 现在编译并安装。
export CFLAGS =' – march = armv7-a -mthumb-interwork'export CXXFLAGS =' – march = armv7-a -mthumb-interwork'