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.

Linux/PROCESSOR-SDK-AM335X: Bitbake build error

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

Hello

No rule to make target 'arch/arm/boot/dts/am335x-icev2-pru-excl-uio.dtb'

I keep getting the above error trying to build for the AM335x starter kit. I am building with:

> bitbake arago-base-tisdk-image

I have added the default MACHINE to the config file and am following the instructions from -processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK

using the pre-downloaded snapshot of the sources from -"software-dl.ti.com/.../am335x-evm-linux-sdk-arago-src-04.00.00.04.tar.xz". 

The output  I get is:

Loading cache: 100% |#########################################################################| Time: 0:00:04
Loaded 3236 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION = "1.32.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-16.04"
TARGET_SYS = "arm-linux-gnueabi"
MACHINE = "am335x-evm"
DISTRO = "arago"
DISTRO_VERSION = "2017.05"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard"
TARGET_FPU = "hard"
meta-processor-sdk = "HEAD:3d2f620a6a98b1b6abb1103d7dc986921436ed19"
meta-arago-distro
meta-arago-extras = "HEAD:b727bf8fce8e9cb5a6b5d5b48c45f0088e67eb53"
meta-browser = "HEAD:880a7bd1d3b9a1b2003f5b0620350f03158bbd43"
meta-qt5 = "HEAD:3601fd2c5306ac6d5d0d536e0be8cbb90da9b4c1"
meta-networking
meta-ruby
meta-python
meta-oe
meta-gnome = "HEAD:fe5c83312de11e80b85680ef237f8acb04b4b26e"
meta-ti = "HEAD:41d6fdc0fe5ea6054616cfccda13baac3ff33791"
meta-linaro-toolchain
meta-optee = "HEAD:d84874bad834657dd04ea69c35a74dd9dbd535b8"
meta = "HEAD:ddf907ca95a19f54785079b4396935273b3747f6"

