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.

ti-sdk-am335x-evm-08.00.00.00 out of box: ARM BENCHMARK build error

Dear All,
    I have a little problem when compiling the version 8 of the SDK (ti-sdk-am335x-evm-08.00.00.00).
I followed all the steps described in the "Getting Started Guide" and:

1) I can successfully build the linux kernel
2) I can successfully build the u-boot

but when compiling the SDK I have a little problem since the build of ARM BENCKMARS does not find the "stdio.h".
Maybe I can arrange the makefile to find the requested header but I find quite strange the makefile does not work out of the box and maybe I forget something.

The host computer runs Ubuntu 10.04 LTS.

Here the build error:

=============================
Building ARM Benchmarks
=============================
make[1]: Entering directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3'
for dir in dhrystone whetstone linpack; do \
                make -C $dir debug; \
done
make[2]: Entering directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3/dhrystone'
/home/ermes/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -g3 -gdwarf-2 -DTIME  -c -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -oDebug/dhry_1.o dhry_1.c
In file included from dhry_1.c:56:0:
dhry.h:432:19: fatal error: stdio.h: No such file or directory
compilation terminated.
make[2]: *** [Debug/dhry_1.o] Error 1
make[2]: Leaving directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3/dhrystone'
make[2]: Entering directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3/whetstone'
/home/ermes/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -g3 -gdwarf-2   -fmessage-length=0 -Wall -c -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -oDebug/whetstone.o whetstone.c
whetstone.c:93:20: fatal error: stdlib.h: No such file or directory
compilation terminated.
make[2]: *** [Debug/whetstone.o] Error 1
make[2]: Leaving directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3/whetstone'
make[2]: Entering directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3/linpack'
/home/ermes/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -g3 -gdwarf-2 -DUNROLL -DSP  -fmessage-length=0 -c -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -oDebug/linpack.o linpack.c
linpack.c:89:19: fatal error: stdio.h: No such file or directory
compilation terminated.
make[2]: *** [Debug/linpack.o] Error 1
make[2]: Leaving directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3/linpack'
make[1]: *** [debug] Error 2
make[1]: Leaving directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3'
make: *** [arm-benchmarks] Error 2


In the SDK path stdio.h is located in the following folders:

./linux-devkit/sysroots/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/include/c++/4.7.3/tr1/stdio.h
./linux-devkit/sysroots/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/usr/include/bits/stdio.h
./linux-devkit/sysroots/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/usr/include/stdio.h
./linux-devkit/sysroots/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/usr/include/arm-linux-gnueabi/bits/stdio.h
./linux-devkit/sysroots/i686-arago-linux/usr/lib/gcc/arm-linux-gnueabihf/4.7.3/include/ssp/stdio.h

  • Forwarding this to the SW team.

  • Hi Peregrinus,

    Please read in the directory README file. I make:

    make clean
    make all

    and build all successfully.

    BR
    Ivan
  • Thank you Ivan.
    This is the first thing I tried.

    But now, looking with more attention I see that the make clean fails due to an error in the Makefile:

    /home/ermes/ti-sdk-am335x-evm-08.00.00.00/board-support/linux-3.14.26-g2489c02/kernel/gcov/Makefile

    there is an endif directive missing...

    =================================
    Cleaning the Linux Kernel
    =================================
    make -C /home/ermes/ti-sdk-am335x-evm-08.00.00.00/board-support/linux-3.14.26-g2489c02 ARCH=arm CROSS_COMPILE=/home/ermes/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- mrproper
    make[1]: Entering directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/board-support/linux-3.14.26-g2489c02'
    /home/ermes/ti-sdk-am335x-evm-08.00.00.00/board-support/linux-3.14.26-g2489c02/kernel/gcov/Makefile:10: Extraneous text after `else' directive
    /home/ermes/ti-sdk-am335x-evm-08.00.00.00/board-support/linux-3.14.26-g2489c02/kernel/gcov/Makefile:12: *** only one `else' per conditional.  Stop.
    make[2]: *** [kernel/gcov] Error 2
    make[1]: *** [_clean_kernel] Error 2
    make[1]: Leaving directory `/home/ermes/ti-sdk-am335x-evm-08.00.00.00/board-support/linux-3.14.26-g2489c02'
    make: *** [linux_clean] Error 2

  • Hi Peregrinus,

    Would you first set the environment in the working directory:
    cd ~/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3

    $export ARCH=arm
    $export CROSS_COMPILE=/home/users/imatrakov/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/arm-linux-gnueabihf-

    and then type:
    make clean
    make all

    There is not any error on my computer. If you have error on your computer please give more information.

    BR
    Ivan
  • Hi Ivan,

       unfortunately this does not solve. I have the same problem. I tried to export the two var. In principle the exported variables have been set in the makefile which includes Rules.make where I have defined the CROSS_COMPILE.

    Below my environment variables.

    ermes@linux-workstation:~/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3$ echo $ARCH
    
    arm
    
    ermes@linux-workstation:~/ti-sdk-am335x-evm-08.00.00.00/example-applications/arm-benchmarks-1.3$ echo $CROSS_COMPILE
    
    /home/ermes/ti-sdk-am335x-evm-08.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-

    Is it possible I can not compile with Linux 10.04 LTS? I am going to install Ubuntu 14.04...

  • To close the thread. I reinstalled the SDK on a fresh Ubuntu 14.04LTS system and all is fine.

    In my Ubuntu 10.04LTS I had the Montavista (first DM365 SDK release) toolchain installed. Even if the environment variables was correctly set, there was something else wrong. Moreover, according to the documentation, the 10.04LTS is not supported for the Sitara SDK.