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/AM3354: Building SDK with a different cross-compiler

Part Number: AM3354

Tool/software: Linux

Hi guys:

       i just finished building ti processor sdk 03.02.00.05 for AM3354 with success on a 64bit ubuntu environment.

      due to company reasons..i now need to build the processor SDK again with a different cross-compiler on a 32bit debian environment.

     the original compiler is linaro 5.3 compiler. (x64)

     right now i had to change to arm-none-linux-gnueabi-gcc-4.9.1(x86) from mentor graphics.

     so.

     when i changed the PATH variable and try to build the sdk. i got an error.

    here is my steps:

(apt-install all the needed packages needed as usual.and changed the dpkg-reconfigure option as well.)

cd tisdk/build/
. conf/setenv
export PATH=/home/mgc/embedded/codebench/bin:$PATH
export MGLS_LICENSE_FILE=/home/mgc/license.lic
MACHINE=am335x-evm bitbake arago-core-tisdk-image -c cleanall

    and then i got :

ERROR: No valid toolchain in PATH
ERROR: Unable to parse TOOLCHAIN_PATH[:=]
Traceback (most recent call last):
  File "TOOLCHAIN_PATH[:=]", line 1, in <module>
  File "/media/hdd/yandong/arago/tisdk/sources/bitbake/lib/bb/__init__.py", line 104, in fatal:
         mainlogger.critical(''.join(args), extra=kwargs)
    >    raise BBHandledException()
     
ExpansionError: Failure expanding variable TOOLCHAIN_PATH[:=], expression was ${@bool(d.getVar('TOOLCHAIN_SYSPATH', d, 1)) and (os.path.exists(d.getVar('TOOLCHAIN_SYSPATH', d, 1)) and os.path.dirname(d.getVar('TOOLCHAIN_SYSPATH', d, 1)) or bb.fatal('No valid toolchain in PATH')) or ''} which triggered exception BBHandledException:

ERROR: Error parsing configuration files
Traceback (most recent call last):
  File "/media/hdd/yandong/arago/tisdk/sources/bitbake/lib/bb/cookerdata.py", line 258, in CookerDataBuilder.parseBaseConfiguration():
             try:
    >            self.parseConfigurationFiles(self.prefiles, self.postfiles)
             except SyntaxError:
  File "/media/hdd/yandong/arago/tisdk/sources/bitbake/lib/bb/cookerdata.py", line 318, in CookerDataBuilder.parseConfigurationFiles(prefiles=[], postfiles=[]):
             # Handle any INHERITs and inherit the base class
    >        bbclasses  = ["base"] + (data.getVar('INHERIT', True) or "").split()
             for bbclass in bbclasses:
AttributeError: 'NoneType' object has no attribute 'getVar'

    my questions are :

   1.how to fix this error i've seen?

  2.is it possible to change the cross-compiler itself? if i understand correctly...some part of sgx graphic accelerator driver module is pre-built with 5.3 compiler already? in that case does that mean that i simply can't change the compiler if i want to use the SGX graphics feature?

thanks you guys. you are always very helpful.

yandong.

  • The software team have been notified. They will respond here. Please note that I am not sure if this is a use case we support.
  • Yandong,

    We check to make sure you are using a Linaro toolchain, as that is what all of our testing and validation is done against. The recent Linaro toolchains for the last couple of years are only 64-bit.

    We do a lot of toolchain specific operations as part of building the SDK, including building necessary cross-compile libraries into Linux-devkit and enabling a target compiler. These operations will likely break and be difficult to get working on the Mentor toolchain.

    If you can get by with just rebuilding applications with the Mentor toolchain, that would be the recommended path.

  • Hi RonB

       thanks for the response and the information.

       could you just answer me one quick question.yes or no..?

       If i only want to use the mentor compiler to build:

       rootfs with sgx graphic support. also i do not need a target compiler.

       based on SDK 03.02.00.05

      
       i do not need to build uboot. or the entire sdk.all i actually need is a minimum rootfs with sgx graphics support.

       i've also tried to build 4.4.32 kernel from the SDK with the Mentor compiler and seems ok.

      is that do-able?

       if yes i will keep pushing forward.

      if no (especially if it's because there are something pre-built among the sgx related software parts with the linaro toolchain). i will stop trying this.

    thanks a lot

    yandong

  • Hi RonB:

        can you help answer my previous question ? really appreciate you help!!

    yandong