Hi list,
this is more a c compile chain question, not a Pd question, I hope you forgive.
I'm new to cross compiling. What I want is to compile Pd for Armv7. After reading through documentation I came this far:
sudo apt install arm-linux-gnueabi-gcc
export CFLAGS="-march=armv7+simd" CC=arm-linux-gnueabi-gcc
./configure --host=arm-linux-gnueabi-gcc
this results in: checking host system type... Invalid configuration `arm-linux-gnueabi-gcc': machine `arm-linux-gnueabi' not recognized
with ./configure --host=arm-linux it goes a bit further
checking host system type... arm-unknown-linux-gnu checking for arm-linux-gcc... no
surely there is something obvious I am missing here.
m.
On 5/10/20 4:40 PM, Max wrote:
./configure --host=arm-linux-gnueabi-gcc
you are passing the compiler as the target-architecture. not going to work.
this results in: checking host system type... Invalid configuration `arm-linux-gnueabi-gcc': machine `arm-linux-gnueabi' not recognized
with ./configure --host=arm-linux it goes a bit further
checking host system type... arm-unknown-linux-gnu checking for arm-linux-gcc... no
so you passed "arm-linux" as the target-arch and configure looks for a compiler named "arm-linux-gcc". you know that your compiler is arm-linux-gnueabi-gcc. does that ring a bell?
surely there is something obvious I am missing here.
./configure --host=arm-linux-gnueabi
also, rather than exporting envvars (CC, CFLAGS), you should probably pass them as flags to configure:
./configure --host=arm-linux-gnueabi CFLAGS="-march=armv7+simd"
(no need to set CC, as configure does that for you via the "--host" flag. passing CFLAGS as argument will make it local to the build-toolchain)
gfsadr IOhannes
PS: all of the above is not specific to Pd, but applies to virtually all autotools projects; remember it if you intend to cross-compile other stuff.
I was hoping for this informative burn by IOhannes. :)
jokes aside, just in case anyone find this thread in the future, here is what we did (no guarantee it is the sane thing to do but you get an armv7 binary):
sudo dpkg --add-architecture armhf sudo add-apt-repository "deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu/ $(lsb_release -s -c) main restricted universe multiverse" sudo add-apt-repository "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ $(lsb_release -s -c)-updates main restricted universe multiverse" sudo add-apt-repository "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ $(lsb_release -s -c)-backports main restricted universe multiverse" sudo add-apt-repository "deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu $(lsb_release -s -c)-security main restricted universe multiverse"
sudo add-apt-repository "deb [arch=arm64,armhf,ppc64el,s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -s -c) main restricted universe multiverse" sudo add-apt-repository "deb [arch=arm64,armhf,ppc64el,s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -s -c)-updates main restricted universe multiverse" sudo add-apt-repository "deb [arch=arm64,armhf,ppc64el,s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -s -c)-updates main restricted universe multiverse" sudo add-apt-repository "deb [arch=arm64,armhf,ppc64el,s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -s -c)-security main restricted universe multiverse"
then there are some duplicated ones which need to be commented out...
sudo apt install crossbuild-essential-armhf sudo apt install tk8.6:armhf libasound2-dev:armhf
./autogen.sh ac_cv_func_realloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes ./configure --host=arm-linux-gnueabihf --prefix=$PWD/installdir --disable-portaudio --disable-mmio --disable-oss # --enable-jack --enable-fftw make make install
On 10.05.20 20:46, IOhannes m zmölnig wrote:
On 5/10/20 4:40 PM, Max wrote: