I've attempted (using my limited Linux skillset) to cross-compile the NTFS-3G drivers for Angstrom Linux running on an ARMv7 platform.
I tried the following configure
thinking that it worked:
./configure --target=arm-angstrom-linux-gnueabihf --host=arm-angstrom-linux-gnueabi --prefix=/dev/build_ntfs
make
sudo make install
I then copied the resulting installation onto the rootfs of my embedded platform only to find that when I execute one of the tools built with NTFS-3G, I get the following error:
ntfsls: cannot execute binary file: Exec format error
When I do file ntfsls
, it comes back with:
ntfsls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically
linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24,
BuildID[sha1]=4eeb3c06c20046bedf70df6c774e32ddc89c097c, not stripped
Now obviously when I've done the configure, it hasn't picked up on the cross compiler. If I try file
on another tool, such as minicom:
file minicom
The result is:
minicom: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically
linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32,
BuildID[sha1]=85d16f083bb06935bff73c248341a8d5fe22cdab, stripped
Which is clearly definitely built for ARM.
My question is, in which step have I failed to target the ARM platform?