-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Error compiling v0.10.30 on Raspberry Pi Model B #8062
Comments
OpenSSL's bug produced by your processor and what's your processor? see https://github.com/joyent/node/blob/master/deps/openssl/openssl/crypto/cryptlib.c#L664-L666 Your processor macro seems not to be included, then To fix it ASAP, you can define a macro listed before by hand here(https://github.com/joyent/node/blob/master/deps/openssl/openssl.gyp#L941-L943). But for best fixup, openssl is the place to do IMO, but fixup(macro by hand) in node should be acceptable for us. |
Is this what you are suggesting?
|
Yeah, but i dont know if it can work, because of hacky, also dont know any side effect of it... |
Tried that change and still get this error
|
add |
Still the same error |
I'm seeing the same error too:
(cc'ing @indutny because OpenSSL is involved) |
I saw the similar issue for pogoplug (arm5). The setting works for all previous node cross compilations.
.
|
I'm having the same error, please keep us updated if there are any news on this. (Also on Raspberry PI model B with latest debian wheezy). Thanks! |
Also, having this problem with Raspberry PI model B. Any help would be greatly appreciated. Thanks. |
93390ff built for me. Thanks. |
I'm still seeing this in 0.10.30 (which should to contain the previously mentioned changes). I'm using the following configure options:
Output at the end of failed make command: flock /build/nodejs/nodejs-0.10.30/out/Release/linker.lock g++ -pthread -rdynamic -Wl,--whole-archive /build/nodejs/nodejs-0.10.30/out/Release/libopenssl.a -Wl,--no-whole-archive -Wl,--whole-archive /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a -Wl,--no-whole-archive -pthread -o /build/nodejs/nodejs-0.10.30/out/Release/node -Wl,--start-group /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/fs_event_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/cares_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/handle_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_buffer.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_constants.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_extensions.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_file.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_http_parser.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_javascript.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_main.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_os.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_script.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_stat_watcher.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_string.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_zlib.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/pipe_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/signal_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/string_bytes.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/stream_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/slab_allocator.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/tcp_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/timer_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/tty_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/process_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/v8_typed_array.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/udp_wrap.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/node/src/node_crypto.o /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/openssl/libopenssl.a /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/zlib/libchrome_zlib.a /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/http_parser/libhttp_parser.a /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/cares/libcares.a /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/uv/libuv.a /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a /build/nodejs/nodejs-0.10.30/out/Release/obj.target/deps/v8/tools/gyp/libv8_nosnapshot.a -Wl,--end-group -lm -ldl -lrt /build/nodejs/nodejs-0.10.30/out/Release/libopenssl.a(armcap.o): In function `OPENSSL_cpuid_setup': armcap.c:(.text.startup+0x0): multiple definition of `OPENSSL_cpuid_setup' /build/nodejs/nodejs-0.10.30/out/Release/libopenssl.a(cryptlib.o):cryptlib.c:(.text+0x2cc): first defined here /build/nodejs/nodejs-0.10.30/out/Release/libopenssl.a(armcap.o): In function `OPENSSL_rdtsc': armcap.c:(.text+0x2c): undefined reference to `_armv7_tick' /build/nodejs/nodejs-0.10.30/out/Release/libopenssl.a(armcap.o): In function `OPENSSL_cpuid_setup': armcap.c:(.text.startup+0xda): undefined reference to `_armv7_neon_probe' armcap.c:(.text.startup+0xea): undefined reference to `_armv7_tick' collect2: ld returned 1 exit status make[2]: *** [/build/nodejs/nodejs-0.10.30/out/Release/node] Error 1 make[2]: Leaving directory `/build/nodejs/nodejs-0.10.30/out' make[1]: *** [node] Error 2 make[1]: Leaving directory `/build/nodejs/nodejs-0.10.30' make: *** [build-stamp] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 Build command 'cd nodejs-0.10.30 && dpkg-buildpackage -b -uc' failed. E: Child process failed |
@ tjfontaine Firstly, I checkout v0.10.30:
Then I revert the change:
|
Scratch my last comment. I didn't realize 93390ff was the commit I needed to roll back to (thought it was the fix). I was able to get it work compiling that version. @needforspeed just do:
in the source dir. It will give a message about being in detached HEAD but you can ignore that. |
@indutny the configuration we use for openssl and its cli seems to have broken arm builds, at least for 0.10 /cc @TooTallNate |
Agreed - having seen the problem myself it seems to be the change that introduced -Wl,--whole-archive on libopenssl.a in the top level node.ftp that's exposed the issue. |
ooooh... --whole-archive thing. |
Wait, is it openssl-cli or whole-archive? |
the commit he referenced was cli |
Does following patch fix the problem for you: diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp
index b3ae004..cc4a425 100644
--- a/deps/openssl/openssl.gyp
+++ b/deps/openssl/openssl.gyp
@@ -939,7 +939,10 @@
],
}],
['target_arch=="arm"', {
- 'sources': ['openssl/crypto/armcap.c'],
+ 'sources': [
+ 'openssl/crypto/armcap.c',
+ 'openssl/crypto/armv4cpuid.S',
+ ],
}],
],
'include_dirs': [
|
I got multiple definition of `OPENSSL_cpuid_setup'
|
Gosh, I totally don't get, how it could produce multiple definitions, considering that these functions are behind:
|
What about this:
|
Actually, better this one: diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp
index b3ae004..231c449 100644
--- a/deps/openssl/openssl.gyp
+++ b/deps/openssl/openssl.gyp
@@ -667,7 +667,6 @@
'openssl/crypto/camellia/cmll_misc.c',
'openssl/crypto/des/des_enc.c',
'openssl/crypto/des/fcrypt_b.c',
- 'openssl/crypto/mem_clr.c',
'openssl/crypto/rc4/rc4_enc.c',
'openssl/crypto/rc4/rc4_skey.c',
'openssl/crypto/whrlpool/wp_block.c'
@@ -922,6 +921,11 @@
}]
]
}],
+ ['target_arch!="ia32" and target_arch!="x64" and target_arch!="arm"', {
+ 'sources': [
+ 'openssl/crypto/mem_clr.c',
+ ],
+ }],
['OS=="win"', {
'link_settings': {
'libraries': [
@@ -939,7 +943,10 @@
],
}],
['target_arch=="arm"', {
- 'sources': ['openssl/crypto/armcap.c'],
+ 'sources': [
+ 'openssl/crypto/armcap.c',
+ 'openssl/crypto/armv4cpuid.S',
+ ],
}],
],
'include_dirs': [
diff --git a/deps/openssl/openssl/crypto/cryptlib.c b/deps/openssl/openssl/crypto/cryptlib.c
index 0b77d8b..d16986d 100644
--- a/deps/openssl/openssl/crypto/cryptlib.c
+++ b/deps/openssl/openssl/crypto/cryptlib.c
@@ -661,9 +661,11 @@ const char *CRYPTO_get_lock_name(int type)
return(sk_OPENSSL_STRING_value(app_locks,type-CRYPTO_NUM_LOCKS));
}
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
+#if !defined(_ARM_ARCH__) && \
+ (defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
defined(__INTEL__) || \
- defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
+ defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \
+ defined(_M_X64))
unsigned int OPENSSL_ia32cap_P[2];
unsigned long *OPENSSL_ia32cap_loc(void)
|
Got a new error: undefined reference to `cleanse_ctr'
|
Ok, new diff: diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp
index b3ae004..cc4a425 100644
--- a/deps/openssl/openssl.gyp
+++ b/deps/openssl/openssl.gyp
@@ -939,7 +939,10 @@
],
}],
['target_arch=="arm"', {
- 'sources': ['openssl/crypto/armcap.c'],
+ 'sources': [
+ 'openssl/crypto/armcap.c',
+ 'openssl/crypto/armv4cpuid.S',
+ ],
}],
],
'include_dirs': [
diff --git a/deps/openssl/openssl/crypto/cryptlib.c b/deps/openssl/openssl/crypto/cryptlib.c
index 0b77d8b..d16986d 100644
--- a/deps/openssl/openssl/crypto/cryptlib.c
+++ b/deps/openssl/openssl/crypto/cryptlib.c
@@ -661,9 +661,11 @@ const char *CRYPTO_get_lock_name(int type)
return(sk_OPENSSL_STRING_value(app_locks,type-CRYPTO_NUM_LOCKS));
}
-#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
+#if !defined(_ARM_ARCH__) && \
+ (defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
defined(__INTEL__) || \
- defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_X64)
+ defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \
+ defined(_M_X64))
unsigned int OPENSSL_ia32cap_P[2];
unsigned long *OPENSSL_ia32cap_loc(void)
diff --git a/deps/openssl/openssl/crypto/mem_clr.c b/deps/openssl/openssl/crypto/mem_clr.c
index add1f78..bfb9c64 100644
--- a/deps/openssl/openssl/crypto/mem_clr.c
+++ b/deps/openssl/openssl/crypto/mem_clr.c
@@ -61,6 +61,8 @@
unsigned char cleanse_ctr = 0;
+#if !defined(_ARM_ARCH__)
+
void OPENSSL_cleanse(void *ptr, size_t len)
{
unsigned char *p = ptr;
@@ -75,3 +77,4 @@ void OPENSSL_cleanse(void *ptr, size_t len)
ctr += (63 + (size_t)p);
cleanse_ctr = (unsigned char)ctr;
}
+#endif
|
multiple definition of `OPENSSL_cpuid_setup' error comes back again.
|
And a |
sorry for answering so late, there is no beep for incoming mail (and there will never be !) Program received signal SIGSEGV, Segmentation fault. 0x00000000 in ?? () (gdb) disas _armv7_tick Dump of assembler code for function _armv7_tick: 0x00235bc8 <+0>: mrc 15, 0, r0, cr9, cr13, {0} 0x00235bcc <+4>: bx lr End of assembler dump. (gdb) bt #0 0x00000000 in ?? () #1 0x3060a15c in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb)? Cordialement Lutz BICKHARDT 23/25, av. L?opold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com And a bt at that point? Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-53722830. |
No problem! What does |
not sure at what point I shall do this. Here is what I did: (gdb) run Starting program: /usr/local/bin/node [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Program received signal SIGILL, Illegal instruction. 0x00235bc8 in _armv7_tick () (gdb) disas 0x3060a15c No function contains specified address. (gdb) bt #0 0x00235bc8 in _armv7_tick () #1 0x0017684c in OPENSSL_cpuid_setup () #2 0x00444dfe in __libc_csu_init () #3 0xb6d815ee in __libc_start_main (main=0x176a59 , argc=1,
#4 0x00176bfc in _start () (gdb) disas 0x3060a15c No function contains specified address. (gdb) disas _armv7_tick Dump of assembler code for function _armv7_tick: => 0x00235bc8 <+0>: mrc 15, 0, r0, cr9, cr13, {0} 0x00235bcc <+4>: bx lr End of assembler dump. (gdb) disas 0x3060a15c No function contains specified address. (gdb)? Cordialement Lutz BICKHARDT 23/25, av. L?opold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com No problem! What does disas 0x3060a15c say? (Sorry for lots of instructions, I just can't reproduce it on my pi). Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-53758820. |
@lutzbickhardt is there any way I could ssh to this machine and debug it a bit? :) |
?Sorry no, I have not (yet) DynDNSed my router. But I am happy to carry out your instructions. Please bear with me though, I have never used gdb before. Cordialement Lutz BICKHARDT 23/25, av. L?opold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com @lutzbickhardthttps://github.com/lutzbickhardt is there any way I could ssh to this machine and debug it a bit? :) Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-53780243. |
@lutzbickhardt no problem, I was just afraid that there are too much instructions and you are probably tired of them :) Could you please do following thing:
|
here it is; I did not even have to do any ENTER, it segfaulted right after "n" root@odroid:~# node Segmentation fault root@odroid:~# gdb --args node GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from node...done. (gdb) handle SIGILL nostop Signal Stop Print Pass to program Description SIGILL No Yes Yes Illegal instruction (gdb) b OPENSSL_cpuid_setup Breakpoint 1 at 0x176778 (gdb) r Starting program: /usr/local/bin/node [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Breakpoint 1, 0x00176778 in OPENSSL_cpuid_setup () (gdb) n Single stepping until exit from function OPENSSL_cpuid_setup, which has no line number information. Program received signal SIGILL, Illegal instruction. [New Thread 0xb6fde450 (LWP 2626)] Program received signal SIGSEGV, Segmentation fault. 0x00000000 in ?? () (gdb) ? Cordialement Lutz BICKHARDT 23/25, av. L?opold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com @lutzbickhardthttps://github.com/lutzbickhardt no problem, I was just afraid that there are too much instructions and you are probably tired of them :) Could you please do following thing:
Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-53782964. |
Oh gosh... Could you please do a debug build: |
idutny, I would be happy to set my pi up for you to ssh in, if you like. If have 10.31 downloaded and mostly made. Email me at john(dot)navratil@sbcglobal(dot)net if I can help. |
@JohnNavratil hm... does it segfault for you on your pi? It doesn't seem to on mine. |
I'm still at the point where compilation fails and have not made any of the patches this thread proposes. |
it started like that, may take some time: root@odroid:~# cd node root@odroid:~/node# BUILDTYPE=Debug make -C out make: Entering directory `/root/node/out' CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_cancel.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares__close_sockets.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_data.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_destroy.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_expand_name.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_expand_string.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_fds.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_free_hostent.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_free_string.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_gethostbyaddr.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_gethostbyname.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares__get_hostent.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_getnameinfo.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_getopt.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_getsock.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_init.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_library_init.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_llist.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_mkquery.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_nowarn.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_options.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_aaaa_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_a_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_mx_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_naptr_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_ns_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_ptr_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_soa_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_srv_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_parse_txt_reply.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_process.o ../deps/cares/src/ares_process.c: In function ‘read_udp_packets’: ../deps/cares/src/ares_process.c:481:35: warning: pointer targets in passing argument 6 of ‘recvfrom’ differ in signedness [-Wpointer-sign]
In file included from ../deps/cares/src/ares_process.c:21:0: /usr/include/arm-linux-gnueabihf/sys/socket.h:174:16: note: expected ‘socklen_t * restrict’ but argument is of type ‘ares_socklen_t *’ extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_query.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares__read_line.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_search.o CC(target) /root/node/out/Debug/obj.target/cares/deps/cares/src/ares_send.o CC(target) /root .... Cordialement Lutz BICKHARDT 23/25, av. Léopold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com Oh gosh... Could you please do a debug build: BUILDTYPE=Debug make -C out/? And try it with ./out/Debug/node instead of just node ? — |
and it fails like this: ... CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/arm/lithium-codegen-arm.o CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/arm/lithium-gap-resolver-arm.o CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/arm/macro-assembler-arm.o CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/arm/regexp-macro-assembler-arm.o CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/arm/simulator-arm.o CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/arm/stub-cache-arm.o CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/platform-linux.o CXX(target) /root/node/out/Debug/obj.target/v8_base/deps/v8/src/platform-posix.o ACTION _root_node_deps_v8_tools_gyp_v8_gyp_postmortem_metadata_target_gen_postmortem_metadata /root/node/out/Debug/obj/gen/debug-support.cc CXX(target) /root/node/out/Debug/obj.target/v8_base/gen/debug-support.o AR(target) /root/node/out/Debug/obj.target/deps/v8/tools/gyp/libv8_base.a COPY /root/node/out/Debug/libv8_base.a CXX(target) /root/node/out/Debug/obj.target/v8_nosnapshot/gen/libraries.o CXX(target) /root/node/out/Debug/obj.target/v8_nosnapshot/gen/experimental-libraries.o CXX(target) /root/node/out/Debug/obj.target/v8_nosnapshot/deps/v8/src/snapshot-empty.o AR(target) /root/node/out/Debug/obj.target/deps/v8/tools/gyp/libv8_nosnapshot.a COPY /root/node/out/Debug/libv8_nosnapshot.a CXX(target) /root/node/out/Debug/obj.target/mksnapshot/deps/v8/src/mksnapshot.o LINK(target) /root/node/out/Debug/mksnapshot LINK(target) /root/node/out/Debug/mksnapshot: Finished ACTION _root_node_deps_v8_tools_gyp_v8_gyp_v8_snapshot_target_run_mksnapshot /root/node/out/Debug/obj.target/v8_snapshot/geni/snapshot.cc Fatal error in ../deps/v8/src/serialize.cc, line 542CHECK(key == __null || index >= 0) failedTrace/breakpoint trap make: *** [/root/node/out/Debug/obj.target/v8_snapshot/geni/snapshot.cc] Error 133 make: Leaving directory `/root/node/out' root@odroid:~/node# ? Cordialement Lutz BICKHARDT 23/25, av. L?opold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com Oh gosh... Could you please do a debug build: BUILDTYPE=Debug make -C out/? And try it with ./out/Debug/node instead of just node ? Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-53785590. |
Ok, this is much more informative now, thank you! |
@lutzbickhardt sorry, but I still need to see a |
How would I do that? The linker falls back to command line level! Trace/breakpoint trap make: *** [/root/node/out/Debug/obj.target/v8_snapshot/geni/snapshot.cc] Error 133 make: Leaving directory `/root/node/out' root@odroid:~/node# bt -bash: bt: command not found root@odroid:~/node#? Or do you mean like that? root@odroid:~/node# gdb --args node GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from node...done. (gdb) run Starting program: /root/node/node [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". Program received signal SIGILL, Illegal instruction. 0x00235bc8 in _armv7_tick () (gdb) bt #0 0x00235bc8 in _armv7_tick () #1 0x0017684c in OPENSSL_cpuid_setup () #2 0x00444dfe in __libc_csu_init () #3 0xb6d815ee in __libc_start_main (main=0x176a59 , argc=1, argv=0xbefff644, init=0x444dd1 <__libc_csu_init>, fini=0x444e11 <__libc_csu_fini>,
#4 0x00176bfc in _start () (gdb) Fedor, where do you live? You are awake all the time? Cordialement Lutz BICKHARDT 23/25, av. L?opold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com @lutzbickhardthttps://github.com/lutzbickhardt sorry, but I still need to see a bt output from that v8 assertion... Would you please mind trying to update it from gdb and paste here? Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-53852489. |
|
I have no idea what you are doing, but this is what I got (sort of expected): root@odroid:~/node# gdb --args ./out/Debug/node GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... ./out/Debug/node: No such file or directory.? Cordialement Lutz BICKHARDT 23/25, av. L?opold II, F-75016 Paris, France SKYPE: bickhardt De : Fedor Indutny notifications@github.com
Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-53862910. |
Aaaah, sorry. I just realized that it has failed during build... oh gosh... |
@lutzbickhardt I'm sorry to say this, but I have failed to find any solution that would fix the issue for you. The only thing that I could do for you is #8304 . Could you please try building node.js with this patch, but configuring it with |
Thanks for the effort... hmmm; same thing (see below). What did I do wrong? root@odroid:~/node# make clean rm -rf out/Makefile node node_g out/Release/node blog.html email.md find out/ -name '.o' -o -name '.a' | xargs rm -rf rm -rf node_modules root@odroid:~/node# ./configure --openssl-no-asm { 'target_defaults': { 'cflags': [],
'variables': { 'arm_fpu': 'vfpv3',
creating ./config.gypi creating ./config.mk root@odroid:~/node# make make -C out BUILDTYPE=Release V=1 make[1]: Entering directory `/root/node/out' 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 -g --std=gnu89 -pedantic -Wall -Wextra -Wno-unused-parameter -O2 -fno-strict-aliasing -fno-tree-vrp -fno-omit-frame-pointer -MMD -MF /root/node/out/Release/.deps//root/node/out/Release/obj.target/cares/deps/cares/src/ares_cancel.o.d.raw -c -o /root/node/out/Release/obj.target/cares/deps/cares/src/ares_cancel.o ../deps/cares/src/ares_cancel.c .... ps/openssl/libopenssl.a /root/node/out/Release/obj.target/deps/zlib/libchrome_zlib.a /root/node/out/Release/obj.target/deps/http_parser/libhttp_parser.a /root/node/out/Release/obj.target/deps/cares/libcares.a /root/node/out/Release/obj.target/deps/uv/libuv.a /root/node/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a /root/node/out/Release/obj.target/deps/v8/tools/gyp/libv8_snapshot.a -Wl,--end-group -lm -ldl -lrt LINK(target) /root/node/out/Release/node: Finished make[1]: Leaving directory `/root/node/out' ln -fs out/Release/node node root@odroid:~/node# sudo make install make -C out BUILDTYPE=Release V=1 make[1]: Entering directory `/root/node/out' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/root/node/out' ln -fs out/Release/node node /usr/bin/python tools/install.py install installing /usr/local/bin/node ... installing /usr/local/include/node/v8.h installing /usr/local/include/node/zconf.h installing /usr/local/include/node/zlib.h root@odroid:~/node# node Segmentation fault root@odroid:~/node# gdb --args node GNU gdb (Ubuntu 7.7-0ubuntu3.1) 7.7 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from node...done. (gdb) run Starting program: /root/node/node [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [New Thread 0xb6fde450 (LWP 4053)] Program received signal SIGSEGV, Segmentation fault. 0x00000000 in ?? () (gdb) bt #0 0x00000000 in ?? () #1 0x47b0a15c in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb) ? Reply to this email directly or view it on GitHubhttps://github.com//issues/8062#issuecomment-54142268. |
Hm... I have no idea! :) But I think it is unrelated to OpenSSL changes. May be @TooTallNate has some ideas? |
see #8062 Reviewed-By: Trevor Norris <trev.norris@gmail.com>
@indutny So which of the branches of node on your github contains most of these fixes? There are so many it's hard to keep track of them. :) |
I think all of them has landed into v0.10 branch of joyent/node |
see nodejs#8062 Reviewed-By: Trevor Norris <trev.norris@gmail.com>
When I run
I get the error
This happens on all 3 Raspberry Pis that I have running the latest version of Raspbian.
The text was updated successfully, but these errors were encountered: