-
Notifications
You must be signed in to change notification settings - Fork 30.2k
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
execinfo.h error when compiling Node v6.4.0 for OpenWrt MIPS platform #8233
Comments
What libc are you compiling against? On linux, node.js only includes execinfo.h when it's targeting glibc, which has that header. What does |
Hi it outputs:
|
What about libc? Is it glibc or uclibc? |
I am just starting with OpenWrt and I am not really deep into it, but I believe OpenWrt toolchain uses uclibc... |
Can you try applying this patch and see how it goes? My working theory is that your features.h defines diff --git a/src/backtrace_posix.cc b/src/backtrace_posix.cc
index 231cc03..8fd7987 100644
--- a/src/backtrace_posix.cc
+++ b/src/backtrace_posix.cc
@@ -4,7 +4,9 @@
#include <features.h>
#endif
-#if defined(__linux__) && !defined(__GLIBC__) || defined(_AIX)
+#if defined(__linux__) && !defined(__GLIBC__) || \
+ defined(__UCLIBC__) || \
+ defined(_AIX)
#define HAVE_EXECINFO_H 0
#else
#define HAVE_EXECINFO_H 1 |
Hi again @bnoordhuis , sorry for the delay... I actually tried your patch and it moved on quite further in the crosss compilation process but it failed not at this spot...
|
It seems that it is possible with some toolchains for both `__GLIBC__` and `__UCLIBC__` to be defined, confusing our "do we have execinfo.h?" logic. Assume that when `__UCLIBC__` is defined, we are dealing with a libc that does not have execinfo.h. Fixes: nodejs#8233 PR-URL: nodejs#8308 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
It seems that it is possible with some toolchains for both `__GLIBC__` and `__UCLIBC__` to be defined, confusing our "do we have execinfo.h?" logic. Assume that when `__UCLIBC__` is defined, we are dealing with a libc that does not have execinfo.h. Fixes: nodejs#8233 PR-URL: nodejs#8308 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
It seems that it is possible with some toolchains for both `__GLIBC__` and `__UCLIBC__` to be defined, confusing our "do we have execinfo.h?" logic. Assume that when `__UCLIBC__` is defined, we are dealing with a libc that does not have execinfo.h. Fixes: #8233 PR-URL: #8308 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Hi guys, I am trying to cross compile Node v6.4.0 for MT7620 MIPS platform using the OpenWrt 15.05.1 toolchain. I cannot get it to complete successfully and always get error:
../src/backtrace_posix.cc:16:22: fatal error: execinfo.h: No such file or directory #include <execinfo.h>
I am also attaching my install script that I use to cross compile node... Any thoughts?
Install Script:
The text was updated successfully, but these errors were encountered: