Closed probonopd closed 2 years ago
Does circle-stdlib have some hidden Linux dependencies?
Probably. From my side a build has never been tested on other platforms apart from Linux.
The build errors related to make/gmake happen in the Circle build that is started from the circle-stdlib build, so you would have to ask @rsta2 about that. I guess make
needs to be replaced with $(MAKE)
in all the Makefiles to fix this.
I will later today take a look at where the conflicting types come from. The configure
script has an option -s <path>, --stddefpath <path>
that might be relevant for determining the location of the correct stddef.h
header. It may also be a problem caused by a different gcc cross compiler on FreeBSD.
These type redefinition problems sound similar to what was described here:
https://github.com/rsta2/circle/issues/97
Maybe there's somewhere a 32-bit/64-bit mismatch.
Thanks, will build on Linux for now. Your decision whether you want to keep this ticket open.
I have personally no ambitions to make the build work under FreeBSD, but of course I would accept corresponding pull requests.
OK, thanks for the clarification.
Does circle-stdlib have some hidden Linux dependencies?
I tried to compile it on FreeBSD but ran into some issues. I am not saying that FreeBSD support is a must have but maybe my notes can be useful for removing unintended Linux-isms and/or for others trying to compile it on FreeBSD.
My findings:
gmake
command instead). I have not found a proper way to tell the circle build system to usegmake
instead ofmake
throughoutdevel/gcc-arm-embedded
FreeBSD package, notdevel/arm-none-eabi-gcc
, and one has toexport PATH=/usr/local/gcc-arm-embedded-10-2020-q4-major/bin/:$PATH
circle-stdlib/libs/circle/include/circle/types.h:50:16: error: conflicting declaration 'typedef long int ssize_t'
Probably this is related to me trying to compile on FreeBSD. So:
Compilation proceeds much further but then stops with
https://forums.freebsd.org/threads/raspberry-pi-pico.79394/page-2 advises deleting the
arm-none-eabi
package and replacing it withgcc-arm-embedded
but when I do this I get:On we go:
It seems like it is using
make
instead ofgmake
again...So getting desparate now, this is most likely NOT the correct way to do this...
Compilation continues but eventually ends with.