[Wipy 2.0] Error when building firmware bootloader
- 
					
					
					
					
 Hi everyone, I'm currently trying to build a firmware from https://github.com/pycom/pycom-micropython-sigfox/tree/master/esp32 for my Wipy 2.0 but I always get an error during the build of bootloader. I started from a fresh clone https://github.com/pycom/pycom-micropython-sigfox 
 Using pycom-esp-idf and the xtensa-esp32-elf toolchain.I did the submodule update with success ~/esp32_B/pycom-micropython-sigfox/esp32$ git submodule update --init 
 Sous-module 'lib/axtls' (https://github.com/pfalcon/axtls) enregistré pour le chemin '../lib/axtls'
 Sous-module 'lib/berkeley-db-1.xx' (https://github.com/pfalcon/berkeley-db-1.xx) enregistré pour le chemin '../lib/berkeley-db-1.xx'
 Sous-module 'lib/libffi' (https://github.com/atgreen/libffi) enregistré pour le chemin '../lib/libffi'
 Sous-module 'lib/lwip' (http://git.savannah.gnu.org/r/lwip.git) enregistré pour le chemin '../lib/lwip'
 Clonage dans 'lib/axtls'...
 remote: Counting objects: 2774, done.
 remote: Total 2774 (delta 0), reused 0 (delta 0), pack-reused 2774
 Réception d'objets: 100% (2774/2774), 3.47 MiB | 73.00 KiB/s, fait.
 Résolution des deltas: 100% (2087/2087), fait.
 Vérification de la connectivité... fait.
 Chemin de sous-module '../lib/axtls' : '67d27df4b5d097e146599fc4fb160a2adcbf5632' extrait
 Clonage dans 'lib/berkeley-db-1.xx'...
 remote: Counting objects: 262, done.
 remote: Compressing objects: 100% (121/121), done.
 remote: Total 262 (delta 121), reused 262 (delta 121), pack-reused 0
 Réception d'objets: 100% (262/262), 331.56 KiB | 67.00 KiB/s, fait.
 Résolution des deltas: 100% (121/121), fait.
 Vérification de la connectivité... fait.
 Chemin de sous-module '../lib/berkeley-db-1.xx' : 'dab957dacddcbf6cbc85d42df62e189e4877bb72' extrait
 Clonage dans 'lib/libffi'...
 remote: Counting objects: 10883, done.
 remote: Total 10883 (delta 0), reused 0 (delta 0), pack-reused 10882
 Réception d'objets: 100% (10883/10883), 6.83 MiB | 54.00 KiB/s, fait.
 Résolution des deltas: 100% (6773/6773), fait.
 Vérification de la connectivité... fait.
 Chemin de sous-module '../lib/libffi' : 'e9de7e35f2339598b16cbb375f9992643ed81209' extrait
 Clonage dans 'lib/lwip'...
 remote: Counting objects: 43712, done.
 remote: Compressing objects: 100% (10861/10861), done.
 remote: Total 43712 (delta 32866), reused 42970 (delta 32347)
 Réception d'objets: 100% (43712/43712), 8.11 MiB | 29.00 KiB/s, fait.
 Résolution des deltas: 100% (32866/32866), fait.
 Vérification de la connectivité... fait.
 Chemin de sous-module '../lib/lwip' : '5b8b5d459e7dd890724515bbfad86c705234f9ec' extraitI also built mpy-cross sucessfully ~/esp32_B/pycom-micropython-sigfox/mpy-cross$ make all 
 Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
 mkdir -p build/genhdr
 Generating build/genhdr/mpversion.h
 GEN build/genhdr/qstr.i.last
 GEN build/genhdr/qstr.split
 GEN build/genhdr/qstrdefs.collected.h
 QSTR updated
 GEN build/genhdr/qstrdefs.generated.h
 mkdir -p build/py/
 mkdir -p build/py/../extmod/
 mkdir -p build/py/../lib/embed/
 mkdir -p build/py/../lib/utils/
 CC ../py/mpstate.c
 CC ../py/nlrx86.S
 CC ../py/nlrx64.S
 CC ../py/nlrthumb.c
 CC ../py/nlrxtensa.S
 CC ../py/nlrsetjmp.c
 CC ../py/malloc.c
 CC ../py/gc.c
 CC ../py/qstr.c
 CC ../py/vstr.c
 CC ../py/mpprint.c
 CC ../py/unicode.c
 CC ../py/mpz.c
 CC ../py/lexer.c
 CC ../py/lexerstr.c
 CC ../py/lexerunix.c
 CC ../py/parse.c
 CC ../py/scope.c
 CC ../py/compile.c
 CC ../py/emitcommon.c
 CC ../py/emitbc.c
 CC ../py/asmx64.c
 CC ../py/emitnative.c
 CC ../py/asmx86.c
 CC ../py/emitnative.c
 CC ../py/asmthumb.c
 CC ../py/emitnative.c
 CC ../py/emitinlinethumb.c
 CC ../py/asmarm.c
 CC ../py/emitnative.c
 CC ../py/formatfloat.c
 CC ../py/parsenumbase.c
 CC ../py/parsenum.c
 CC ../py/emitglue.c
 CC ../py/runtime.c
 CC ../py/runtime_utils.c
 CC ../py/nativeglue.c
 CC ../py/stackctrl.c
 CC ../py/argcheck.c
 CC ../py/warning.c
 CC ../py/map.c
 CC ../py/obj.c
 CC ../py/objarray.c
 CC ../py/objattrtuple.c
 CC ../py/objbool.c
 CC ../py/objboundmeth.c
 CC ../py/objcell.c
 CC ../py/objclosure.c
 CC ../py/objcomplex.c
 CC ../py/objdict.c
 CC ../py/objenumerate.c
 CC ../py/objexcept.c
 CC ../py/objfilter.c
 CC ../py/objfloat.c
 CC ../py/objfun.c
 CC ../py/objgenerator.c
 CC ../py/objgetitemiter.c
 CC ../py/objint.c
 CC ../py/objint_longlong.c
 CC ../py/objint_mpz.c
 CC ../py/objlist.c
 CC ../py/objmap.c
 CC ../py/objmodule.c
 CC ../py/objobject.c
 CC ../py/objpolyiter.c
 CC ../py/objproperty.c
 CC ../py/objnone.c
 CC ../py/objnamedtuple.c
 CC ../py/objrange.c
 CC ../py/objreversed.c
 CC ../py/objset.c
 CC ../py/objsingleton.c
 CC ../py/objslice.c
 CC ../py/objstr.c
 CC ../py/objstrunicode.c
 CC ../py/objstringio.c
 CC ../py/objtuple.c
 CC ../py/objtype.c
 CC ../py/objzip.c
 CC ../py/opmethods.c
 CC ../py/sequence.c
 CC ../py/stream.c
 CC ../py/binary.c
 CC ../py/builtinimport.c
 CC ../py/builtinevex.c
 CC ../py/modarray.c
 CC ../py/modbuiltins.c
 CC ../py/modcollections.c
 CC ../py/modgc.c
 CC ../py/modio.c
 CC ../py/modmath.c
 CC ../py/modcmath.c
 CC ../py/modmicropython.c
 CC ../py/modstruct.c
 CC ../py/modsys.c
 CC ../py/moduerrno.c
 CC ../py/modthread.c
 CC ../py/vm.c
 CC ../py/bc.c
 CC ../py/showbc.c
 CC ../py/repl.c
 CC ../py/smallint.c
 CC ../py/frozenmod.c
 CC ../py/../extmod/moductypes.c
 CC ../py/../extmod/modujson.c
 CC ../py/../extmod/modure.c
 CC ../py/../extmod/moduzlib.c
 CC ../py/../extmod/moduheapq.c
 CC ../py/../extmod/moduhashlib.c
 CC ../py/../extmod/modubinascii.c
 CC ../py/../extmod/virtpin.c
 CC ../py/../extmod/machine_mem.c
 CC ../py/../extmod/machine_pinbase.c
 CC ../py/../extmod/machine_pulse.c
 CC ../py/../extmod/machine_i2c.c
 CC ../py/../extmod/machine_spi.c
 CC ../py/../extmod/modussl_axtls.c
 CC ../py/../extmod/modussl_mbedtls.c
 CC ../py/../extmod/modurandom.c
 CC ../py/../extmod/modwebsocket.c
 CC ../py/../extmod/modwebrepl.c
 CC ../py/../extmod/modframebuf.c
 CC ../py/../extmod/fsusermount.c
 CC ../py/../extmod/vfs_fat.c
 CC ../py/../extmod/vfs_fat_ffconf.c
 CC ../py/../extmod/vfs_fat_diskio.c
 CC ../py/../extmod/vfs_fat_file.c
 CC ../py/../extmod/vfs_fat_lexer.c
 CC ../py/../extmod/vfs_fat_misc.c
 CC ../py/../extmod/utime_mphal.c
 CC ../py/../extmod/uos_dupterm.c
 CC ../py/../lib/embed/abort_.c
 CC ../py/../lib/utils/printf.c
 CC main.c
 CC gccollect.c
 LINK mpy-cross
 text data bss dec hex filename
 133884 792 904 135580 2119c mpy-crossThe environment variable for esp-idf path is defined ~/esp32_B/pycom-micropython-sigfox/esp32$ echo $ESP_IDF_PATH 
 /home/julien/esp32_B/pycom-esp-idf/When I'm trying to build the firmware I got the following error: ~/esp32_B/pycom-micropython-sigfox/esp32$ make BOARD=WIPY -j5 TARGET=boot 
 Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
 CC bootloader/bootloader.c
 CC bootloader/bootmgr.c
 CC bootloader/mperror.c
 CC bootloader/gpio.c
 bootloader/gpio.c:14:23: fatal error: esp_types.h: No such file or directory
 compilation terminated.
 In file included from bootloader/bootloader.c:19:0:
 bootloader/bootloader.h:18:34: fatal error: esp_flash_data_types.h: No such file or directory
 compilation terminated.
 bootloader/mperror.c:18:29: fatal error: heap_alloc_caps.h: No such file or directory
 compilation terminated.
 bootloader/bootmgr.c:18:29: fatal error: heap_alloc_caps.h: No such file or directory
 compilation terminated.
 ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/gpio.o' failed
 make: *** [build/WIPY/release/bootloader/gpio.o] Error 1
 make: *** Attente des tâches non terminées....
 ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/bootmgr.o' failed
 make: *** [build/WIPY/release/bootloader/bootmgr.o] Error 1
 ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/bootloader.o' failed
 make: *** [build/WIPY/release/bootloader/bootloader.o] Error 1
 ../py/mkrules.mk:47: recipe for target 'build/WIPY/release/bootloader/mperror.o' failed
 make: *** [build/WIPY/release/bootloader/mperror.o] Error 1Does someone knows where the error could come from? 
 
- 
					
					
					
					
 @robert-hh 
 Hi, thank you for the answer, I think I missed something during the procedure because I tried again from scratch and it works perfectly.
 I think I forgot an environment variable as you propose.
 
- 
					
					
					
					
 @Arkaik It should be in pycom-esp-idf/components/esp32/include. Are you sue that you have set the environment variables right, like told in the README.md, https://github.com/pycom/pycom-micropython-sigfox, bottom section? 
 
- 
					
					
					
					
 The file esp_types.h is missing. Look for it in the esp_idf tree and copy it to the micropython/esp32 folder. That's an old bug. 
 
