无法使用 Debian squeeze 在 Sheevaplug (armv5t) 上构建节点

发布于 2024-11-26 07:39:17 字数 1170 浏览 1 评论 0原文

我现在已经尝试了几种在运行 Debian(版本 6.0.2)squeeze 的 Sheevaplug(armv5t)上构建节点(版本 0.5.1)的方法,但最终总是......

$ node
Illegal instruction

在我可以的所有情况下让它编译。

我尝试遵循几个指南(即使是各种组合):

现在我感到很困惑,有几个人似乎已经成功为armv5t构建了node,但对于不同版本的node和v8可能有所不同。

我怎样才能继续尝试?我会很乐意测试任何建议。

I have now tried several ways of building node (version 0.5.1) on/for a Sheevaplug (armv5t) running Debian (version 6.0.2) squeeze but always ends up with...

$ node
Illegal instruction

... in all cases where ever I could get it to compile.

I have tried to follow several guides (even in various combinations):

Now I feel stuck, several people seem to have succeeded in building node for armv5t but maybe it's different for different versions of node and v8.

How can I continiue trying? I will happily test any suggestions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

楠木可依 2024-12-03 07:39:17

使用 Node 的稳定版本 0.4.10 通过 Sheevaplug 上的以下步骤解决了这个问题。

$ sudo apt-get update
$ sudo apt-get install scons make libssl

(可能还需要一些软件包)

$ cd /home/user/source
$ wget http://nodejs.org/dist/node-v0.4.10.tar.gz
$ tar zxvf node-v0.4.10.tar.gz
$ cd node-v0.4.10
$ nano deps/v8/SConstruct

将打开的文件 deps/v8/SConstruct 中的第 139 行更改

      'CCFLAGS':      ['$DIALECTFLAGS', '$WARNINGFLAGS'],

      'CCFLAGS':      ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv5t'],

保存文件并退出 nano,ctrl+o 输入 ctrl+x

$ ./configure

检查有关丢失软件包的投诉

$ make

在我的计算机上需要一段时间约 40 分钟Sheevaplug,构建测试后运行节点,

$ ./node

如果节点 shell 启动正常,则退出 shell 并运行

$ sudo make install

Using the stable version 0.4.10 of node solved it with the following steps on the Sheevaplug.

$ sudo apt-get update
$ sudo apt-get install scons make libssl

(Might be a few more packages needed)

$ cd /home/user/source
$ wget http://nodejs.org/dist/node-v0.4.10.tar.gz
$ tar zxvf node-v0.4.10.tar.gz
$ cd node-v0.4.10
$ nano deps/v8/SConstruct

Change ~line 139 in opened file deps/v8/SConstruct

      'CCFLAGS':      ['$DIALECTFLAGS', '$WARNINGFLAGS'],

to

      'CCFLAGS':      ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv5t'],

Save file and exit nano with, ctrl+o enter ctrl+x

$ ./configure

Check for complaints about missing packages

$ make

Takes a while ~40 minutes on my Sheevaplug, after build test running node with

$ ./node

If node shell started ok, exit shell and run

$ sudo make install
做个少女永远怀春 2024-12-03 07:39:17

我的 pogoplug 上运行了版本 6。我发现删除编译器标志是最好的选择,就好像您在目标 gcc 上构建应该知道该怎么做一样。我现在只是破解了它,因为正确的解决方案是让构建系统设置选项“armeabi:soft”而不是“armeabi:softfp”,后者又设置 gcc 标志。

但如果你只是想让它工作,请在 SConstruct 文件中执行此操作(以及像上一篇文章中那样添加 -march=armv5t' )

这就是我在第 157 行左右注释掉的内容:

'armeabi:softfp' : {
    'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'],
#    'vfp3:on': {
#      'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
#    },
#    'simulator:none': {
#      'CCFLAGS':     ['-mfloat-abi=soft'],
#    }
  },

我做了一些测试,它对我有用。

I got version 6 working on my pogoplug. I figured out removing compiler flags was the best option as if you build on target gcc should know what to do. I've only hacked it for now as the proper solution is to get the build system to set the option 'armeabi:soft' instead of 'armeabi:softfp' which in turn sets the gcc flags.

But if you just want it to work do this in the SConstruct file ( as well as adding the -march=armv5t' as in the previous post )

This is what I commented out at around line 157:

'armeabi:softfp' : {
    'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'],
#    'vfp3:on': {
#      'CPPDEFINES' : ['CAN_USE_VFP_INSTRUCTIONS']
#    },
#    'simulator:none': {
#      'CCFLAGS':     ['-mfloat-abi=soft'],
#    }
  },

I did a bit of testing and it works for me.

余生共白头 2024-12-03 07:39:17

如果其他人正在寻找,nodejs 问题跟踪器上有一个有用的线程: https: //github.com/joyent/node/issues/2131#issuecomment-3208846

In case anyone else is looking, there's a useful thread on the nodejs issue tracker: https://github.com/joyent/node/issues/2131#issuecomment-3208846

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文