Package Details: xtensa-esp32-elf-gcc 10.1.0-3

Git Clone URL: https://aur.archlinux.org/xtensa-esp32-elf-gcc.git (read-only, click to copy)
Package Base: xtensa-esp32-elf-gcc
Description: The GNU Compiler Collection - cross compiler for xtensa esp32 (bare-metal) target
Upstream URL: https://gcc.gnu.org/
Licenses: GPL, LGPL, FDL
Submitter: baltazar
Maintainer: baltazar
Last Packager: baltazar
Votes: 0
Popularity: 0.000000
First Submitted: 2020-05-08 08:03
Last Updated: 2020-05-13 12:27

Pinned Comments

baltazar commented on 2020-05-08 08:25

cannot find crt1-sim.o: No such file or directory
cannot find _vectors.o: No such file or directory
cannot find -lsim
cannot find -lhandlers-sim
cannot find -lhal

If you get the above linker errors, use LDFLAGS from esp-idf:

LDFLAGS='-nostdlib -u call_user_start_cpu0 -Wl,--gc-sections -static -lgcc -lstdc++ -lgcov'

Latest Comments

baltazar commented on 2020-05-13 13:25

There you go, I have just published xtensa-esp32-elf-gcc-bootstrap.

baltazar commented on 2020-05-13 12:22

Turns out it was a bug in the sdk's code, this gcc should be fine.

baltazar commented on 2020-05-13 10:48

@lesto I thought those packages worked, sorry. I don't think building a dumb package if newlib is not installed is the proper solution, I'd rather create a separate bootstrap gcc package. I'll try to publish it later this day.

Also note, that currently it doesn't seem to be compatible with the esp32 sdk downloaded by arduino: when trying to compile a project with this gcc, I get errors for mismatching size_t sizes or something like that, I believe short, int, and long are the wrong size somehow, still trying to figure it out.

lesto commented on 2020-05-13 10:18

thanks, the xtensa-esp32-elf-gcc-bin does not build as require python2 packages that had been removed (python2-pyelftools), should upgraded to python2-pyelftools-git. Also not sure this will work nicely with aur package manager as they will try to install the build and fail as the files already exist from filesystem.

I am trying to do the dance, removed -newlib from dependency and the like -with-libelf \

but i still get compilation issue about

The directory that should contain system headers does not exist:
  /usr/xtensa-esp32-elf/include

My proposal is, since newlib is optional, if newlib is not found, this build "dumb". Then I can install newlib, and force to reinstall gcc (I am waiting for an answer from an official packet manager to know what should be the proper way)

baltazar commented on 2020-05-12 03:20

@lesto That is not a mistake, gcc and newlib do require each other to build. The usual solution is to first make a "dumb gcc" without a dependency for newlib, then you can play the gcc dance: build newlib with the dumb gcc, use that to build the actual gcc, then rebuild newlib and gcc (tbh I'm not sure which of the two last rebuilds are necessary but you should do them just for good measure). I could create a xtensa-esp32-gcc-bootstrap package, but gcc-xtensa-esp32-elf-bin and xtensa-esp32-elf-gcc-bin packages provide prebuilt (and outdated) gcc's, both should suffice as a dumb gcc.

lesto commented on 2020-05-11 22:38

looks like there is a circular dependency between xtensa-esp32-elf-newlib and xtensa-esp32-elf-gcc

baltazar commented on 2020-05-08 08:25

cannot find crt1-sim.o: No such file or directory
cannot find _vectors.o: No such file or directory
cannot find -lsim
cannot find -lhandlers-sim
cannot find -lhal

If you get the above linker errors, use LDFLAGS from esp-idf:

LDFLAGS='-nostdlib -u call_user_start_cpu0 -Wl,--gc-sections -static -lgcc -lstdc++ -lgcov'