* Issues cross-compiling arm with QMK
@ 2024-03-09 17:50 Kristoffer Ström
2024-03-09 23:54 ` Ekaitz Zarraga
0 siblings, 1 reply; 2+ messages in thread
From: Kristoffer Ström @ 2024-03-09 17:50 UTC (permalink / raw)
To: help-guix
When trying to compile keyboard firmware using the qmk toolkit, i run
into this error:
./lib/pico-sdk/src/rp2_common/hardware_base/include/hardware/address_mapped.h:94:19: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
uint32_t rc = (uintptr_t)addr;
Which seems to me to indicate that the cross-toolchain is trying to
produce 64-bit binaries.
i based my build shell manifest off of
https://github.com/mrvdb/qmk_atreus which is an avr-based board and
replacing (make-avr-toolchain) with
(make-arm-none-eabi-nano-toolchain-x), i have tried all available
versions.
Is there a way to specify a toolchain for cross-compiling into 32bit arm
binaries?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Issues cross-compiling arm with QMK
2024-03-09 17:50 Issues cross-compiling arm with QMK Kristoffer Ström
@ 2024-03-09 23:54 ` Ekaitz Zarraga
0 siblings, 0 replies; 2+ messages in thread
From: Ekaitz Zarraga @ 2024-03-09 23:54 UTC (permalink / raw)
To: Kristoffer Ström, help-guix
Hi Kristoffer,
On 2024-03-09 18:50, Kristoffer Ström wrote:
>
> When trying to compile keyboard firmware using the qmk toolkit, i run
> into this error:
>
> ./lib/pico-sdk/src/rp2_common/hardware_base/include/hardware/address_mapped.h:94:19: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
>
> uint32_t rc = (uintptr_t)addr;
>
>
> Which seems to me to indicate that the cross-toolchain is trying to
> produce 64-bit binaries.
>
> i based my build shell manifest off of
> https://github.com/mrvdb/qmk_atreus which is an avr-based board and
> replacing (make-avr-toolchain) with
> (make-arm-none-eabi-nano-toolchain-x), i have tried all available
> versions.
>
> Is there a way to specify a toolchain for cross-compiling into 32bit arm
> binaries?
You should use `(make-arm-none-eabi-toolchain-*whatever*)` but I have
bad news.
There are *many* issues with this. I reported this a while ago:
https://lists.gnu.org/archive/html/help-guix/2023-09/msg00087.html
And many other people did more questions after that:
https://lists.gnu.org/archive/html/guix-devel/2023-12/msg00180.html
But I didn't manage to fix this yet.
In fact, I found similar issues in other architectures, mostly because
all of them share the same problem:
https://issues.guix.gnu.org/69394
Maybe making a Guix package which has your firmware as an output might
work, at this very moment, the problem is our modified GCCs are unable
to find the proper libraries and they explode.
I can't fix this, and it's affecting me severely and I feel a little bit
helpless about it... I don't know what we should do.
I might organize in the near future and make my own toolchain like the
one shown in the second link to fix my personal issue and start helping
everyone that reports this... But at the moment there's not much I can do.
Maybe someone else can help better.
I'll try to keep an eye in this subject, but if you fix it, please let
me know.
Best,
Ekaitz
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-03-09 23:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-09 17:50 Issues cross-compiling arm with QMK Kristoffer Ström
2024-03-09 23:54 ` Ekaitz Zarraga
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.