Skip to content
This repository has been archived by the owner on Oct 16, 2021. It is now read-only.

Compiling at Synology DS413 (PPC) fails for v0.10.29-release-ppc branch #35

Closed
marcofranssen opened this issue Jun 22, 2014 · 4 comments

Comments

@marcofranssen
Copy link

Hi when I try to compile on my Synology DS413 which has a powerpc architecure I get following output. The output is the same when I try to compile the regular v0.10.29-release from the joyent repository.

Any idea how I can fix this?

I hope you can help me out.

DiskStation>git clone -b v0.10.29-release-ppc https://github.com/andrewlow/node.git && cd node/
DiskStation>./configure --prefix=/opt/node
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'clang': 0,
                 'gcc_version': 34,
                 'host_arch': 'ppc',
                 'node_byteorder': 'big',
                 'node_install_npm': 'true',
                 'node_prefix': '/opt/node',
                 'node_shared_cares': 'false',
                 'node_shared_http_parser': 'false',
                 'node_shared_libuv': 'false',
                 'node_shared_openssl': 'false',
                 'node_shared_v8': 'false',
                 'node_shared_zlib': 'false',
                 'node_tag': '',
                 'node_unsafe_optimizations': 0,
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_openssl': 'true',
                 'node_use_perfctr': 'false',
                 'node_use_systemtap': 'false',
                 'python': '/opt/bin/python2',
                 'target_arch': 'ppc',
                 'v8_enable_gdbjit': 0,
                 'v8_no_strict_aliasing': 1,
                 'v8_use_snapshot': 'true',
                 'visibility': ''}}
creating  ./config.gypi
creating  ./config.mk
Diskstation>make
make -C out BUILDTYPE=Release V=1
make[1]: Entering directory `/volume1/@tmp/node/out'
deps/v8ppc/tools/gyp/v8_base.target.mk:269: warning: overriding recipe for target `/volume1/@tmp/node/out/Release/libv8_base.a'
deps/v8ppc/tools/gyp/v8_base.host.mk:269: warning: ignoring old recipe for target `/volume1/@tmp/node/out/Release/libv8_base.a'
deps/v8ppc/tools/gyp/v8_nosnapshot.target.mk:139: warning: overriding recipe for target `/volume1/@tmp/node/out/Release/libv8_nosnapshot.a'
deps/v8ppc/tools/gyp/v8_nosnapshot.host.mk:143: warning: ignoring old recipe for target `/volume1/@tmp/node/out/Release/libv8_nosnapshot.a'
deps/v8ppc/tools/gyp/v8_snapshot.target.mk:166: warning: overriding recipe for target `/volume1/@tmp/node/out/Release/libv8_snapshot.a'
deps/v8ppc/tools/gyp/v8_snapshot.host.mk:162: warning: ignoring old recipe for target `/volume1/@tmp/node/out/Release/libv8_snapshot.a'
  cc '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' '-DHAVE_CONFIG_H' '-DCARES_STATICLIB' -I../deps/cares/include -I../deps/cares/src -I../deps/cares/config/linux  -Wall -Wextra -Wno-unused-parameter -pthread -m32 -g --std=gnu89 -pedantic -Wall -Wextra -Wno-unused-parameter -O2 -fno-strict-aliasing -fno-tree-sink -fno-omit-frame-pointer  -MMD -MF /volume1/@tmp/node/out/Release/.deps//volume1/@tmp/node/out/Release/obj.target/cares/deps/cares/src/ares_cancel.o.d.raw  -c -o /volume1/@tmp/node/out/Release/obj.target/cares/deps/cares/src/ares_cancel.o ../deps/cares/src/ares_cancel.c
cc1: error: unrecognized command line option "-fno-tree-sink"
make[1]: *** [/volume1/@tmp/node/out/Release/obj.target/cares/deps/cares/src/ares_cancel.o] Error 1
make[1]: Leaving directory `/volume1/@tmp/node/out'
make: *** [node] Error 2
@andrewlow
Copy link
Collaborator

Your GCC level is too old/wrong.

However, even if you were to get past that.. you'll run into the same issue as was discussed here https://plus.google.com/u/0/+AndrewLow/posts/1wabkoyHjoF

The Synology DS413 PPC chip doesn't support all of the (same) instructions we're using. Some set of changes is required (mostly to floating point stuff, which sadly is critical for V8/Javascript).

@kucsi73
Copy link

kucsi73 commented Nov 19, 2014

Hi,

is there any chance in the near future that Your node development will be ported to PPC based Synology like DS413 in this thread or DS213+ in may case. Searching for a solution, I have found that there are others also who are suffering from this issue. We would be very happy to get some solution if it is possible

@andrewlow
Copy link
Collaborator

To be clear - this isn't a node issue, but a problem with V8 (but as Node and V8 are tightly bound, it's really all the same problem).

V8 takes javascript code and compiles to native directly. We've done the work to support PowerPC (PPC) but there are variations of the architecture (primarily from Freescale).

There are some folks doing a serious effort on this issue ibmruntimes/v8ppc#119 and while that will get you closer to support for the Synology units, it probably won't completely solve the problem.

We do accept contributions from the community, so if someone wants to work on the problem we'd welcome the effort.

Short answer: no, there isn't a near future solution.

@mhdawson
Copy link

Given the age on this I'm going to close. If you disagree please let me know and I'll re-open

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants