libstdc++.so.6 not found

45 views
Skip to first unread message

Vlanov Mitnov

unread,
Jan 17, 2017, 8:25:31 AM1/17/17
to BeagleBoard
Hello. I try to use cross compilation under windows.
My board is BeagleBone Black with Angstrom.
I downloaded toolchain from http://sysprogs.com/files/gnutoolchains/beaglebone/beaglebone-gcc4.7.3.exe.
If I compile programm with gcc, after deploing I can run it with out problems. If i use g++, after deploing I
receive libstdc++.so.6 not found.
I search this library on board it is exiest.
If i compile the same program directly on board using g++ it runs perfectly.

If I use ldd on programm compiled on windows mashine, ldd writes libstdc++.so.6 not found.
If I use ldd on programm that compiled on board ldd shows pathes to librarys.

I checked /etc/ld.so.conf all possible pathes is writen.
I tryed to copy libstdc++.so.6 to angsterm library pathes, but it is still not found after run programm.
Do you have any ideas?

Graham

unread,
Jan 17, 2017, 12:40:51 PM1/17/17
to BeagleBoard
Two possibilities ...

(1.)
The file  libstdc++.so.6 you found is actually an Intel shared-object file and not an ARM shared-object file,
The file names are the same, but the files are very different, since compiled for different target computers.

To cross compile in a Windows environment, you need a full set of the ARM shared-object files
to link to.  The ARM computer/executables/ can not see an Intel shared-object file,

So you may have some kind of mixed environment problem with your cross-compiler set-up.


(2.)
Could be a Linux permissions/ownership problem.
Likely in one case, the file is owned by 'root', and in the other case, file is owned by a user.
Examine the all files and the executables using    ls -al
change the ownership with chown if necessary.

--- Graham

==
Reply all
Reply to author
Forward
0 new messages