I also tried to cross compile Node.js v0.10.21 for an arm platform called armadeus, following instructions given by Nathan here :
armadeus-5.2/buildroot/output/host/usr/bin/arm-linux-gcc
'-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE'
'-DHAVE_CONFIG_H' -I../deps/uv/include -I../deps/uv/include/uv-private
-I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -pthread
-g --std=gnu89 -pedantic -Wall -Wextra -Wno-unused-parameter
-Wstrict-aliasing -O2 -fno-strict-aliasing -fno-tree-vrp -fno-tree-sink
-MMD -MF /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/.deps//home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/udp.o.d.raw -c -o /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/udp.o ../deps/uv/src/unix/udp.c
/home/thomas/Armadeus/armadeus-5.2/buildroot/output/host/usr/bin/arm-linux-gcc
'-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE'
'-DHAVE_CONFIG_H' -I../deps/uv/include -I../deps/uv/include/uv-private
-I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -pthread
-g --std=gnu89 -pedantic -Wall -Wextra -Wno-unused-parameter
-Wstrict-aliasing -O2 -fno-strict-aliasing -fno-tree-vrp -fno-tree-sink
-MMD -MF /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/.deps//home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/proctitle.o.d.raw -c -o /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/proctitle.o ../deps/uv/src/unix/proctitle.c
/home/thomas/Armadeus/armadeus-5.2/buildroot/output/host/usr/bin/arm-linux-gcc
'-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE'
'-DHAVE_CONFIG_H' -I../deps/uv/include -I../deps/uv/include/uv-private
-I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -pthread
-g --std=gnu89 -pedantic -Wall -Wextra -Wno-unused-parameter
-Wstrict-aliasing -O2 -fno-strict-aliasing -fno-tree-vrp -fno-tree-sink
-MMD -MF /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/.deps//home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/linux-core.o.d.raw -c -o /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/linux-core.o ../deps/uv/src/unix/linux-core.c
../deps/uv/src/unix/linux-core.c:46:22: attention : ifaddrs.h : No such file or directory
../deps/uv/src/unix/linux-core.c: In function ‘uv_interface_addresses’:
../deps/uv/src/unix/linux-core.c:626: attention : implicit declaration of function ‘getifaddrs’
../deps/uv/src/unix/linux-core.c:633: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:634: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:634: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:635: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:636: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:651: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:653: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:653: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:657: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:665: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:669: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:671: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:672: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:674: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:677: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:682: attention : implicit declaration of function ‘freeifaddrs’
make[1]: *** [/home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/linux-core.o] Error 1
make[1]: Leaving directory `/home/thomas/Bureau/serveurWeb/node-v0.10.21/out'
make: *** [node] Error 2
thomas@thomas-laptop:~/Bureau/serveurWeb/node-v0.10.21$ make
make -C out BUILDTYPE=Release V=1
make[1]: Entering directory `/home/thomas/Bureau/serveurWeb/node-v0.10.21/out'
/home/thomas/Armadeus/armadeus-5.2/buildroot/output/host/usr/bin/arm-linux-gcc
'-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE'
'-DHAVE_CONFIG_H' -I../deps/uv/include -I../deps/uv/include/uv-private
-I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -pthread
-g --std=gnu89 -pedantic -Wall -Wextra -Wno-unused-parameter
-Wstrict-aliasing -O2 -fno-strict-aliasing -fno-tree-vrp -fno-tree-sink
-MMD -MF /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/.deps//home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/linux-core.o.d.raw -c -o /home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/linux-core.o ../deps/uv/src/unix/linux-core.c
../deps/uv/src/unix/linux-core.c:46:22: attention : ifaddrs.h : No such file or directory
../deps/uv/src/unix/linux-core.c: In function ‘uv_interface_addresses’:
../deps/uv/src/unix/linux-core.c:626: attention : implicit declaration of function ‘getifaddrs’
../deps/uv/src/unix/linux-core.c:633: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:634: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:634: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:635: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:636: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:651: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:653: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:653: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:657: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:665: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:669: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:671: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:672: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:674: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:677: erreur: déréférencement d'un pointeur de type incomplet
../deps/uv/src/unix/linux-core.c:682: attention : implicit declaration of function ‘freeifaddrs’
make[1]: *** [/home/thomas/Bureau/serveurWeb/node-v0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/linux-core.o] Error 1
make[1]: Leaving directory `/home/thomas/Bureau/serveurWeb/node-v0.10.21/out'
make: *** [node] Error 2
As it says that ifaddrs.h is missing I tried to use the following configuration :
./configure --without-snapshot --dest-cpu=arm --dest-os=linux ‐‐no‐ifaddrs
But it doesn't change anything.
Here after my exports:
export CC=~/Armadeus/armadeus-5.2/
buildroot/output/host/usr/bin/arm-linux-gcc
export AR=~/Armadeus/armadeus-5.2/buildroot/output/host/usr/bin/arm-linux-ar
export CXX=~/Armadeus/armadeus-5.2/buildroot/output/host/usr/bin/arm-linux-g++
export LINK=~/Armadeus/armadeus-5.2/buildroot/output/host/usr/bin/arm-linux-g++
Thanks in advance for your advices