1
votes

I try to compile to compile node.js on an embedded linux in a chroot (armel wheezy) environment. The system has all necessary versions of tools.

  • Python 2.7.3
  • GCC 4.6
  • GNU Make 3.81

CPUInfo:

Processor : ARMv7 Processor rev 10 (v7l) processor : 0 BogoMIPS : 790.52

processor : 1 BogoMIPS : 790.52

processor : 2 BogoMIPS : 790.52

processor : 3 BogoMIPS : 790.52

Features : swp half thumb fastmult vfp edsp neon vfpv3 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part : 0xc09 CPU revision : 10

After several tries and research on the web I could compile it, but I receive errors while linking.

I do the following:

export CFLAGS='-march=armv7-a'
export CXXFLGAS='-march=armv7-a'
./configure --dest-cpu=armv7 --without-snapshot --without-ssl --dest-os=linux

I varied the options, but that had no effect. Using as the option --dest-cpu=arm caused an compiling error (no BLX support). Therefore I used armv7, which is the correct CPU on this system. I receive after compiling and linking the following error:

/root/node-v0.10.36/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a(platform-posix.o): In function v8::internal::init_fast_log_function()': platform-posix.cc:(.text+0x598): undefined reference to v8::internal::CreateTranscendentalFunction(v8::internal::TranscendentalCache::Type)' /root/node-v0.10.36/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a(platform-posix.o): In function v8::internal::init_fast_sqrt_function()': platform-posix.cc:(.text+0x5e4): undefined reference to v8::internal::CreateSqrtFunction()' collect2: ld returned 1 exit status make[1]: * [/root/node-v0.10.36/out/Release/node] Error 1 make[1]: Leaving directory `/root/node-v0.10.36/out' make: * [node] Error 2

I have no idea, what I can do to link the files. How can I finish the linking process?

1

1 Answers

1
votes

I found a solution which worked.

I added the argument -mthumb-interwork and configured it without any parameters. Now it is compiled and installed.

export CFLAGS='-march=armv7-a -mthumb-interwork' export CXXFLAGS='-march=armv7-a -mthumb-interwork'