系统相关
首页 > 系统相关> > linux – 如何在安装了fun_plug 0.5的D-Link DNS 325上编译NodeJS?

linux – 如何在安装了fun_plug 0.5的D-Link DNS 325上编译NodeJS?

作者:互联网

我正在尝试在我的NAS设备上编译Node,但是我得到了这个错误,我真的不知道如何使这个工作:

/node-v0.6.6/deps/v8/src/arm/constants-arm.h:33:2: error: #error ARM EABI support is 

required.
scons: *** [obj/release/accessors.o] Error 1
scons: building terminated because of errors.
Waf: Leaving directory `/ffp/home/root/node-v0.6.6/out'
Build failed:  -> task failed (err #2): 
    {task: libv8.a SConstruct -> libv8.a}

有人真的管理过让Node在D-Link NAS上编译吗?有人知道这样做的官方指南或我应该在哪里寻求帮助?

非常感谢.

解决方法:

DNS320,Fonzplug,NodeJS,Funplug,(DNS323,我的原始目标)似乎也适用于sheeva插件!!

(作为感兴趣的问题323编译需要大约7.5小时,而320需要1小时,3分钟)

(也可以在1G8 Intel Linux(Debian)上编译大约需要15分钟)

========================
注意:在fonz插件上 – 您需要安装以下内容:

> binutils
>列表项目
> kernel-headers
> pkg-config
> uclibc
> gcc
>制作
> gettext
>补丁
>野牛
> flex
> autoconf
> automake

=======================
然后你可以:

exported TMPDIR=/ffp/tmp        (need this to put tmp files on HD not in memory!)

export CC='gcc -march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export CCFLAGS='-march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export CXX='g++ -march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'
export GCC='-march=armv5t -mfloat-abi=softfp -fno-tree-sink -O0'

./configure --prefix=/ffp --without-snapshot
......
make
.............
make install

笔记:

我有过NodeJS 0.4.9的经验 – 所以我一直在使用它 – 继续阅读为什么!!

实际编译没有错误!
但!

运行时 – 非法指令 – 弹出

这似乎是因为V8预计要在不是手臂的主机上编译!

请参阅下面的参考资料我发现:(我花了6个月才找到所有这些)
有人在某处决定在ARM上运行是一个嵌入式环境,因此你不会在它上面编译!!

有权威的人可以解决这个问题!!!!!!!!

事实上,我可以得到一个干净的编译,说它可以工作,但至少V8不要求我们????

原始说明:
    https://github.com/joyent/node/wiki/Installation

我还找到了什么:

http://code.google.com/p/v8/wiki/CrossCompilingForARM
http://code.google.com/p/v8/issues/detail?id=914
http://code.google.com/p/v8/issues/detail?id=1632&q=vfp%20off&colspec=ID%20Type%20Status%20Priority%20Owner%20Summary%20HW%20OS%20Area%20Stars
https://github.com/joyent/node/issues/1566
http://fastr.github.com/articles/Node.js-on-OpenEmbedded.html
http://freebsd.1045724.n5.nabble.com/problems-with-cvsup-on-FreeBSD-9-snapshot-201101-td4491053.html
http://code.google.com/p/v8/issues/detail?id=1446
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0133c/index.html
http://infocenter.arm.com/help/topic/com.arm.doc.qrc0007e/QRC0007_VFP.pdf
https://github.com/joyent/node/issues/1386
https://github.com/joyent/node/issues/2131

从本文中,需要预先安装的fonz内容的最小安装量:

http://www.shadowandy.net/2008/08/adding-compiling-capabilities-to-your-dns-323.htm

DNS323 – 维基站点(新的?? ??)

http://dns323.kood.org/dns-320
http://tsd.dlink.com.tw/downloads2008detail.asp (open source for dlink find dns then 320 - or 323 etc)

编译选项:

http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html

调试选项:
    http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html

利益:

http://itrs.tw/wiki/Code_Sourcery_G%2B%2B_Lite
http://pandorawiki.org/Floating_Point_Optimization
http://wiki.debian.org/ArmHardFloatPort/VfpComparison
https://groups.google.com/group/nodejs-dev/browse_thread/thread/18bfc495b01e2f9b/8507143b5578ebf9#8507143b5578ebf9
https://stackoverflow.com/questions/6788768/cannot-build-node-on-sheevaplug-armv5t-with-debian-squeeze/6790823#6790823
http://www.plugcomputer.org/plugwiki/index.php/Scratchbox2_based_cross_compiling

为什么0.4.9,而不是0.6.6?
6.6可能在同一个地方出现但错误说EABI错误,Fonz的编译器不理解EABI.

我认为V8的人(或节点人)已经将错误描述符重新标记为EABI,我不知道跟踪问题.
还有很多其他开关可用于编译器 – 我已经放弃了尝试它们(其他人似乎发现了同样的问题,他们比我更了解,所以我将假设他们已经尝试了所有可用的开关可以有所作为).

感兴趣的是,V8编译只使用CXXFLAGS开关进行编译,而NodeJS的其余部分似乎使用了我标记的其他部分!!

另请注意,为了使快照运行,它指向/ tmp – 无论我做什么, –
我最终将/ tmp移动到/ tmp1和ln -s / tmp / ffp / tmp

mv / tmp / tmp1

ln -s / tmp / ffp / tmp

标签:linux,node-js,compiler-errors,arm,uclibc
来源: https://codeday.me/bug/20190902/1792480.html