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.

Cannot build am335x tisdk-rootfs-image with 05.06.00.00 toolchain

I am trying to build the tisdk-rootfs-image from the sources. I am getting the following errors

[linux-devkit]:~/oe/oe-layersetup/build> MACHINE=am335x-evm bitbake tisdk-rootfs-image
File "<string>", line 1
import
^
SyntaxError: invalid syntax
BitBake requires Python 2.6 or later
[linux-devkit]:~/oe/oe-layersetup/build>

I am running ubuntu 10.04LTS with recent updates. Native python is 2.6.5. To do the build, I performed the following steps:

install the latest SDK from here: 

http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM335xSDK/latest/exports/ti-sdk-am335x-evm-05.06.00.00-Linux-x86-Install

Installed the recommended oe-core packages:

sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath libsdl1.2-dev xterm

created a subdirectory of my $HOME called oe, then from the ~/oe directory I installed and ran the oe-layertool-setup.sh script

git clone git://arago-project.org/git/projects/oe-layersetup.git

cd oe-layersetup; ./oe-layertool-setup.sh –f configs/amsdk/amsdk-05.06.00.00-config.txt

To put the toolchain in my path, I sourced the environment-setup script:

. /home/bone/ti-sdk-am335x-evm-05.06.00.00/linux-devkit/environment-setup

To setup the build environment, I sourced the setenv script:
[linux-devkit]:~/oe/oe-layersetup> cd build/
[linux-devkit]:~/oe/oe-layersetup/build> . ./conf/setenv

This process seemed to work with the 05.05.00 version of the toolchain, but the 05.05.00 version of the toolchain did not include Python 2.7

Should I go back to using the toolchain from the 05.05.00 linux-devkit/bin to do builds?

By the way, if instead of sourcing the environment-setup script I just put the tool chain at the end of my path, I get a different also bad result:

Pseudo is not present but is required, building this first before the main build
/bin/arm-arago-linux-gnueabi-gdb.real: error while loading shared libraries: /bin/arm-arago-linux-gnueabi-gdb.real: cannot open shared object file: No such file or directory
/bin/arm-arago-linux-gnueabi-gdb.real: error while loading shared libraries: /bin/arm-arago-linux-gnueabi-gdb.real: cannot open shared object file: No such file or directory
ERROR: Failure expanding variable ARG_VER_GDB[:=], expression was ${@arg_get_gdb_version(d)} which triggered exception IndexError: list index out of range
ERROR: Command execution failed: Exited with 1

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

  • The toolchain Dave pointed to is the one used to build the SDK with OpenEmbedded and gets repackaged into the SDK as linux-devkit.  With changes that came into the SDK and how toolchains are handled in the new oe-core base it looks like this repackaging is interfering with the OE build.  Go ahead and use the toolchain from above while we work to sort out this issue.

    Chase

  • Chase,

     

    .....

    Build still fails. Now cant find qt-everywhere-opensource-src-4.8.0.tar.gz. I ran MACHINE=am335x-evm bitbake -c fetchall tisdk-rootfs-image

    Errors message:

    WARNING: Failed to fetch URL http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz
    ERROR: Fetcher failure: Fetch command export HOME="/home/bone"; export SSH_AGENT_PID="1460"; export SSH_AUTH_SOCK="/tmp/ssh-BHgxklyu1385/agent.1385"; export GIT_CONFIG="/home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/sysroots/i686-linux/etc/gitconfig"; export PATH="/home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/sysroots/i686-linux/usr/bin/armv7a-vfp-neon-oe-linux-gnueabi:/home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/sysroots/am335x-evm/usr/bin/crossscripts:/home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/sysroots/i686-linux/usr/sbin:/home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/sysroots/i686-linux/usr/bin:/home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/sysroots/i686-linux/sbin:/home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/sysroots/i686-linux//bin:/home/bone/oe/oe-layersetup/sources/oe-core/scripts:/home/bone/oe/oe-layersetup/sources/bitbake/bin:/home/bone/oe/arago-2011.09/armv7a/bin:/home/bone/oe/arago-2011.09/armv7a/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/bone/oe/oe-layersetup/sources/oe-core/scripts"; /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/bone/oe/oe-layersetup/downloads 'http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz' could not be run:
    None
    ERROR: Function failed: Fetcher failure for URL: 'http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz'. Unable to fetch URL from any source.
    ERROR: Logfile of failure stored in: /home/bone/oe/oe-layersetup/build/arago-tmp-external-arago-toolchain/work/armv7a-vfp-neon-oe-linux-gnueabi/qt4-embedded-gles-4.8.0-r46.1-arago4.0/temp/log.do_fetch.11916
    NOTE: package qt4-embedded-gles-4.8.0-r46.1-arago4.0: task do_fetch: Failed
    ERROR: Task 185 (/home/bone/oe/oe-layersetup/sources/meta-arago/meta-arago-extras/recipes-qt/qt4/qt4-embedded-gles_4.8.0.bb, do_fetch) failed with exit code '1'

  • It looks like that site has changed and that tarball is gone.  Try changing SRC_URI to ftp://ftp.qt-project.org/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz instead.  latest oe-core recipe uses 4.8.4 which downloads from http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.4.tar.gz but the 4.8.0 version is not available at that site.

    Chase

  • This has got to be a newbie error on my part. I changed the start of the SRC_URI line in qt4-natvie.inc and qt-4.8.0.inc from

    SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \

    to

    SRC_URI = "ftp://ftp.qt-project.org/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \

    and

    ran MACHINE=am335x-evm bitbake -c fetchall tisdk-rootfs-image

    I got no warning or error about the qt-everywhere-opensource-src-4.8.0.tar.gz file not being able to be downloaded, but the file is not in the

    oe-layersetup/downloads

    directory.

    I tried increasing in qt4-embedded.inc INC_PR from "r46" to "r47" and in qt-natvie.inc INC_PR from "r14" to "r15" and reran bitbake. Output was


    Loading cache: 100% |####################################################################| ETA: 00:00:00
    Loaded 1724 entries from dependency cache.
    Parsing recipes: 100% |##################################################################| Time: 00:00:00
    Parsing of 1358 .bb files complete (1352 cached, 6 parsed). 1724 targets, 132 skipped, 8 masked, 0 errors.

    OE Build Configuration:
    BB_VERSION = "1.15.2"
    TARGET_ARCH = "arm"
    TARGET_OS = "linux-gnueabi"
    MACHINE = "am335x-evm"
    DISTRO = "arago"
    DISTRO_VERSION = "2012.10"
    TUNE_FEATURES = "armv7a vfp neon cortexa8"
    TARGET_FPU = "vfp-neon"
    meta-arago-distro
    meta-arago-extras = "amsdk-05.06.00.00-integration:64bda55e021d7452b07a9fbbecb8aa1e5c6aadba"
    toolchain-layer
    meta-oe = "(nobranch):e77646bc2cf905fd671fc5c19ab6fd17f9b94b3f"
    meta-ti = "amsdk-05.06.00.00-integration:d8f257b275bbf2d573d66d823a118c765f7a26f9"
    meta = "(nobranch):c15fae372cf75403facc28cf76f973b1279425dd"

    NOTE: Resolving any missing task queue dependencies
    NOTE: preferred version 2.6.31 of linux-libc-headers not available (for item linux-libc-headers)
    NOTE: versions of linux-libc-headers available: 3.0.8 3.2
    NOTE: preferred version 2.6.31 of linux-libc-headers not available (for item linux-libc-headers-dev)
    NOTE: versions of linux-libc-headers available: 3.0.8 3.2
    NOTE: Preparing runqueue
    NOTE: Executing SetScene Tasks
    NOTE: Executing RunQueue Taskscd 
    NOTE: Running task 210 of 427 (ID: 329, /home/bone/oe/oe-layersetup/sources/oe-core/meta/recipes-qt/qt4/qt4-native_4.8.0.bb, do_fetch)
    NOTE: Running task 322 of 427 (ID: 185, /home/bone/oe/oe-layersetup/sources/meta-arago/meta-arago-extras/recipes-qt/qt4/qt4-embedded-gles_4.8.0.bb, do_fetch)
    NOTE: package qt4-native-4.8.0-r15.0: task do_fetch: Started
    NOTE: package qt4-native-4.8.0-r15.0: task do_fetch: Succeeded
    NOTE: package qt4-embedded-gles-4.8.0-r47.1-arago4.0: task do_fetch: Started
    NOTE: package qt4-embedded-gles-4.8.0-r47.1-arago4.0: task do_fetch: Succeeded
    NOTE: Tasks Summary: Attempted 427 tasks of which 425 didn't need to be rerun and all succeeded.

    Still no qt-everywhere-opensource-src-4.8.0.tar.gz file in the downloads directory.

    What am I doing wrong? 

  • Paul,

    I'm surprised that the output doesn't show the download of the tarball.  Can you try doing clean build?  You can also try just doing

    bitbake -c cleanall qt4-embedded

    Chase

  • Thanks Chase and Franklin for your help. The mistake was in how I edited the SRC_URI lines.

    For example, the original line in qt4-native.inc was
               file://qt-config.patch \
               file://g++.conf \
               file://linux.conf"
    I edited the recipe file this way:
               file://qt-config.patch \
               file://g++.conf \
               file://linux.conf"

    The # symbol does comment out the line, but it does not comment out the line continuation character \. As a result, I commented out the whole SRC_URI statement. The fix was to delete the SRC_URI = line I commented out in both qt4-native.inc and qt-4.8.0.inc.