-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
Can't run nodejs 4.6 on Ubuntu 12.04.5 LTS with Geode AMD CPU #8926
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
If I install binaries from Ubuntu Repos, they work fine. But they are very old releases (below) root@router: |
@ilkeraktuna are you installing from source or the tar balls from the website? is v4.5.1 working? |
none of the binaries on website work for me. |
I try the binaries. Btw, I checked on my system and see that running nodejs is from this package: So I found a similar one (i386) from here: But it didn't also work. |
IIRC V8 dropped support for i586 and older some time back? I know V8's x86 support has required SSE2 since 2014 and AFAIK all Geode CPUs do not support SSE2 (and only some support original SSE). |
so what do you recommend for me ? |
You're out of luck then. node v0.10.x was the last branch to use a version of V8 that did not include the SSE2 requirement. |
that's really bad. |
If you're familiar enough with the V8 code base and you have the time to spend doing it (non-trivial IMHO), then sure. However maintaining that patch going forward as V8 continues to make improvements and other changes is likely to be non-trivial. I doubt node core would be interested in maintaining/floating a patch like that though, so you'd probably be on your own there. |
I am not a coder. I was assuming it would be an easy patch and someone would help me on that. Btw, I am not interested in maintaining that patch. I would only use it with a static build for a specific use. |
I have a Geode in a Viglen MPC-L and since 0.10 is going out of support in the next few weeks I've got the same issue (although I'm not running any SSL stuff so at least I won't be exposed from an OpenSSL perspective!) I should probably just switch the system running it to a raspberry pi really, but if you're looking for a way forward V8 does have an 'x87' architecture target which might work (I think I last tried it somewhere on the 0.12 codebase and got it running). If you edit the valid_arch values in configure to include 'x87' which should exclude the SSE instructions then you can run configure with: ./configure --dest-cpu=x87 --with-intl=none but when I tried that on the V6 codebase just now it got in a mess at the final link step. (I wouldn't recommend compiling it directly on the Geode or you'll be there for hours) I should warn you that even if you can get it to run, the resulting build when I did it was very slow, which is why I've so far stuck to 0.10 on mine ...) You may also run into trouble with the version of libstdc++ being quite backlevel on Ubuntu 12.04 too if you get it to build. |
@sxa555 Also, I don't have anyother choice but build it on Geode if I'm gonna build. Because currently I don't have any other build environments. I'm "ok" with waiting for hours though (if it will solve my problem) Is there any possibility that you could build it for me ? |
Sorry, you are on your own. V8 has a x87 back-end but it's not supported by node. You could try hacking the configure script to enable it but I can't guarantee it actually builds and runs. Good luck. |
In the top level configure script there's a definition for valid_arch which you need to change to include x87 e.g. valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 'x32', However, node 4 and above need gcc 4.8 (and the C++ runtimes from 4.8 to use it). As I mentioned I did try using the option for x87 with Node 6 but it didn't quite work cleanly on my build system for some reason. If you can get away with Node 0.12 then that may well do the job as that worked for me previously, but as bnoorduis says it isn't supported :-( |
This comment has been minimized.
This comment has been minimized.
@tbodt Is that ish-app/ish#464 by any chance? Our #464 is really ancient. :-) |
Ah sorry, left that comment on the wrong issue. |
Hi,
When I install the binary from nodejs.org on my Ubuntu system with Geode AMD CPU, it installs fine. But when I run "node" or "npm" commands , I get "Illegal Instruction" error.
root@router:
# uname -a# cat /proc/cpuinfoLinux router 3.2.0-57-generic #87-Ubuntu SMP Tue Nov 12 21:38:12 UTC 2013 i586 i586 i386 GNU/Linux
root@router:
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 10
model name : Geode(TM) Integrated Processor by AMD PCS
stepping : 2
microcode : 0x8b
cpu MHz : 498.026
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de pse tsc msr cx8 pge cmov clflush mmx mmxext 3dnowext 3dnow up
bogomips : 996.05
clflush size : 32
cache_alignment : 32
address sizes : 32 bits physical, 32 bits virtual
power management:
The text was updated successfully, but these errors were encountered: