pfalcon / esp-open-sdk

Free and open (as much as possible) integrated SDK for ESP8266/ESP8285 chips
1.97k stars 623 forks source link

No rule to make target '.../esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/lib/libc.a' #347

Closed RenaKunisaki closed 5 years ago

RenaKunisaki commented 5 years ago

Build fails on Arch Linux AMD64 as xtensa-lx106-elf seems to be missing:

~/projects/esp8266> uname -a
Linux guilmon 4.14.81-1-lts #1 SMP Tue Nov 13 21:23:49 CET 2018 x86_64 GNU/Linux

~/projects/esp8266> git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
Cloning into 'esp-open-sdk'...
remote: Enumerating objects: 542, done.
remote: Total 542 (delta 0), reused 0 (delta 0), pack-reused 542
Receiving objects: 100% (542/542), 335.96 KiB | 2.80 MiB/s, done.
Resolving deltas: 100% (313/313), done.
Submodule 'crosstool-NG' (https://github.com/jcmvbkbc/crosstool-NG) registered for path 'crosstool-NG'
Submodule 'esp-open-lwip' (https://github.com/pfalcon/esp-open-lwip) registered for path 'esp-open-lwip'
Submodule 'esptool' (https://github.com/themadinventor/esptool) registered for path 'esptool'
Submodule 'lx106-hal' (https://github.com/tommie/lx106-hal) registered for path 'lx106-hal'
Cloning into '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG'...
remote: Enumerating objects: 2, done.        
remote: Counting objects: 100% (2/2), done.        
remote: Compressing objects: 100% (2/2), done.        
remote: Total 33801 (delta 0), reused 0 (delta 0), pack-reused 33799        
Receiving objects: 100% (33801/33801), 17.11 MiB | 6.90 MiB/s, done.
Resolving deltas: 100% (19978/19978), done.
Cloning into '/home/rena/projects/esp8266/esp-open-sdk/esp-open-lwip'...
remote: Enumerating objects: 236, done.        
remote: Total 236 (delta 0), reused 0 (delta 0), pack-reused 236        
Receiving objects: 100% (236/236), 495.14 KiB | 2.20 MiB/s, done.
Resolving deltas: 100% (75/75), done.
Cloning into '/home/rena/projects/esp8266/esp-open-sdk/esptool'...
remote: Enumerating objects: 41, done.        
remote: Counting objects: 100% (41/41), done.        
remote: Compressing objects: 100% (22/22), done.        
remote: Total 1758 (delta 20), reused 33 (delta 19), pack-reused 1717        
Receiving objects: 100% (1758/1758), 5.25 MiB | 6.55 MiB/s, done.
Resolving deltas: 100% (1069/1069), done.
Cloning into '/home/rena/projects/esp8266/esp-open-sdk/lx106-hal'...
remote: Enumerating objects: 122, done.        
remote: Total 122 (delta 0), reused 0 (delta 0), pack-reused 122        
Receiving objects: 100% (122/122), 179.61 KiB | 1.53 MiB/s, done.
Resolving deltas: 100% (51/51), done.
Submodule path 'crosstool-NG': checked out '37b07f6fbea2e5d23434f7e91614528f839db056'
Submodule path 'esp-open-lwip': checked out '8c39d2179a273553466043f388772abb6251a4ca'
Submodule path 'esptool': checked out '9dfcb350e1a91bb4641f725fc6c2f126791013ce'
Submodule path 'lx106-hal': checked out 'e4bcc63c9c016e4f8848e7e8f512438ca857531d'

~/projects/esp8266> cd esp-open-sdk/

~/projects/esp8266/esp-open-sdk> make
Makefile:184: warning: overriding recipe for target 'ESP8266_NONOS_SDK-2.1.0-18-g61248df/.dir'
Makefile:179: warning: ignoring old recipe for target 'ESP8266_NONOS_SDK-2.1.0-18-g61248df/.dir'
make -C crosstool-NG -f ../Makefile _ct-ng
make: *** No rule to make target '/home/rena/projects/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/lib/libc.a', needed by '/home/rena/projects/esp8266/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/lib/libcirom.a'.  Stop.
make: *** Waiting for unfinished jobs....
make[1]: Entering directory '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG'
../Makefile:184: warning: overriding recipe for target 'ESP8266_NONOS_SDK-2.1.0-18-g61248df/.dir'
../Makefile:179: warning: ignoring old recipe for target 'ESP8266_NONOS_SDK-2.1.0-18-g61248df/.dir'
./bootstrap
Running autoconf...
Done. You may now run:
    ./configure
./configure --prefix=`pwd`
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking whether sed understands -r -i -e... yes
checking whether ln -s works... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for gobjcopy... no
checking for objcopy... objcopy
checking for absolute path to objcopy... /usr/bin/objcopy
checking for gobjdump... no
checking for objdump... objdump
checking for absolute path to objdump... /usr/bin/objdump
checking for greadelf... no
checking for readelf... readelf
checking for absolute path to readelf... /usr/bin/readelf
checking for gperf... gperf
checking for absolute path to gperf... /usr/bin/gperf
checking for bison... bison
checking for flex... flex
checking for makeinfo... makeinfo
checking for cut... cut
checking for stat... stat
checking for readlink... readlink
checking for wget... wget
checking for tar... tar
checking for gzip... gzip
checking for bzip2... bzip2
checking for help2man... help2man
checking for gpatch... no
checking for patch... patch
checking for absolute path to patch... /usr/bin/patch
checking for bash >= 3.1... /usr/bin/bash
checking for GNU awk... /usr/bin/gawk
checking for GNU make >= 3.80... /usr/bin/make
checking whether /usr/bin/make sets $(MAKE)... yes
checking for make 3.81... no
checking for GNU libtool >= 1.5.26... /usr/bin/libtool
checking for GNU libtoolize >= 1.5.26... /usr/bin/libtoolize
checking for GNU automake >= 1.10... /usr/bin/automake
checking for the type used in gperf declarations... size_t
checking for xz... xz
checking for cvs... no
checking for svn... svn
checking for inline... inline
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for size_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking whether gettext is declared... yes
checking for library containing bindtextdomain... none required
checking ncurses/ncurses.h usability... no
checking ncurses/ncurses.h presence... no
checking for ncurses/ncurses.h... no
checking ncurses/curses.h usability... no
checking ncurses/curses.h presence... no
checking for ncurses/curses.h... no
checking ncursesw/curses.h usability... no
checking ncursesw/curses.h presence... no
checking for ncursesw/curses.h... no
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking for library containing initscr... -lncursesw
checking for library containing tgetent... none required
configure: creating ./config.status
config.status: creating Makefile
make MAKELEVEL=0
make: Entering directory '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG'
  SED    'ct-ng'
  SED    'scripts/crosstool-NG.sh'
  GEN    'paths.mk'
  SED    'scripts/showTuple.sh'
  GEN    'config/configure.in'
  SED    'scripts/saveSample.sh'
  GEN    'paths.sh'
  SED    'docs/ct-ng.1'
  DEP    'nconf.gui.dep'
  DEP    'nconf.dep'
  DEP    'lxdialog/textbox.dep'
  DEP    'lxdialog/util.dep'
  DEP    'lxdialog/yesno.dep'
  GZIP   'docs/ct-ng.1.gz'
  DEP    'lxdialog/menubox.dep'
  DEP    'lxdialog/inputbox.dep'
  DEP    'lxdialog/checklist.dep'
  DEP    'mconf.dep'
  DEP    'conf.dep'
  BISON  'zconf.tab.c'
  GPERF  'zconf.hash.c'
  LEX    'zconf.lex.c'
  DEP    'zconf.tab.dep'
  CC     'lxdialog/checklist.o'
  CC     'conf.o'
  CC     'lxdialog/inputbox.o'
  CC     'lxdialog/textbox.o'
  CC     'zconf.tab.o'
  CC     'lxdialog/menubox.o'
  CC     'lxdialog/util.o'
  CC     'lxdialog/yesno.o'
  CC     'mconf.o'
  CC     'nconf.o'
  CC     'nconf.gui.o'
  LD     'mconf'
  LD     'nconf'
  LD     'conf'
make: Leaving directory '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG'
make install MAKELEVEL=0
make: Entering directory '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG'
  GEN    'config/configure.in'
  GEN    'paths.mk'
  GEN    'paths.sh'
  MKDIR   '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG/bin/'
  MKDIR   '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG/lib/crosstool-ng-1.22.0-60-g37b07f6f/'

  MKDIR   '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG/share/doc/crosstool-ng/crosstool-ng-1.22.0-60-g37b07f6f/'
  MKDIR   '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG/share/man/man1/'
  INST    'ct-ng'
For auto-completion, do not forget to install 'ct-ng.comp' into
  INSTDIR 'config/'
  INSTDIR 'contrib/'
your bash completion directory (usually /etc/bash_completion.d)
  INSTDIR 'patches/'
  INST    'docs/*.txt'
  INST    'ct-ng.1.gz'
  INSTDIR 'scripts/'
  INST    'steps.mk'
  INST    'paths'
  INSTDIR 'samples/'
  INST    'kconfig/'
make: Leaving directory '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG'
make[1]: Leaving directory '/home/rena/projects/esp8266/esp-open-sdk/crosstool-NG'
 *** Process exited with status 2
jcmvbkbc commented 5 years ago

Makefile in this project is apparently not parallelable, and it looks like you have environment that runs make with -j by default, likely it is MAKEFLAGS. My suggestion would be to unset MAKEFLAGS or whatever causes make to be run with -j on your machine. I'll send a patch that deals with the parallelism issue.

pfalcon commented 5 years ago

Should be fixed by https://github.com/pfalcon/esp-open-sdk/pull/349