[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cross compiling gsl for arm cortex M4 (nrf52)
From: |
Mark Galassi |
Subject: |
Re: cross compiling gsl for arm cortex M4 (nrf52) |
Date: |
Tue, 19 Sep 2023 10:49:43 -0600 |
Dear GSL bug followers,
Julius and I just had a session where we shared screens from Austria to New
Mexico and figured it out. This might be interesting to others who
cross-compile gsl, so I'll show you the final bit that was missing.
After setting C_INCLUDE_PATH and other paths correctly, Julius was running this
configure line:
./configure CC=/usr/local/gcc/bin/arm-none-eabi-gcc
CXX=/usr/local/gcc/bin/arm-none-eabi-gcc
LD=/usr/local/gcc/bin/arm-none-eabi-gcc AR=/usr/local/gcc/bin/arm-none-eabi-ar
OBJCOPY=/usr/local/gcc/bin/arm-none-eabi-objcopy
CFLAGS="-I/crosscompilearea/gsl-2.7.1/gsl -mthumb -march=armv7e-m
-mfpu=fpv4-sp-d16 -mfloat-abi=soft" CXXFLAGS="-mthumb -march=armv7e-m
-mfpu=fpv4-sp-d16 -mfloat-abi=soft" LDFLAGS="-I/crosscompilearea/gsl-2.7.1/gsl
--specs=nano.specs --specs=nosys.specs -mthumb -march=armv7e-m
-mfpu=fpv4-sp-d16 -mfloat-abi=soft"
C_INCLUDE_PATH=“/crosscompilearea/gsl-2.7.1/gsl" --target=arm-none-eabi
--host=arm-none-eabi
Notice how you specify the Makefile variables CC, CXX, LD, AR, OBJCOPY, CFLAGS.
It turns out that you get *most* of the way there, but not all the way: the
"ranlib" program also gets called in cross-compiling, and his computer's native
ranlib was being called instead of the cross-compiling one for his target ARM
architecture.
Once he put:
RANLIB=/usr/local/gcc/bin/arm-none-eabi-ranlib
to that litany it worked.