This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem in building NE10 library

Hi,

I am a new TI Sitara user for an embedded project. I have installed Sitara Linux SDK, which has the Linaro Toolchain. I want to use NE10 simply for DSP algorithm. Thus, it needs to set variable

GNULINUX_PLATFORM? (But I do not know how to set it)

It is not directly for Android. Excuse me for this non-Android question because I cannot find other appropriate forum for that.

After export the path:

SDK_INSTALL_DIR=$HOME/ti-sdk-am335x-evm-06.00.00.00

export PATH="$SDK_INSTALL_DIR/linux-devkit/sysroots/i686-arago-linux/usr/bin:$PATH"

the toolchain is verified that I can run it by:

SDK_INSTALL_DIR=$HOME/ti-sdk-am335x-evm-06.00.00.00

export PATH="$SDK_INSTALL_DIR/linux-devkit/sysroots/i686-arago-linux/usr/bin:$PATH"

But I still cannot build the NE10 library, please see the below message. I am new to GCC environment. Could you give me more detail information on Cmake or something other modification needed?

Regards,

........................

robert@robert-M5100:~/projectNe10-Ne10-4167142/build$ make

[  1%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o

cc1: error: unrecognized command line option ‘-mthumb-interwork’

cc1: error: unrecognized command line option ‘-mthumb’

cc1: error: unrecognized command line option ‘-mfpu=vfp3’

/home/robert/projectNe10-Ne10-4167142/modules/math/NE10_abs.c:1:0: error: bad value (armv7-a) for -march= switch

make[2]: *** [modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o] Error 1

make[1]: *** [modules/CMakeFiles/NE10.dir/all] Error 2

make: *** [all] Error 2

robert@robert-M5100:~/projectNe10-Ne10-4167142/build$ cmake -DCMAKE_TOOLCHAIN_FILE=../config.cmake ..

-- Configuring done

-- Generating done

CMake Warning:

  Manually-specified variables were not used by the project:

    CMAKE_TOOLCHAIN_FILE

-- Build files have been written to: /home/robert/projectNe10-Ne10-4167142/build

robert@robert-M5100:~/projectNe10-Ne10-4167142/build$ make

[  1%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o

cc1: error: unrecognized command line option ‘-mthumb-interwork’

cc1: error: unrecognized command line option ‘-mthumb’

cc1: error: unrecognized command line option ‘-mfpu=vfp3’

/home/robert/projectNe10-Ne10-4167142/modules/math/NE10_abs.c:1:0: error: bad value (armv7-a) for -march= switch

make[2]: *** [modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o] Error 1

make[1]: *** [modules/CMakeFiles/NE10.dir/all] Error 2

make: *** [all] Error 2

robert@robert-M5100:~/projectNe10-Ne10-4167142/build$

Parents
  • Hi

    I think you need to modify the "GNUlinux_config.cmake" according to your toolchain.

    Currently the hard float support has been added into Ne10 library.

    Take hard float Linaro gcc 4.8 as an example, you need to do:

    1. modify the "GNUlinux_config.cmake"

    set(GNULINUX_PLATFORM ON)

    set(CMAKE_C_COMPILER arm-linux-gnueabi-gcc)   ===>>>set(CMAKE_C_COMPILER \your_toolchain_path\arm-linux-gnueabihf-gcc)
    set(CMAKE_CXX_COMPILER arm-linux-gnueabi-g++) ===>>>set(CMAKE_CXX_COMPILER \your_toolchain_path\arm-linux-gnueabihf-g++)

    set(CMAKE_ASM_COMPILER arm-linux-gnueabi-as)===>>>set(CMAKE_ASM_COMPILER \your_toolchain_path\arm-linux-gnueabihf-as)

    find_program(CMAKE_AR NAMES "arm-linux-gnueabi-ar") ===>>>find_program(CMAKE_AR NAMES "\your_toolchain_path\arm-linux-gnueabihf-ar")
    mark_as_advanced(CMAKE_AR)

    find_program(CMAKE_RANLIB NAMES "arm-linux-gnueabi-ranlib") ===>>>find_program(CMAKE_RANLIB NAMES "\your_toolchain_path\arm-linux-gnueabihf-ranlib")

    mark_as_advanced(CMAKE_RANLIB)

    2. build Ne10 with cmake

    mkdir build && cd build

    cmake -DCMAKE_TOOLCHAIN_FILE=../GNUlinux_config.cmake .. 

    make

    Note: if you are building for Android, you need to add -DNE10_ARM_HARD_FLOAT=ON


    then the Ne10 library is built

Reply
  • Hi

    I think you need to modify the "GNUlinux_config.cmake" according to your toolchain.

    Currently the hard float support has been added into Ne10 library.

    Take hard float Linaro gcc 4.8 as an example, you need to do:

    1. modify the "GNUlinux_config.cmake"

    set(GNULINUX_PLATFORM ON)

    set(CMAKE_C_COMPILER arm-linux-gnueabi-gcc)   ===>>>set(CMAKE_C_COMPILER \your_toolchain_path\arm-linux-gnueabihf-gcc)
    set(CMAKE_CXX_COMPILER arm-linux-gnueabi-g++) ===>>>set(CMAKE_CXX_COMPILER \your_toolchain_path\arm-linux-gnueabihf-g++)

    set(CMAKE_ASM_COMPILER arm-linux-gnueabi-as)===>>>set(CMAKE_ASM_COMPILER \your_toolchain_path\arm-linux-gnueabihf-as)

    find_program(CMAKE_AR NAMES "arm-linux-gnueabi-ar") ===>>>find_program(CMAKE_AR NAMES "\your_toolchain_path\arm-linux-gnueabihf-ar")
    mark_as_advanced(CMAKE_AR)

    find_program(CMAKE_RANLIB NAMES "arm-linux-gnueabi-ranlib") ===>>>find_program(CMAKE_RANLIB NAMES "\your_toolchain_path\arm-linux-gnueabihf-ranlib")

    mark_as_advanced(CMAKE_RANLIB)

    2. build Ne10 with cmake

    mkdir build && cd build

    cmake -DCMAKE_TOOLCHAIN_FILE=../GNUlinux_config.cmake .. 

    make

    Note: if you are building for Android, you need to add -DNE10_ARM_HARD_FLOAT=ON


    then the Ne10 library is built

Children
No data