Initialising tasks: 100% |####################################################################| Time: 0:00:18
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: linux-ti-staging-4.9.28+gitAUTOINC+eed43d1050-r22c.arago5.tisdk3 do_compile: oe_runmake failed
ERROR: linux-ti-staging-4.9.28+gitAUTOINC+eed43d1050-r22c.arago5.tisdk3 do_compile: Function failed: do_compile (log file is located at /home/jeff/oe-dir/tisdk/build/arago-tmp-external-linaro-toolchain/work/am335x_evm-linux-gnueabi/linux-ti-staging/4.9.28+gitAUTOINC+eed43d1050-r22c.arago5.tisdk3/temp/log.do_compile.11851)
ERROR: Logfile of failure stored in: /home/jeff/oe-dir/tisdk/build/arago-tmp-external-linaro-toolchain/work/am335x_evm-linux-gnueabi/linux-ti-staging/4.9.28+gitAUTOINC+eed43d1050-r22c.arago5.tisdk3/temp/log.do_compile.11851
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E zImage CC=arm-linux-gnueabihf-gcc -mno-thumb-interwork -marm -fuse-ld=bfd LD=arm-linux-gnueabihf-ld.bfd LOADADDR=0x80008000
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E am335x-evm.dtb
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E am335x-evmsk.dtb
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E am335x-bone.dtb
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E am335x-boneblack.dtb
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E am335x-bonegreen.dtb
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E am335x-icev2.dtb
| NOTE: make -j 2 HOSTCC=gcc HOSTCPP=gcc -E am335x-icev2-pru-excl-uio.dtb
| ERROR: oe_runmake failed
| CHK include/config/kernel.release
| GEN ./Makefile
| CHK include/generated/uapi/linux/version.h
| CHK include/generated/utsrelease.h
| Using /home/jeff/oe-dir/tisdk/build/arago-tmp-external-linaro-toolchain/work-shared/am335x-evm/kernel-source as source for kernel
| CC scripts/mod/empty.o
| CC scripts/mod/devicetable-offsets.s
| MKELF scripts/mod/elfconfig.h
| HOSTCC scripts/mod/modpost.o
| HOSTCC scripts/mod/sumversion.o
| GEN scripts/mod/devicetable-offsets.h
| HOSTCC scripts/mod/file2alias.o
| HOSTLD scripts/mod/modpost
| CHK include/generated/timeconst.h
| CHK include/generated/bounds.h
| CHK include/generated/asm-offsets.h
| CALL /home/jeff/oe-dir/tisdk/build/arago-tmp-external-linaro-toolchain/work-shared/am335x-evm/kernel-source/scripts/checksyscalls.sh
| CHK include/generated/compile.h
| CHK kernel/config_data.h
| DTC drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb
| DTB drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb.S
| AS drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb.o
| LD drivers/gpu/drm/tilcdc/built-in.o
| rm drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb.S drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dtb
| LD drivers/gpu/drm/built-in.o
| LD drivers/gpu/built-in.o
| LD drivers/built-in.o
| LD vmlinux.o
| MODPOST vmlinux.o
| GEN .version
| CHK include/generated/compile.h
| UPD include/generated/compile.h
| CC init/version.o
| LD init/built-in.o
| KSYM .tmp_kallsyms1.o
| KSYM .tmp_kallsyms2.o
| LD vmlinux
| SORTEX vmlinux
| SYSMAP System.map
| OBJCOPY arch/arm/boot/Image
| Kernel: arch/arm/boot/Image is ready
| LZMA arch/arm/boot/compressed/piggy_data
| AS arch/arm/boot/compressed/piggy.o
| LD arch/arm/boot/compressed/vmlinux
| OBJCOPY arch/arm/boot/zImage
| Kernel: arch/arm/boot/zImage is ready
| CC scripts/mod/devicetable-offsets.s
| CC scripts/mod/empty.o
| MKELF scripts/mod/elfconfig.h
| HOSTCC scripts/mod/modpost.o
| GEN scripts/mod/devicetable-offsets.h
| HOSTCC scripts/mod/sumversion.o
| HOSTCC scripts/mod/file2alias.o
| HOSTLD scripts/mod/modpost
| make[3]: *** No rule to make target 'arch/arm/boot/dts/am335x-icev2-pru-excl-uio.dtb'. Stop.
| arch/arm/Makefile:336: recipe for target 'am335x-icev2-pru-excl-uio.dtb' failed
| make[2]: *** [am335x-icev2-pru-excl-uio.dtb] Error 2
| Makefile:150: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
| Makefile:24: recipe for target '__sub-make' failed
| make: *** [__sub-make] Error 2
| ERROR: Function failed: do_compile (log file is located at /home/jeff/oe-dir/tisdk/build/arago-tmp-external-linaro-toolchain/work/am335x_evm-linux-gnueabi/linux-ti-staging/4.9.28+gitAUTOINC+eed43d1050-r22c.arago5.tisdk3/temp/log.do_compile.11851)
ERROR: Task (/home/jeff/oe-dir/tisdk/sources/meta-ti/recipes-kernel/linux/linux-ti-staging_4.9.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1077 tasks of which 1069 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/jeff/oe-dir/tisdk/sources/meta-ti/recipes-kernel/linux/linux-ti-staging_4.9.bb:do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

  • Hello Jeff,

    Did you perform the host setup described in the quick start guide?

    1. For Ubuntu 14.04 and 16.04, please run the following:

    $ sudo apt-get install git build-essential python diffstat texinfo gawk chrpath dos2unix wget unzip socat doxygen libc6:i386 libncurses5:i386 libstdc++6:i386 libz1:i386

    2. By default Ubuntu uses "dash" as the default shell for /bin/sh. You must reconfigure to use bash by running the following command:

    sudo dpkg-reconfigure dash

    Be sure to select "No" when you are asked to use dash as the default system shell.

    Best,
    Sahin
  • Thanks Sahin.

    I had already setup my host with the required packages and have just rechecked and they are all the current versions. My shell is already bash.

    The error 'No rule to make target 'arch/arm/boot/dts/am335x-icev2-pru-excl-uio.dtb' occurs some way into the compilation and indicates something missing in the chain. As I'm new to Bitbake and OE etc, I decided to work from the pre-downloaded snapshot and simply build something successfully, so that I could learn my way around it.
  • Hello Jeff,

    Your computer's default shell has not successfully switched to bash. Please, see how the am335x-icev2-pru-excl-uio.dts gets generated:

    sources/meta-processor-sdk/recipes-kernel/linux/ti-uio.inc



    But this part of the code, doesn't work on your host machine.

    Best regards,
    Kemal

  • Great thanks.

    I have managed to get a build successfully so I can start to make some progress. I'm not sure how the system shell got changed back again, it was probably when I was experimenting with various desktops trying to get remote desktop working.

    Thanks for the help.

    Jeff