AnsweredAssumed Answered

Multiple definitions of <ctype.h> functions 'isprintf' etc

Question asked by martinthompson on Jun 4, 2018
Latest reply on Jun 4, 2018 by martinthompson

Hi,

 

I have an S32DS project for S32K144_100 which fails to link when a function defined in <ctype.h> is referenced from my C code.  This has occurred with both tolower() and isprintf()

 

C:/NXP/S32DS_ARM_v2018.R1/S32DS/arm_ewl2/lib/armv7e-m/fpu\libc99.a(isprint.o): S32DS/arm_ewl2/EWL_C/src/ctype/isprint.c first defined here

make: *** [makefile:70: myproject.elf] Error 1

S32DS/arm_ewl2/EWL_C/src/arm/ctype_aeabi.c multiple definition of `isprint'

 

Can anyone tell me why the EWL version of isprintf() is being used as well as the C99 library version?  How can this error be fixed?

 

I'm new to S32DS and I think the project is misconfigured somehow.  I want to use FreeRTOS and have console I/O directed to a UART.  For the latter reason the project links with EWL with -specs=ewl_c9x_noio.specs

 

The compiler options are

-DCPU_S32K144HFT0VLLT -DUSING_OS_FREERTOS -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_C/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_C/include/arm" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_Runtime/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2/EWL_Runtime/include/arm" -I"C:\work\Transics\src\S32DS\workspace\dongle_evb/Generated_Code" -I"C:\work\Transics\src\S32DS\workspace\dongle_evb/Sources" -I"C:\work\Transics\src\S32DS\workspace\dongle_evb/Include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/lin" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K144/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/rtos/osif" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/sbc/sbc_uja1169/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/common" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/sai" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K144/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/enet" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/flexio" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/lin/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K142/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/lin/coreapi" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/eim" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K148/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/adc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/erm" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/pins" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K146/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/clock/S32K1xx" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/middleware/lin/transport" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/ewm" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/inc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K148/include" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/quadspi" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/wdog" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/pal/spi/inc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/rtc" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K146/startup" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/drivers/src/flexcan" -I"C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/S32SDK_S32K14x_EAR_0.8.6/platform/devices/S32K142/include" -I"C:\work\Transics\src\S32DS\workspace\myproject/Generated_Code" -I"C:\work\Transics\src\S32DS\workspace\myproject/Sources" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/drivers/src/clock/S32K1xx" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices/common" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices/S32K144/include" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/devices/S32K144/startup" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/platform/drivers/inc" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/rtos/osif/" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/rtos/FreeRTOS_S32K/Source/include" -I"C:\work\Transics\src\S32DS\workspace\myproject/SDK/rtos/FreeRTOS_S32K/Source/portable/GCC/ARM_CM4F" -O0 -g3 -Wall -c -fmessage-length=0 -ffunction-sections -fdata-sections -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=ewl_c9x_noio.specs --sysroot="C:\NXP\S32DS_ARM_v2018.R1\eclipse\../S32DS/arm_ewl2"

 

Thanks in advance

--Martin

Outcomes