Intel® System Studio
Share information with other developers using Intel® System Studio.

Zephyr Static_lib example not compiling

Mateo_G_Intel
Employee
513 Views

Hello, I am using ISS 2016 update 2.

I detected that the Static_lib example does not compiles:

- Create a new Project for Microcontrollers for Intel(r) Quark(tm) SE c1000 Developer Board
- Select Zephyr Project [1.7.0]
- Select Core: Intel(r) Quark(tm), Toolchain: Intel(r) System Studio for Microcontrollers - GCC IA Compiler
- Select Example: Tools > Static_lib

When you build the project you will receive errors of architecture incompatibility.

Eg: 

/home/intel/iss_workspace/Static_lib_2/zephyr/Makefile:853: recipe for target 'zephyr_prebuilt.elf' failed
/opt/intel/issm_2016.2.085/tools/compiler/gcc-ia/5.2.1/bin/../lib/gcc/i586-intel-elfiamcu/5.2.1/../../../../i586-intel-elfiamcu/bin/ld: skipping incompatible /home/intel/iss_workspace/Static_lib_2/hello_world/outdir/qemu_x86/mylib/lib/libmylib.a when searching for -lmylib
make[3]: Leaving directory '/home/intel/iss_workspace/Static_lib_2/hello_world/outdir/qemu_x86'
/opt/intel/issm_2016.2.085/tools/compiler/gcc-ia/5.2.1/bin/../lib/gcc/i586-intel-elfiamcu/5.2.1/../../../../i586-intel-elfiamcu/bin/ld: cannot find -lmylib
Makefile:173: recipe for target 'sub-make' failed
/opt/intel/issm_2016.2.085/tools/compiler/gcc-ia/5.2.1/bin/../lib/gcc/i586-intel-elfiamcu/5.2.1/../../../../i586-intel-elfiamcu/bin/ld: skipping incompatible /opt/intel/issm_2016.2.085/tools/compiler/gcc-ia/5.2.1/lib/gcc/i586-intel-elfiamcu/5.2.1/libgcc.a when searching for -lgcc
/opt/intel/issm_2016.2.085/tools/compiler/gcc-ia/5.2.1/bin/../lib/gcc/i586-intel-elfiamcu/5.2.1/../../../../i586-intel-elfiamcu/bin/ld: skipping incompatible /opt/intel/issm_2016.2.085/tools/compiler/gcc-ia/5.2.1/bin/../lib/gcc/i586-intel-elfiamcu/5.2.1/libgcc.a when searching for -lgcc
/opt/intel/issm_2016.2.085/tools/compiler/gcc-ia/5.2.1/bin/../lib/gcc/i586-intel-elfiamcu/5.2.1/../../../../i586-intel-elfiamcu/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status

The hello_world program seems to be compiled with the wrong BOARD configuration. This error can be fixed by changing the target BOARD of the Makefile inside hello_world

- BOARD = qemu_x86
+ BOARD = quark_se_c1000_devboard

Can you please verify if this is a real issue?

Thanks, 

Mateo

0 Kudos
1 Reply
Richard_A_Intel
Employee
513 Views

Mateo,

I tested the Static_lib samples and saw the issue you reported with the board name being set incorrectly and the build failing.

When testing the workaround you provided I still saw issues with the build of the sample after changing the Makefile in the hello directory of the project to replace the line:

BOARD = qemu_x86

With:

 BOARD = quark_se_c1000_devboard

but it did seem to resolve most of the errors related to this build.

Thank you for reporting this and providing the workaround.

Richard

  

0 Kudos
Reply