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/TMDSEVM437X: am437x-evm - Building processor-sdk-05.01.00.11-config.txt hangs while parsing recipes at 80%

Part Number: TMDSEVM437X

Tool/software: Linux

While building the full processor SDK (arago-base-tisdk-image) for am437x-evm appears to hang while parsing recipes at 80% for several hours.  Looking at the build machine in this state, it is idle. 

The build machine is an i7 3.2 GHz, 16gb RAM, 0.5tb disk, Ubuntu 16.04.  I have downloaded the entire source using the directions in the getting started guide.  No modifications, just trying to build the processor SDK out-of-box, so to speak.

Interrupting the build process gives the following python trace-back.  Has anyone seen this problem previously?  

Thanks!

--------------------

NOTE: Your conf/bblayers.conf has been automatically updated. 

NOTE: Your conf/bblayers.conf has been automatically updated. 

Parsing recipes:  80% |#########################################################################################################################################################                                      | ETA:  0:00:46 

Keyboard Interrupt, closing down... 

  

Traceback (most recent call last): 

  File "/home/jeffwh/tisdk/sources/bitbake/lib/bb/ui/knotty.py", line 468, in main 

    event = eventHandler.waitEvent(0.25) 

  File "/home/jeffwh/tisdk/sources/bitbake/lib/bb/server/process.py", line 557, in waitEvent 

    self.eventQueueNotify.wait(delay) 

  File "/usr/lib/python3.5/threading.py", line 549, in wait 

    signaled = self._cond.wait(timeout) 

  File "/usr/lib/python3.5/threading.py", line 297, in wait 

    gotit = waiter.acquire(True, timeout) 

KeyboardInterrupt 

  

During handling of the above exception, another exception occurred: 

  

Traceback (most recent call last): 

  File "/home/jeffwh/tisdk/sources/bitbake/bin/bitbake", line 48, in <module> 

    cookerdata.CookerConfiguration())) 

  File "/home/jeffwh/tisdk/sources/bitbake/lib/bb/main.py", line 389, in bitbake_main 

    configParams) 

  File "/home/jeffwh/tisdk/sources/bitbake/lib/bb/ui/knotty.py", line 686, in main 

    _, error = server.runCommand(["stateShutdown"]) 

  File "/home/jeffwh/tisdk/sources/bitbake/lib/bb/server/process.py", line 327, in runCommand 

    if not self.recv.poll(30): 

  File "/home/jeffwh/tisdk/sources/bitbake/lib/bb/server/process.py", line 591, in poll 

    return self.reader.poll(timeout) 

  File "/usr/lib/python3.5/multiprocessing/connection.py", line 257, in poll 

    return self._poll(timeout) 

  File "/usr/lib/python3.5/multiprocessing/connection.py", line 414, in _poll 

    r = wait([self], timeout) 

  File "/usr/lib/python3.5/multiprocessing/connection.py", line 911, in wait 

    ready = selector.select(timeout) 

  File "/usr/lib/python3.5/selectors.py", line 376, in select 

    fd_event_list = self._poll.poll(timeout) 

