Build ULP from scratch to Raspberry 4
Posted: Sun Nov 10, 2019 4:20 am
Hi guys! iam trying to use one project with ULP, compilling over raspberry pi 4, but I cant build ULP bin utils from scratch.
Just following instructions in readme of: https://github.com/espressif/binutils-esp32ulp
0. git clone https://github.com/espressif/binutils-esp32ulp.git --recursive
1. ./configure (OK)
Terminal output: https://drive.google.com/file/d/17zhSGY ... sp=sharing
2. Make (FAIL)
Terminal output: https://drive.google.com/file/d/1xyCLGQ ... sp=sharing
Bellow, just a little part of all errors present in file above.
How can I build ULP to be compiled in my raspberry pi 4? I already compiled IDF by scratch and worked normally. By the way, I don't know if I'm following the right instructions with this readme. I'm kind of lost.
Just following instructions in readme of: https://github.com/espressif/binutils-esp32ulp
0. git clone https://github.com/espressif/binutils-esp32ulp.git --recursive
1. ./configure (OK)
Terminal output: https://drive.google.com/file/d/17zhSGY ... sp=sharing
2. Make (FAIL)
Terminal output: https://drive.google.com/file/d/1xyCLGQ ... sp=sharing
Bellow, just a little part of all errors present in file above.
Code: Select all
binary.c:363:3: note: in expansion of macro ‘BFD_JUMP_TABLE_SYMBOLS’
BFD_JUMP_TABLE_SYMBOLS (binary),
^~~~~~~~~~~~~~~~~~~~~~
libbfd.h:436:4: error: cast between incompatible function types from ‘bfd_boolean (*)(bfd *)’ {aka ‘int (*)(struct bfd *)’} to ‘bfd_boolean (*)(bfd *, const char **, const char **, unsigned int *)’ {aka ‘int (*)(struct bfd *, const char **, const char **, unsigned int *)’} [-Werror=cast-function-type]
((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
^
binary.c:210:44: note: in expansion of macro ‘_bfd_nosymbols_find_inliner_info’
#define binary_find_inliner_info _bfd_nosymbols_find_inliner_info
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bfd.h:7573:3: note: in expansion of macro ‘binary_find_inliner_info’
NAME##_find_inliner_info, \
^~~~
binary.c:363:3: note: in expansion of macro ‘BFD_JUMP_TABLE_SYMBOLS’
BFD_JUMP_TABLE_SYMBOLS (binary),
^~~~~~~~~~~~~~~~~~~~~~
libbfd.h:439:4: error: cast between incompatible function types from ‘void * (*)(bfd *)’ {aka ‘void * (*)(struct bfd *)’} to ‘asymbol * (*)(bfd *, void *, long unsigned int)’ {aka ‘struct bfd_symbol * (*)(struct bfd *, void *, long unsigned int)’} [-Werror=cast-function-type]
((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
^
binary.c:211:44: note: in expansion of macro ‘_bfd_nosymbols_bfd_make_debug_symbol’
#define binary_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bfd.h:7574:3: note: in expansion of macro ‘binary_bfd_make_debug_symbol’
NAME##_bfd_make_debug_symbol, \
^~~~
binary.c:363:3: note: in expansion of macro ‘BFD_JUMP_TABLE_SYMBOLS’
BFD_JUMP_TABLE_SYMBOLS (binary),
^~~~~~~~~~~~~~~~~~~~~~
libbfd.h:453:4: error: cast between incompatible function types from ‘void * (*)(bfd *)’ {aka ‘void * (*)(struct bfd *)’} to ‘const reloc_howto_type * (*)(bfd *, bfd_reloc_code_real_type)’ {aka ‘const struct reloc_howto_struct * (*)(struct bfd *, enum bfd_reloc_code_real)’} [-Werror=cast-function-type]
((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
^
bfd.h:7621:3: note: in expansion of macro ‘_bfd_norelocs_bfd_reloc_type_lookup’
NAME##_bfd_reloc_type_lookup, \
^~~~
binary.c:364:3: note: in expansion of macro ‘BFD_JUMP_TABLE_RELOCS’
BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
^~~~~~~~~~~~~~~~~~~~~
libbfd.h:455:4: error: cast between incompatible function types from ‘void * (*)(bfd *)’ {aka ‘void * (*)(struct bfd *)’} to ‘const reloc_howto_type * (*)(bfd *, const char *)’ {aka ‘const struct reloc_howto_struct * (*)(struct bfd *, const char *)’} [-Werror=cast-function-type]
((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
^
bfd.h:7622:3: note: in expansion of macro ‘_bfd_norelocs_bfd_reloc_name_lookup’
NAME##_bfd_reloc_name_lookup
^~~~
binary.c:364:3: note: in expansion of macro ‘BFD_JUMP_TABLE_RELOCS’
BFD_JUMP_TABLE_RELOCS (_bfd_norelocs),
^~~~~~~~~~~~~~~~~~~~~
libbfd.h:530:4: error: cast between incompatible function types from ‘long int (*)(bfd *)’ {aka ‘long int (*)(struct bfd *)’} to ‘long int (*)(bfd *, asymbol **)’ {aka ‘long int (*)(struct bfd *, struct bfd_symbol **)’} [-Werror=cast-function-type]
((long (*) (bfd *, asymbol **)) _bfd_n1)
^
bfd.h:7729:3: note: in expansion of macro ‘_bfd_nodynamic_canonicalize_dynamic_symtab’
NAME##_canonicalize_dynamic_symtab, \
^~~~
binary.c:367:3: note: in expansion of macro ‘BFD_JUMP_TABLE_DYNAMIC’
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
^~~~~~~~~~~~~~~~~~~~~~
libbfd.h:532:4: error: cast between incompatible function types from ‘long int (*)(bfd *)’ {aka ‘long int (*)(struct bfd *)’} to ‘long int (*)(bfd *, long int, asymbol **, long int, asymbol **, asymbol **)’ {aka ‘long int (*)(struct bfd *, long int, struct bfd_symbol **, long int, struct bfd_symbol **, struct bfd_symbol **)’} [-Werror=cast-function-type]
((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
^
bfd.h:7730:3: note: in expansion of macro ‘_bfd_nodynamic_get_synthetic_symtab’
NAME##_get_synthetic_symtab, \
^~~~
binary.c:367:3: note: in expansion of macro ‘BFD_JUMP_TABLE_DYNAMIC’
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
^~~~~~~~~~~~~~~~~~~~~~
libbfd.h:535:4: error: cast between incompatible function types from ‘long int (*)(bfd *)’ {aka ‘long int (*)(struct bfd *)’} to ‘long int (*)(bfd *, arelent **, asymbol **)’ {aka ‘long int (*)(struct bfd *, struct reloc_cache_entry **, struct bfd_symbol **)’} [-Werror=cast-function-type]
((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
^
bfd.h:7732:3: note: in expansion of macro ‘_bfd_nodynamic_canonicalize_dynamic_reloc’
NAME##_canonicalize_dynamic_reloc
^~~~
binary.c:367:3: note: in expansion of macro ‘BFD_JUMP_TABLE_DYNAMIC’
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
^~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[4]: *** [Makefile:1694: binary.lo] Error 1
make[4]: ** Esperando que outros processos terminem.
mv -f .deps/targets.Tpo .deps/targets.Plo
mv -f .deps/stabs.Tpo .deps/stabs.Plo
mv -f .deps/syms.Tpo .deps/syms.Plo
make[4]: Leaving directory '/home/pi/esp/binutils-esp32ulp/bfd'
make[3]: *** [Makefile:1737: all-recursive] Error 1
make[3]: Leaving directory '/home/pi/esp/binutils-esp32ulp/bfd'
make[2]: *** [Makefile:1205: all] Error 2
make[2]: Leaving directory '/home/pi/esp/binutils-esp32ulp/bfd'
make[1]: *** [Makefile:2727: all-bfd] Error 2
make[1]: Leaving directory '/home/pi/esp/binutils-esp32ulp'
make: *** [Makefile:851: all] Error 2