During the build process, I receive an error while trying to build a library of the modules. For example, I have a module with a file ( Version.c ). After the successful compilation of the file, I am trying to build a library from the generated .obj files.
My compiler flags are:
Involking tool to generate the obj file
CC = $(TOOLSDIR)/CodeWarrior/cgtools/bin/mwcceppc.exe
CFLAGS = -c -v -abi eabi -ext obj
My flags to generate the library are
Involking tool to generate the lib file
AR = $(TOOLSDIR)/CodeWarrior/cgtools/bin/mwldeppc.exe
ARFLAGS = -library -abi eabi -v
##########################################################
Log Info
############################################################
Building in directory SYS_VERSION
Working in directory src
Parsing for TraceMsgs Version.c
START TRACE ACCUMULATION
../../../TOOLS/Python_scripts/TraceScripts/GenerateTraceID.py
file
Version.c
Version.id
Version.tr
Version.enum
FileID 0x30000
Exit with result 0 ...
Compiling uC file Version.c
../../../TOOLS/CodeWarrior/cgtools/bin/mwcceppc.exe -c -v -abi eabi -ext obj -I../../../MOD/SYS_MAIN/inc -I../../../MOD/SYS_VERSION/inc -I../../../MOD/CONFIG_PLATFORM/inc
Freescale C/C++ Compiler for Embedded PowerPC.
Copyright(C) 2010, Freescale Semiconductor, Inc.
All rights reserved.
Version 4.3 build 209
Runtime Built: May 9 2011 11:24:39
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/ewl/EWL_Runtime/Runtime_PA/Include' not
# found
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/ewl/EWL_Runtime/Runtime_PA/Include' not
# found
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/ewl/EWL_Runtime/Runtime_PA/Include' not
# found
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/ewl/EWL_C/include' not found
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/ewl/EWL_C++/include' not found
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/ewl/EWL_Runtime/Runtime_PA/Include' not
# found
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/ewl/lib' not found
### mwcceppc.exe Usage Warning:
# Specified directory '/PA_Support/Serial/lib' not found
### mwcceppc.exe Usage Warning:
# Environment variable 'MWCIncludes' not found
# Contents of (command-line defines):
===============
#define PROCESSOR_MPC5603 1
===============
# User include search paths ([d] = default, [r] = recursive):
# F:\MyDocuments\workspace\eclipse\PowerPC\MOD\SYS_MAIN\inc\
# F:\MyDocuments\workspace\eclipse\PowerPC\MOD\SYS_VERSION\inc\
# F:\MyDocuments\workspace\eclipse\PowerPC\MOD\CONFIG_PLATFORM\inc\
# E:\Program Files\Freescale\CW for MPC55xx and MPC56xx
# 2.8\(CodeWarrior_Examples)\560xB-CW\UART_TxRx_Polling\
# E:\Program Files\Freescale\CW for MPC55xx and MPC56xx
# 2.8\(CodeWarrior_Examples)\560xB-CW\UART_TxRx_Polling\src\
# E:\Program Files\Freescale\CW for MPC55xx and MPC56xx
# 2.8\(CodeWarrior_Examples)\560xB-CW\UART_TxRx_Polling\lcf\
# System include search paths ([d] = default, [r] = recursive):
#
# F:\MyDocuments\workspace\eclipse\PowerPC\TOOLS\CodeWarrior\cgtools\include\
#
# Files in project (relative to CWD):
# Version.c
# (command-line defines) (virtual file)
# Compiling: 'Version.c' with 'MW C/C++ PPC EABI'
# Writing object file 'Version.obj'
# 24 lines compiled
# 0 bytes code
# 40 bytes init'd data
# 0 bytes uninit'd data
Building uC library Version.lib
../../../TOOLS/CodeWarrior/cgtools/bin/mwldeppc.exe -library -abi eabi -v Version.lib Version.obj
### mwldeppc.exe Usage Error:
# Specified file 'Version.lib' not found
Errors caused tool to abort.
make[6]: *** [Version.lib] Error 1
make[5]: *** [src] Error 2
make[4]: *** [all] Error 2
make[3]: *** [SYS_VERSION] Error 2
make[2]: *** [all] Error 2
make[1]: *** [MOD] Error 2
make: *** [all] Error 2
Fehler: 2
###########################################################
Hello infoclog,
I'd suggest you to try to modify the the linker options:
mwldeppc.exe -library -abi eabi -v -o Version.lib Version.obj
If it does not work, could you perhaps post the Linker related section of your makefile.
BR,
Stanish
Hi Stanish,
I am trying to create a library from the object code first. The linker takes the library as a input to generate the final executable. That means the output which you are seeing does not reach the link stage at all.
I dont know if the linker related section in the makefile will help you.
Nevertheless, i added the -p option and still no success.
# Files in project (relative to CWD):
# Version.c
# (command-line defines) (virtual file)
# Compiling: 'Version.c' with 'MW C/C++ PPC EABI'
# Writing object file 'Version.obj'
# 24 lines compiled
# 0 bytes code
# 40 bytes init'd data
# 0 bytes uninit'd data
Building uC library Version.lib
../../../TOOLS/CodeWarrior/cgtools/bin/mwldeppc.exe -library -abi eabi -v -o Version.lib Version.obj
### mwldeppc.exe Usage Error:
# Specified file 'Version.lib' not found
Hi Stanish,
I am also tracing this problem through a service request ( Number SR# 1-780265215 ) . I received a makefile from them and the only thing missing in my options was -o.
Previously my options to build the library were:
ARFLAGS = -library -abi eabi -v
and now
ARFLAGS = -library -abi eabi -v -o
With the -o options atleast I can start the build of the library. But still, the error persists. Please see the log details:
******************************
* Build MODUL Example *
******************************
Working in directory src
Building uC library SYS_VERSION.lib
../../../TOOLS/CodeWarrior/toolchain/bin/mwldeppc.exe -library -abi eabi -v SYS_VERSION.lib Version.obj
Freescale Linker for Embedded PowerPC.
Copyright(C) 2010, Freescale Semiconductor, Inc.
All rights reserved.
Version 4.3 build 209
Runtime Built: May 9 2011 11:25:28
### mwldeppc.exe Usage Warning:
# Environment variable 'MWLibraries' not found
# Library search paths ([d] = default, [r] = recursive):
# (none)
# Link order for project (relative to CWD):
# Version.obj
# Getting target info from 'Embedded PPC Linker'
# Compiling: 'Version.obj' with 'MW Lib Import PPC EABI'
# 0 lines compiled
# 0 bytes code
# 40 bytes init'd data
# 0 bytes uninit'd data
# Getting target info from 'Embedded PPC Linker'
# Linking project with 'Embedded PPC Linker'
### mwldeppc.exe Driver Error:
# License check failed: No such feature exists.
# Feature: Win32_Plugins_Link_PPC
# License path:
# F:\MyDocuments\workspace\eclipse\InbetriebnahmeProjects\MakeModule\TOOLS\Co
# deWarrior\toolchain\bin\license.dat;
# FLEXnet Licensing error:-5,357
# For further information, refer to the FLEXnet Licensing documentation,
# available at "www.macrovision.com".
Errors caused tool to abort.
make[2]: *** [SYS_VERSION.lib] Error 1
make[1]: *** [src] Error 2
make: *** [all] Error 2
Drücken Sie eine beliebige Taste . .
What could be the problem here? I want to make the build process standalone without installing the codewarrior. Is that possible?
Hello infoclog,
The error you get is related to missing license feature. I suspect the correct license.dat file is missing or is corrupted.
Does the license.dat file located here: F:\MyDocuments\workspace\eclipse\InbetriebnahmeProjects\MakeModule\TOOLS\CodeWarrior\toolchain\bin\license.dat includes a valid CW for MPC56xx license?
Does the license.dat file includes "Win32_Plugins_Link_PPC" licensing feature?
I'd suggest you to copy the correct "license.dat" into CodeWarrior root directory.
Hope it will help.
Stanish
Well, I received the Codewarroir CD Version 2.8 from my sales agent here in Munich. The license file was present in the following folder after i installed the entire CD.
e:\Program Files\Freescale\CW for MPC55xx and MPC56xx 2.8\
I copied it from my standalone path.
Neverthless, if the license file would have been corrupted it would break in the compile stage. The code compiles, generates an object file but druing the generation of the library gets stuck.
I dont understand what is Win32_Plugins_Link_PPC? How can I check if my license file contains this feature?
Greetings,