On Mon, May 11, 2015 at 8:25 PM, Fabrício Lélis <[email protected]> wrote: > I' ve tried to make cross compiling node.js but I get this error: > ./node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.15' not found > (required by ./node) > > This is my script: > > #!/bin/sh -e > 2 > 3 #Define our target device > 4 export TARGET_ARCH="-armhf" > 5 export TARGET_TUNE="-mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp > -mthumb-interwork -mno-thumb" > 6 > 7 #Define the cross compilators on your system > 8 export AR="arm-linux-gnueabihf-ar" > 9 export CC="arm-linux-gnueabihf-gcc-4.7" > 10 export CXX="arm-linux-gnueabihf-g++-4.7" > 11 export LINK="arm-linux-gnueabihf-g++-4.7" > 12 export CPP="arm-linux-gnueabihf-gcc-4.7 -E" > 13 export LD="arm-linux-gnueabihf-ld" > 14 export AS="arm-linux-gnueabihf-as" > 15 export CCLD="arm-linux-gnueabihf-gcc-4.7 ${TARGET_ARCH} ${TARGET_TUNE}" > 16 export NM="arm-linux-gnueabihf-nm" > 17 export STRIP="arm-linux-gnueabihf-strip" > 18 export OBJCOPY="arm-linux-gnueabihf-objcopy" > 19 export RANLIB="arm-linux-gnueabihf-ranlib" > 20 export F77="arm-linux-gnueabihf-g77 ${TARGET_ARCH} ${TARGET_TUNE}" > 21 unset LIBC > 22 > 23 #Define flags > 24 export CXXFLAGS="-march=armv7-a" > 25 export LDFLAGS="-L${CSTOOLS_LIB} -Wl,-rpath-link,${CSTOOLS_LIB} -Wl,-O1 > -Wl,--hash-style=gnu" > 26 export CFLAGS="-isystem${CSTOOLS_INC} -fexpensive-optimizations > -frename-registers -fomit-frame-pointer -O2 -ggdb3" > 27 export CPPFLAGS="-isystem${CSTOOLS_INC}" > 28 export CCFLAGS="-march=armv7-a" > 29 > 30 #Tools > 31 export CSTOOLS=/usr/arm-linux-gnueabihf > 32 export CSTOOLS_INC=${CSTOOLS}/include > 33 export CSTOOLS_LIB=${CSTOOLS}/lib/hf > 34 export ARM_TARGET_LIB=$CSTOOLS_LIB > 35 export GYP_DEFINES="armv7=1" > 36 > 37 #Define other things, those are not 'must' to have defined but we added > 38 export SHELL="/bin/bash" > 39 export TERM="screen" > 40 export LANG="en_US.UTF-8" > 41 export MAKE="make" > 42 > 43 #Export the path for your system > 44 export HOME="/home/fabricio" #Change this one with the name of your user > directory > 45 export > PATH="${CSTOOLS}/bin:/usr/arm-linux-gnueabihf/bin/:${HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" > 46 > 47 ./configure --without-snapshot --dest-cpu=arm --dest-os=linux > --with-arm-float-abi=softfp > 48 > 49 bash --norc > > Thanks!
The toolchain on the host system compiled the binary against a newer version of glibc than what is installed on the target system. You can try pinning library functions with .symver directives[0] but ideally you should make the toolchain match the target. [0] http://stackoverflow.com/a/5977518 -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/CAHQurc-RoJTXz1nNj9aGWtcF_SDE-j6fq51X%2BDuCfWwBhnVc4w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
