AnsweredAssumed Answered

Failed to compile a simple project for SC589 (SHARC)

Question asked by jviki on May 11, 2016
Latest reply on May 11, 2016 by jviki

Hello,

 

I am trying to build a simple project for SC589 (SHARC) for testing but I end up with the following errors. It seems like the linker doesn't like its own libraries. It fails in CCES, it fails when running manually. I use Arch Linux (x86_64) but I have the same issue on Ubuntu 16.04 (i386) in VirtualBox.

 

Building target: test

Invoking: CrossCore ARM Bare Metal C Linker

arm-none-eabi-gcc -mproc=ADSP-SC589 -msi-revision=1.0 -Wl,--gc-sections -mdebug-libs -o  "test"  "./system/sru/sru_config.o"  "./system/pinmux/GeneratedSources/pinmux_config.o"  "./system/mcapi/GeneratedSources/mcapi_config.o"  "./system/adi_initialize.o"  "./src/test.o"  -lm

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/sc589_rev_any/libm.a when searching for -lm

makefile:41: recipe for target 'test' failed

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lm

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/sc589_rev_any/libgcc.a when searching for -lgcc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lgcc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/sc589_rev_any/libfftacc.a when searching for -lfftacc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lfftacc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/sc589_rev_any/libm.a when searching for -lm

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lm

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/sc589_rev_any/libc.a when searching for -lc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lc

collect2: error: ld returned 1 exit status

make: *** [test] Error 1

 

[21:22] $ make CROSS=/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/arm-none-eabi-

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/arm-none-eabi-gcc -mproc=ADSP-SC589 -msi-revision=any -Wl,--gc-sections -o testl2

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/sc589_rev_any/libgcc.a when searching for -lgcc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lgcc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/sc589_rev_any/libfftacc.a when searching for -lfftacc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lfftacc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/sc589_rev_any/libm.a when searching for -lm

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lm

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: skipping incompatible /opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/lib/sc589_rev_any/libc.a when searching for -lc

/opt/analog/cces/2.2.0/ARM/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld: cannot find -lc

collect2: error: ld returned 1 exit status

Makefile:10: recipe for target 'testl2' failed

make: *** [testl2] Error 1

Outcomes