Build 4diac FORTE for Multiple Target (aarch64, aarch64 with musl, x86_64, x86_w64) on WSL [message #1863266] |
Sat, 20 January 2024 12:28  |
Eclipse User |
|
|
|
Build 4diac FORTE for Multiple Target on WSL
Meanwhile, this is for the Raspberry Pi 4B and Windows targets, although I have also done it for the Ubuntu 20.04 server.
I wrote it as personal blog content but you can asking related questions here.
UPDATE:
I decided to upgrade Ubuntu WSL from 22.04 LTS "Jammy Jellyfish" to 24.04 LTS "Noble Numbat" to use gcc-mingw-w64 and g++-mingw-w64 packages from Ubuntu distribution but had a problem with FORTE that compilation result did not run without any error message. In order for FORTE compilation results run successfully we have to change gcc and g++ thread model from default win32 to posix, do the following:
$ sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
$ sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
UPDATE:
Upgrade to Ubuntu 24.04 make me feel stupid because the compilation result for Raspberry doesn't work anymore with an error message "/lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found" even though I compiled using gcc version 11. Incompatible libc version!
I suggest sticking with Ubuntu version 22.04 or switch to GNU toolchain from Arm but then requires an adjustments in compilation: change compiler from aarch64-linux-gnu-* to aarch64-none-linux-gnu-*
$ cd
$ wget -c https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
$ tar xvf arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
$ export PATH=$HOME/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin:$PATH
UPDATE:
Attached 2 patch to fix modbus build and com raw layer to fix MQTT data publishing/subscribing.
[Updated on: Thu, 01 February 2024 05:49] by Moderator
|
|
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03362 seconds