This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Cross compiling live555 on DM365/355

Hi,

I want to cross-compile the live555 media server on DM365 EVM, and searched a few posts on how to change config.armlinux, like http://linux.omap.com/pipermail/davinci-linux-open-source/2008-May/006458.html.

CROSS_COMPILE=          arm-linux-
COMPILE_OPTS = $(INCLUDES) -I /usr/local/arm/arm-linux/lib -O2
-DSOCKLEN_T=socklen_t -DNO_STRSTREAM=1 -D_LARGEFILE_SOURCE=1
C = c
C_COMPILER = $(CROSS_COMPILE)gcc
C_FLAGS = $(COMPILE_OPTS)
CPP = cpp
CPLUSPLUS_COMPILER = $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1
OBJ = o
LINK = $(CROSS_COMPILE)g++ -o
LINK_OPTS = -L.
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(CROSS_COMPILE)ld -o
LIBRARY_LINK_OPTS = $(LINK_OPTS) -r -Bstatic
LIB_SUFFIX = a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =

Unfortunately, I guess I did not set COMPILE_OPTS correctly, thus getting thousands of error lines like "undefined reference to operator new(unsigned int)".

I tried to change the -I location several times, none of them succeeded. 

Does someone know what is the path of COMPILE_OPTS?

Thanks a lot.

Tao

 

 

 

 

  • Tao,

    I personally have not done thison DM355, but the following thread seems to have some people who have successfully gotten live555 to work on DM355; one of them mentions something about a required patch from MV...  I would post on that thread and see if they can help

    http://e2e.ti.com/forums/t/207.aspx

     

  • I've compiled Live555 successfully on all the Davinci platforms without any problems - here's my top level Makefile

    COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
    C = c
    C_COMPILER = arm_v5t_le-gcc
    C_FLAGS = $(COMPILE_OPTS)
    CPP = cpp
    CPLUSPLUS_COMPILER = arm_v5t_le-g++
    CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1
    OBJ = o
    LINK = arm_v5t_le-g++ -o
    LINK_OPTS = -L.
    CONSOLE_LINK_OPTS = $(LINK_OPTS)
    LIBRARY_LINK = arm_v5t_le-ld -o
    LIBRARY_LINK_OPTS = $(LINK_OPTS) -r -Bstatic
    LIB_SUFFIX = a
    LIBS_FOR_CONSOLE_APPLICATION =
    LIBS_FOR_GUI_APPLICATION =
    EXE =

    Thanks,

    Jerry Johns
    Design Engineer
    Nuvation Research Corporation - Canada 

  • Thank you. I appreciate your helps a lot.

    Tao

  • I copied the MVTOOL_DIR and PREFIX lines from the Rules.make in the dvsdk 2_10_00_18 directory and added them to the Makefiles in the live subdirectories: BasicUsageEnvironment, groupsock, liveMedia, etc.....  I compiled and was able to run on the DMEVM365 board. This is what the head of my Makefile looks like:

     

    # The prefix to be added before the GNU compiler tools (optionally including
    # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".
    MVTOOL_DIR=/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le
    MVTOOL_PREFIX=$(MVTOOL_DIR)/bin/arm_v5t_le-
    INCLUDES = -Iinclude -I../UsageEnvironment/include -I../groupsock/include
    ##### Change the following for your environment:
    COMPILE_OPTS =        $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
    C =            c
    C_COMPILER =        $(MVTOOL_PREFIX)gcc
    C_FLAGS =        $(COMPILE_OPTS)
    CPP =            cpp
    CPLUSPLUS_COMPILER =    $(MVTOOL_PREFIX)c++
    CPLUSPLUS_FLAGS =    $(COMPILE_OPTS) -Wall -DBSD=1
    OBJ =            o
    LINK =            $(MVTOOL_PREFIX)c++ -o
    LINK_OPTS =        -L.
    CONSOLE_LINK_OPTS =    $(LINK_OPTS)
    LIBRARY_LINK =        $(MVTOOL_PREFIX)ld -o
    LIBRARY_LINK_OPTS =    $(LINK_OPTS) -r -Bstatic
    LIB_SUFFIX =            a
    LIBS_FOR_CONSOLE_APPLICATION =
    LIBS_FOR_GUI_APPLICATION =
    EXE =
    ##### End of variables to change

  • I compiled it. It works now.

    The key point is to change LINK.

  • Dear All,

    Please help me in  cross compiling live555 media server for Beagleboard-Xm. I have Ubuntu running on it. I am new in this field  so i dont know which toolchain to use and how to use it ?

    thanks in advance.