KeyboardInterrupt 

  • Re-running the build does not always hang at the same point when parsing recipes, the latest attempt is hanging at 63%.
  • Hello,

    Please make sure that you are following this guide:
    software-dl.ti.com/.../Overview_Building_the_SDK.html
    First you must execute the steps in chapter "Prerequisites (One-time setup)"

    BR
    Margarita
  • Thank you kindly for replying.  Yes I have followed the steps in the building the SDK, including the prerequisites.  I have copied these steps into scripts for setup and build.  I started with a clean machine, did the setup step, including downloading of all the source packages in advance which to the best of my ability to determine succeeded without error.

    Here is the setup script:

    #!/bin/bash
    #
    # Configure to allow 32 bit
    #
    sudo dpkg --add-architecture i386
    sudo apt-get update
    # Get prerequisites
    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 gcc-multilib
    # Reconfigure to use bash rather than dash
    sudo dpkg-reconfigure dash
    # Get the cross compilation toolchain
    tar -Jxvf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz -C $HOME
     
    git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
    cd tisdk
    ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-05.01.00.11-config.txt
    cd build
    cat >> ./conf/local.conf << 'EOF'
    MIRRORS += " \
    bzr://.*/.*      ${TI_MIRROR} \n \
    cvs://.*/.*      ${TI_M​IRROR} \n \
    git://.*/.*      ${TI_MIRROR} \n \
    gitsm://.*/.*    ${TI_MIRROR} \n \
    hg://.*/.*       ${TI_MIRROR} \n \
    osc://.*/.*      ${TI_MIRROR} \n \
    p4://.*/.*       ${TI_MIRROR} \n \
    npm://.*/.*      ${TI_MIRROR} \n \
    ftp://.*/.*      ${TI_MIRROR} \n \
    https?$://.*/.*  ${TI_MIRROR} \n \
    svn://.*/.*      ${TI_MIRROR} \n \
    "
    EOF

    And here is the build script:

    #!/bin/bash

    #
    cd tisdk/build
    . conf/setenv
    # Build processor SDK
    TOOLCHAIN_PATH=$HOME/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf MACHINE=am437x-evm bitbake arago-core-tisdk-image

    Thank you kindly for any suggestions.

  • Forgive me, I neglected to mention that I manually copy the source into tisdk/downoads between the setup and build steps. I followed the section 1.2.3.3 of document you referenced to obtain the snapshot sources and have archived them locally. It is this archive that I manually copy back to the tisdk/downloads folder if I restart the process.
  • Jeff,

    This kind of problem at parsing is new to us.

    Can you try "cleaning" your build and trying again?

    $ rm -rf bitbake* cache sstate-cache

    If that doesn't help, you may need to go even further and remove the temporary build directory named after the toolchain:

    $ rm -rf arago-tmp*

    See if you can at least parse after doing this.

    Thanks. I hope this helps.

  • Thanks for the suggestions. I am getting the hang symptoms on a fresh install on a machine, but I will be happy to try your suggestions and report back.

    One thought I had was that there can be multiple python providers. My machine is a clean install of Ubuntu 16.04 LTS. The setup script installs python from the Ubuntu package server. Is it possible this may be an inappropriate python install for the build process?

    I will let you know what I find from your suggestions.
  • Hello again. Performing the suggested steps (both of them) has allowed the parsing step to complete. Many thanks! The build is now proceeding. We shall see how it gets on...
  • The build error'd off with the following error:

    ERROR: external-linaro-toolchain-2017.11-r0.arago36 do_fetch: Fetcher failure for URL: 'git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git;protocol=git;branch=ti-lsk-linux-4.14.y'. Unable to fetch URL from any source.
    ERROR: external-linaro-toolchain-2017.11-r0.arago36 do_fetch: Function failed: base_do_fetch

    I was able to git clone the URL manually, so I just did another clean as suggested and then restarted the build. I seem to have gotten past this error and the build is proceeding.
  • The next issue I have encountered is the following:

    | ERROR: Function failed: do_generate_toolchain_file (log file is located at /home/jeffwh/tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/rosgraph/1.11.21-r0/temp/log.do_generate_toolchain_file.11641)

    ERROR: Task (/home/jeffwh/tisdk/sources/meta-ros/recipes-ros/ros-comm/rosgraph_1.11.21.bb:do_generate_toolchain_file) failed with exit code '1'

    The build output lists a log file, but it is empty.  I have captured the console output which shows several errors to the file buildfailure.txt and attached to this issue.

    /cfs-file/__key/communityserver-discussions-components-files/791/buildfailure.txt

    Thanks for assistance in understanding how this is failing.

  • Jeff,

    I've not seen this one either. I did a full build and had a few problems that I am working through. I would recommend that you add the -k option to your build so that you can complete as much as you can and then deal with the specific problems. The -k will keep the build going despite failures. I finished a build and ended up with about 4 errors and have worked through a couple and have a couple to go.
  • Thanks Ron, I will add the -k to my script.  I really appreciate your help.

  • Hi Ron,

    I have rerun the build with the -k option as requested.  I am looking through the attached logs but wanted to pass them along so you can see the kinds of issues we are having building the SDK.  I have also zipped up as much of the console output that I could capture.  Thanks again for your support.

    /cfs-file/__key/communityserver-discussions-components-files/791/buildLogs.zip

    /cfs-file/__key/communityserver-discussions-components-files/791/ConsoleOutput.zip

  • Thanks for the logs Jeff. I didn't see any of these issues. Looking at it in more detail, you have 13 seg faults reported for compiling. I didn't see a single one. If I remember right, this was one of your original issues. I don't really have a good explanation for this and I can't replicate it.

    Another resource for you to read through is the Arago distribution information at:

    http://arago-project.org/wiki/index.php/Setting_Up_Build_Environment

    There may be some useful information here like the requirement of g++-multilib. I'm in the process of adding that to our other docs.

    I wanted to make sure this is using the toolchain we recommend? Is this a dedicated machine or a VM?

    Thanks and I hope this helps.

  • James,

    Since we haven't heard back from you, I"m going to go ahead and close this issue. If you have more questions, please feel free to reply or start a new thread. Thanks.
  • Hello, I replied earlier, but apparently I did something wrong as I don't see the response, my apologies. I have been away over the holidays as well, but am back in office now.

    In response to your questions.

    1. Yes, I am using the toolchain recommended in the quick start guide.
    2. The build machine is a dedicated Dell 990 machine running Ubuntu 16.04.

    I have previously provided my script that I use to set up the environment and the one to build the processor SDK which provides the answers to these questions. Do you not have these scripts? I can provide them again if it is useful.

    Happy New Year and thank you for your kind assistance.
  • Jeff,

    Thanks for getting back to us. The only difference in our set up is Ubuntu 16.04. I'm afraid I can't test this myself as it is not approved by my IT organization.

    I have reviewed your scripts and the only thing I saw that stood out was the switch from Dash to Bash via script. I wanted to make sure that you did see the pop up and actually chose to disable Dash. We've seen this cause some weird problems.

    Other than this and the g++-multilib that I mentioned above, I'm following the same basic instructions. I don't see any of the errors, especially the seg faults that you are seeing. Other members of my team also use Yocto/OE regularly and this is something we haven't seen across several machines. Based on this, I can only recommend possibly trying a different machine or set up?

    I'm sorry your having trouble, but without being able to reproduce the errors I'm at a bit of a loss on how to help more.
  • Hi Ron,

    Thank you for getting back to me.  The Dash -> Bash was done correctly, I did see the popup and make the selection as instructed.  If you are not using Ubuntu 16.04, then what are you using with success?

    Regards,

    Jeff Whitlatch

  • Jeff,

    I am using Ubuntu 14.04.

    Thanks.
  • Very good Ron, thank you.  I will give that a go after getting a machine set up and let you know how I get on.

    Regards,

    Jeff Whitlatch