In fedora 23, there are cross compilers available in the repos. For example:
gcc-aarch64-linux-gnu.i686 : Cross-build binary utilities for aarch64-linux-gnu gcc-c++-aarch64-linux-gnu.i686 : Cross-build binary utilities for : aarch64-linux-gnu binutils-aarch64-linux-gnu.i686 : Cross-build binary utilities for : aarch64-linux-gnu
But, there are no cross libraries apparently. Is there some standard way people get libraries for cross development?
On Thu, 28 Jan 2016 17:32:34 -0600 (CST) Michael Hennebry wrote:
I suspect that this deprives the linker of necessary information.
Yea, the linker still needs to know about the libraries (and the compiler also needs associated header files which are generally part of the -devel packages).
Static libraries do not seem to even be an option anymore:
Actually they are, but they are now packaged separately in *-static rpms you need to explicitly load.
On Thu, 28 Jan 2016, Tom Horsley wrote:
In fedora 23, there are cross compilers available in the repos. For example:
gcc-aarch64-linux-gnu.i686 : Cross-build binary utilities for aarch64-linux-gnu gcc-c++-aarch64-linux-gnu.i686 : Cross-build binary utilities for : aarch64-linux-gnu binutils-aarch64-linux-gnu.i686 : Cross-build binary utilities for : aarch64-linux-gnu
But, there are no cross libraries apparently. Is there some standard way people get libraries for cross development?
My guess is no. Shared libraries are probably the reason. The assumption would be that since shared libraries are only used while the program is running, there is no need for them on a machine that cannot run your code. Given your post, I suspect that this deprives the linker of necessary information.
Static libraries do not seem to even be an option anymore: gcc -march=native -o libtest libtest.c -static -lm cannot find -lm Without -static, links just fine.