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.

RTOS/PROCESSOR-SDK-AM57X: IPC Linux examples build error

Part Number: PROCESSOR-SDK-AM57X

Tool/software: TI-RTOS

When I'm trying to build IPC examples using that manual, some strange errors are occurring after kernel build. If I copy the failing commands into console, they are working without errors, but the next make fails again..

Both SDKs have the same version and located in the default locations. What am I doing wrong?

http://processors.wiki.ti.com/index.php/Processor_SDK_IPC_Quick_Start_Guide#Build_IPC_Linux_examples

=================================
Configuring IPC
=================================
SDK_INSTALL_PATH=/home/san/ti source /home/san/ti/processor_sdk_rtos_am57xx_4_01_00_06/setupenv.sh > /dev/null; \
. /home/san/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/environment-setup; \
cd ${IPC_INSTALL_PATH}; \
./configure ${CONFIGURE_FLAGS} \
CC=${CC} \
--prefix=/usr \
PLATFORM=${IPC_PLATFORM} \
KERNEL_INSTALL_DIR=/home/san/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/board-support/linux-4.9.41+gitAUTOINC+e3a80a1c5c-ge3a80a1c5c
/bin/sh: 1: source: not found
/bin/sh: 4: ./configure: not found
Makefile:760: recipe for target 'ti-ipc-linux-config' failed
make: *** [ti-ipc-linux-config] Error 127
san@cubi:~/ti-processor-sdk-linux-am57xx-evm-04.01.00.06$ source
bash: source: filename argument required
source: usage: source filename [arguments]

  • The software team have been notified. They will respond here.
  • Hi, Andrey,

    I feel that you are not following the steps in the IPC Quick Start Guide. I suspect some of the environment variables are not set, may be the IPC_INSTALL_PATH?

    Here are what I did and I didn't run into any problem. The logs from my run in the area you had issue are displayed following the commands. Please be sure that the steps in the Quick Start Guide are followed.

    972 cd ti-processor-sdk-linux-am57xx-evm-04.01.00.06/
    973 la
    974 echo $PATH
    975 echo $TI_RTOS_PATH
    976 export TI_RTOS_PATH=~/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06
    977 export IPC_INSTALL_PATH=~/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06/ipc_3_46_02_04
    978 make ti-ipc-linux
    979 echo $SDK_INSTALL_PATH
    980 export SDK_INSTALL_PATH=~/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06
    981 export TOOLS_INSTALL_PATH=~/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06
    982 cd ../ti-processor-sdk-rtos-am57xx-evm-04.01.00.06/processor_sdk_rtos_am57xx_4_01_00_06
    983 la
    984 source ./setupenv.sh
    985 make ipc_bios
    986 echo $TI_RTOS_PATH
    987 echo $TI_CCS_PATH
    988 export TI_CCS_PATH=~/ti/ccsv7
    989 cd ../../ti-processor-sdk-linux-am57xx-evm-04.01.00.06/
    990 make ti-ipc-linux-examples
    991 history

    =================================
    Configuring IPC
    =================================
    SDK_INSTALL_PATH=/home/xxxxx/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06 source /home/xxxxx/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06/processor_sdk_rtos_am57xx_4_01_00_06/setupenv.sh > /dev/null; \
    . /home/xxxxx/work/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/environment-setup; \
    cd ${IPC_INSTALL_PATH}; \
    ./configure ${CONFIGURE_FLAGS} \
    CC=${CC} \
    --prefix=/usr \
    PLATFORM=${IPC_PLATFORM} \
    KERNEL_INSTALL_DIR=/home/xxxxx/work/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/board-support/linux-4.9.41+gitAUTOINC+e3a80a1c5c-ge3a80a1c5c
    /bin/sh: 1: source: not found
    configure: WARNING: unrecognized options: --with-libtool-sysroot
    configure: loading site script /home/xxxxx/work/ti-processor-sdk-linux-am57xx-evm-04.01.00.06/linux-devkit/site-config-armv7ahf-neon-linux-gnueabi
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    /home/xxxxx/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06/ipc_3_46_02_04/linux/build-aux/missing: Unknown `--is-lightweight' option
    Try `/home/xxxxx/work/ti-processor-sdk-rtos-am57xx-evm-04.01.00.06/ipc_3_46_02_04/linux/build-aux/missing --help' for more information
    configure: WARNING: 'missing' script is too old or missing
    checking for arm-linux-gnueabi-strip... arm-linux-gnueabihf-strip

    Rex
  • Thanks Rex for your information.

    As far as I understand from your commands history, I should rebuild "Linux out of box demo" first and then try to "Build IPC Linux examples".

    Ok, but that way makes things worse for me - even the linux kernel compilation now fails with strange error which I never seen before. Here is the script which I'm using to build the sdk.

    #!/bin/bash -e
    
    LINUX_SDK=~/ti-processor-sdk-linux-am57xx-evm-04.01.00.06
    
    export PATH=$LINUX_SDK/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$PATH
    export TI_RTOS_PATH=~/ti
    export IPC_INSTALL_PATH=~/ti/ipc_3_46_02_04/
    
    cd $LINUX_SDK
    make ti-ipc-linux
    

      GEN     lib/oid_registry_data.c
    Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: //usr/lib/perl/site_perl/5.22.1 //usr/lib/perl/vendor_perl/5.22.1 //usr/lib/perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/site_perl/5.22.1/ /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/site_perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/vendor_perl/5.22.1/ /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/vendor_perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/5.22.1/ /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/5.22.1 /tmp/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/sysroots/x86_64-arago-linux/usr/lib/perl/5.22.1 .) at ./lib/build_OID_registry line 14.
    BEGIN failed--compilation aborted at ./lib/build_OID_registry line 14.
    lib/Makefile:220: recipe for target 'lib/oid_registry_data.c' failed
    

  • Hi, Andrey,

    Not really need to rebuild the out-0f-box example, but do need to rebuild IPC linux library. I don't think it in included in the file system.

    Sorry to mention that there is an issue in ProcSDK 4.1 release in which perl in linux-devkit isn't relocatable. The workaround would be to only use the toolchain from the devkit, and use perl from the host. This is the way the top-level makefile operates.

    To do this, you will need to set CROSS_COMPILE to include the path to the toolchain and not add the devkit to the PATH.

    For example:
    $ make ARCH=arm CROSS_COMPILE=../../linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-

    The other way to workaround this is to download ProcSDK 4.0, and specify the 4.0 linux-devkit toolchain in the PATH.

    This issue will be fixed in 5.0 release in 1Q18.

    Rex
  • Here is the script which successfully builds Linux IPC examples for me from SDK 4.1 (using toolchain from SDK 4.0). Build results are placed into ~/ti/ipc-build directory.

    #!/bin/bash -e
    
    # toolchain from linux sdk 4.0
    TOOLCHAIN=~/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
    export PATH=$TOOLCHAIN:$PATH
    
    export TI_RTOS_PATH=~/ti
    export SDK_INSTALL_PATH=$TI_RTOS_PATH
    export IPC_INSTALL_PATH=$TI_RTOS_PATH/ipc_3_46_02_04
    export IPC_PLATFORM=DRA7XX
    
    INSTALL=$TI_RTOS_PATH/ipc-build
    mkdir -p $INSTALL
    
    cd $TI_RTOS_PATH/processor_sdk_rtos_am57xx_4_01_00_06
    source ./setupenv.sh
    make ipc_bios
    
    cd ~/ti-processor-sdk-linux-am57xx-evm-04.01.00.06
    make ti-ipc-linux_install DESTDIR=$INSTALL
    make PLATFORM=am57xx ti-ipc-linux-examples_install DESTDIR=$INSTALL EXEC_DIR=$INSTALL