Hello I'm using Emdebian grip on mini2440, and codesourcery g++ compiler on host computer. When i'm build simple C++ hello world application I've got error: ./hello: /usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found (required by ./hello) In host /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/lib I have libstdc++.so.6.0.10. In mini2440 : /usr/lib/libstdc++.so.6.0.10 so the same version ? I try to copy from mini2440 /usr/lib/libstdc++.so.6.0.10 to codesourcery path but I think libstdc++.a is different. So I try to copy lib from host to mini2440, but I've got 'Illegal instruction'. Thanks
libstdc++ problem
Hi, after looking to surces of emdebian ld.conf.so directory contain 2 files which point to /usr/local/lib and /lib/arm-linux-gnueabi;/usr/lib/arm-linux-gnueabi. Could you try ldconfig or move your libstdc++ to usr/local/lib? Thanks
ldconfig command is not present in grip Emdebian. $cat /etc/ld.so.conf include /etc/ld.so.conf.d/*.conf $cat /etc/ld.so.conf.d/* # Multiarch support /lib/arm-linux-gnueabi /usr/lib/arm-linux-gnueabi # libc default configuration /usr/local/lib I try from host /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/lib/libstdc++.so.6.0.10 to mini2440 /usr/local/lib/libstdc++.so.6.0.10, but in this case I have 'Illegal instruction'. Thanks
Are you sure you link your hello app. against libstdc++ for ARM? Please post your makefile or command for building. Emdebian has libstdc++ installed in /usr/lib so I suppose you link against host library.
hello.cpp ______________________________________________ #include <iostream> int main(int argc, char** argv) { std::cout << "Hello" << std::endl; return 0; } ______________________________________________ $arm-linux-g++ hello.cpp -o hello $file hello hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped Copy hello to mini2440 $ldd hello ./hello: /usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found (required by ./hello) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x40026000) libm.so.6 => /lib/libm.so.6 (0x40101000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x401ae000) libc.so.6 => /lib/libc.so.6 (0x401c2000) /lib/ld-linux.so.3 (0x40000000)
Try to look at: http://www.codesourcery.com/archives/arm-gnu/msg02933.html Maybee try to build with toolchain provided by emdebian.
I'm so stupid $ cd /usr/local/arm/4.3.2/ $ find . | grep libstdc++.so.6.0.10 ./arm-none-linux-gnueabi/libc/thumb2/usr/lib/libstdc++.so.6.0.10 ./arm-none-linux-gnueabi/libc/armv4t/usr/lib/libstdc++.so.6.0.10 ./arm-none-linux-gnueabi/libc/usr/lib/libstdc++.so.6.0.10 So I work with /arm-none-linux-gnueabi/libc/armv4t/usr/lib/libstdc++.so.6.0.10 Thanks, Be I'm insteresting in toolchain provided by emdebian, I'm going to look some tutorial to use it.
/opt/maemo/usr/sbin/extundelete: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory