I bought ESP 8266 ( ESP 01 ESP 8266) online as I wanted to start development from scratch (direct flash from laptop instead of using arduino, not to use rtos but as much baremetal as possible). As per documentation available online (The Espressif officially has only one document for getting started and setup which is incomplete especially for non os sdk setup), I followed instructions to use a git repository (not espressif) to build the cross platform toolchain. After trying out various solutions which all point majorly to a couple of github repos to build toolchain, I observed the build doesn't work off the shelf. Have been struggling setting things up for a few days.

I got the git repo from xxxx for crosstool-NG. Did execute instructions as mentioned - bootstrap, configure, make, make install and then got the executable script generated ct-ng.

ct-ng build gives a lot of errors and I kept on working around the errors till one where I am not able to proceed further where the host doesn't support BFD. Yet to figure out disabling BFD library option. Basically, I could not yet setup gcc for xtensa-lx106-elf.

Error excerpt below -

[ERROR] >> Build failed in step 'Installing binutils for host'

[ERROR] >> called in step '(top-level)'

[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257]

[ERROR] >> called from: do_binutils_backend[scripts/build/binutils/binutils.sh@215]

[ERROR] >> called from: do_binutils_for_host[scripts/build/binutils/binutils.sh@100]

[ERROR] >> called from: main[scripts/crosstool-NG.sh@638]

[ERROR] >> There is a list of known issues, some with workarounds, in:

[ERROR] >> 'share/doc/crosstool-ng/ct-ng.1.20.0/B - Known issues.txt'

Anyways, I would like to get lessons learnt from others as well as suggestions on overcoming this. I am avoiding mentioning specific github repo though it is almost mentioned everywhere in solutions across online.

I have tried esp8266_nonos_sdk build too available on github - but that is a separate build issues story too. Still am working alternative ways and reworking continues.I ended up at missing linker script after some tweaking (I have relook at it)

Thanks in advance,

  • Sometimes, certain tool chains are only published in certain ways. Different linux versions use different packaging and publishing repositories unfortunately. One thing you can try is to see what the detail of the failure of the first step is, figure out which linux distribution that toolchain publishes to and try to use the same linux version. Jul 28, 2022 at 16:51
  • Or perhaps you can ask on that git repo if someone would be willing to share a virtual box / AMI / docker image of a working OS with the tool chain with you. Long shot, but given what you're trying to do, why not ? Jul 28, 2022 at 16:54


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.