Hi all,
I am trying to compile syslink on Linux environment but I got hit with many build errors.
My settings in products.mak
DEVICE = OMAPL1XX
GPPOS = Linux
SYSLINK_BUILD_DEBUG=1
SYSLINK_TRACE_ENABLE=1
SYSLINK_NOTIFYDRIVER=NOTIFYDRIVERSHM
SYSLINK_TRANSPORT=TRANSPORTSHM
SDK = NONE
else ifeq ("$(DEVICE)","OMAPL1XX")
LINUXKERNEL = $(DEPOT)/trbo_linux/kernel-source -> I am using kernel 4.12
CGT_ARM_INSTALL_DIR = $(DEPOT)/ssp_tools/crosstool-ng/bin
CGT_ARM_PREFIX = $(DEPOT)/ssp_tools/crosstool-ng/bin/arm-unknown-linux-uclibcgnueabi-
IPC_INSTALL_DIR = $(DEPOT)/migration/ipc_3_40_01_08
BIOS_INSTALL_DIR = $(DEPOT)/migration/bios_6_50_01_12
XDC_INSTALL_DIR = $(DEPOT)/migration/xdctools_3_50_00_10_core_linux/xdctools_3_50_00_10_core
# If LOADER=ELF then below elf tools path is required else set C674 path
ifeq ("$(LOADER)","ELF")
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/migration/ti-cgt-c6000_8.2.3
else
CGT_C674_INSTALL_DIR= $(DEPOT)/_your_c674_code_gen_install_
endif
The following are the things I had downloaded:
1) bios_6_50_01_12
2) ipc_3_40_01_08
3) syslink_2_21_03_11
4) ti-cgt-c6000_8.2.3
5) xdctools_3_50_00_10_core_linux
Are there any other things I need to download?
Build errors:
1) Error: error: implicit declaration of function 'copy_to_user' [-Werror=implicit-function-declaration]
Which I resolved by changing #include <asm/uaccess.h> to #include <linux/uaccess.h>
2) Error: /syslink_2_21_03_11/packages/ti/syslink/inc/TransportShm.h:109:5: error: unknown type name 'IMessageQTransport_ErrFxn'
I had to include ti/syslink/inc/IMessageQTransport.h in Platform.c to forward declare the type
3) Error: /syslink_2_21_03_11/packages/ti/syslink/inc/_MessageQ.h:189:6: error: conflicting types for 'MessageQ_registerTransport'
I found that in syslink_2_21_03_11/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/omapl1xx/Platform.c, there are 2 headers,
#include <ti/ipc/MessageQ.h> -> declares
Bool MessageQ_registerTransport(IMessageQTransport_Handle handle,
UInt16 rprocId, UInt priority);
#include <ti/syslink/inc/_MessageQ.h> -> declares
Int MessageQ_registerTransport (IMessageQTransport_Handle handle,
UInt16 procId,
UInt priority);
What is wrong with my configuration that I cannot seem to make syslink?