foss-for-synopsys-dwc-arc-processors/embarc_mli

compile cifar10 example error

yuansung18 opened this issue · 7 comments

Hi,
I'm trying to compile the cifar10 example, but I got same error:
c:/arc_gnu/bin/../lib/gcc/arc-elf32/8.3.1/../../../../arc-elf32/bin/ld.exe: ../../bin/libmli.a(mli_helpers.o): unknown type [0x66] section .symtab' c:/arc_gnu/bin/../lib/gcc/arc-elf32/8.3.1/../../../../arc-elf32/bin/ld.exe: ../../bin/libmli.a(mli_krn_fully_connected_fx.o): unknown type [0x66] section .symtab'
c:/arc_gnu/bin/../lib/gcc/arc-elf32/8.3.1/../../../../arc-elf32/bin/ld.exe: ../../bin/libmli.a(mli_krn_conv2d_chw_fx16.o): unknown type [0x66] section `.symtab'
c:/arc_gnu/bin/../lib/gcc/arc-elf32/8.3.1/../../../../arc-elf32/bin/ld.exe: ../../bin/libmli.a: error adding symbols: bad value
collect2.exe: error: ld returned 1 exit status
gmake: *** [bin/example_cifar10_caffe.elf] Error 1

How can I solve this problem?

Hi,
For the analysis of this problem we need some extra information.
Could you share with us:

  • the complete log file of the failure
  • which tool versions did you use
  • did you use a pre-compiled libmli? if so, which version?
  • If you did build the lib yourself, could you provide the version info of the tool that you used for this?
  • What is the command line that you used to build the lib
  • What is the command line that you used to build the example

Thanks!

Hi, JaccovG

  • log file of the failure: log.txt
  • I used ARC GNU toolchain 2019.03.
  • I ran gmake -C lib/make TCF_FILE=../../hw/em9d.tcf to generate the libmli.a.
  • I ran gmake all to build the example.

Thanks!

Hi yuansung18,

Building the lib with ARC GNU toolchain is not possible. Only the applications can be build with ARC GNU. For the lib you need to use MetaWare if you want to build it yourself, or use a pre-compiled lib from embarc_osp. More details on how to build the cifar10 application can be found in the readme:
https://github.com/foss-for-synopsys-dwc-arc-processors/embarc_mli/blob/mli_dev/examples/example_cifar10_caffe/README.md

Hi JaccovG,

I was wrong. The makefile for generating libmli.a in lib/make actually used MetaWare. (I used MetaWare Lite 2018.12.) But for example, I used ARC GNU toolchain 2019.03. Otherwise, can pre-compiled lib from embarc_osp support mli library? How can I use pre-compiled lib from embarc_osp in the example.

Thanks!

Hi Yuansung18,

MetaWare Lite is not supported for building the lib, so probably easiest is to use the pre-compiled lib.
Prebuilt embARC MLI Library must be copyied into the ./examples/prebuilt folder.
see also the readme in the examples directory.

Hi JaccovG,

I'm wondering where can I find the pre-build libmli.a in embarc_osp?
Thanks!