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.

XDCTOOLS_JAVA_HOME for CCSv6 on Linux Host

I have installed ccsv6.1.3 on Ubuntu 14.04 x86 64bit.

I used the TI app store to install TI-RTOS for Tiva-C. That installed tirtos_tivac_2_16_01_14 and xdctools_3_32_00_06 (I think I actually have several copies of xdctools)

I used Resource explorer to find the "hello" example and imported the project. The project was created fine.

When I try to build I get an error that indicates that "XDCTOOLS_JAVA_HOME is set, but does not appear to be a directory containing a 64-bit Java Runtime Environment (1.7 or greater): e.g., '/usr/lib/jvm/java-7-openjdk-amd64'. I do see on the console log that it is trying to use xdctools_3_32_00_06_core/xs

I had a similar issue when I was building the examples from the command line. There I had a copy of the examples dir and edited the makedefs file for my system paths and TI ARM compiler version (15.12.1.LTS). In there I defined & exported XDCTOOLS_JAVA_HOME to exactly the path in the error messages as I have that package already installed. I had only copied 4 examples but they built fine this way.

To workaround the CCS issue I tried defining XDCTOOLS_JAVA_HOME in the workspace env settings
(Menu: Window/Preferences, Dialog: General/Code Composer Studio/Build/Environment)

This did not help. I presume that CCS is setting XDCTOOLS_JAVA_HOME to <install>/ti/ccsv6/eclipse/jre which is a 32 bit JRE and xdc needs a 64 bit JRE.

My workaround was to create a symlink named jre in the xdstools directory: (adjust the cd command for your installed location)

$ sudo apt-get update; sudo apt-get install openjdk-7-jre
$ cd ~/ti/xdstools_3_32_00_06_core
$ ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre

Note: a symlink to /usr/lib/jvm/java-7-openjdk-amd64 does not work for some reason even though both paths work fine as settings for XDCTOOLS_JAVA_HOME.

IAR has a similar issue[1]. The second work around there should also work but the symlink is easier.

I know this should get fixed when ccs7 goes to 64 bit but is there a fix planed for the ccsv6 series?

Bill

[1] wiki.tiprocessors.com/.../TI-RTOS_Xdctools_Java_Home_IAR

  • Bill,

    Thanks for reporting this; I see the same issue. I suspect the TI-RTOS team is already configured to use the 64-bit version of the XDC tools but CCS is still 32-bits. I will forward this thread to the developers and see if they have an idea to better align this during the 32-64-bit transition.

    Regards,
    Rafael
  • In case there are other users encountering the same problem, there is an option of switching to XDCtools 3.31.3.43, in Project Properties->CCS General->RTSC->XDCtools version. That should work for build, and XGconf seems to run fine. I'll test some other components and report back if I find anything not working.

    Edit: just wanted to add that ROV is working fine too.

  • I'm using CCS 6.1.3 on Ubuntu 64bit 16.0.4 LTS. Both XDC tools 3.31.3.43 and 3.32.00.06 were installed. The project was set to use  3.32.00.06 and had issues with XDCTOOLS_JAVA_HOME. However, setting the path correctly did not solve the problem, nor did sym-linking as suggested by Bill Mill previously.

    So this is for anyone who runs into XDC related /XGConf related issues on a similar platform, especially this cryptic message while trying to run XGConf (clicking on some app.cfg in the IDE) spits out this output:

    xdc.tools.xgconf.productview: target ti.targets.arm.elf.M4 exception: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.targets.arm.elf' along the path: '/proj/CCS-Workspace/ti_rtos_config/.config/;/proj/CCS/xdctools_3_31_03_43_core/packages;/proj/CCS/xdctools_3_32_00_06_core/packages;'. Ensure that the package path is set correctly.

    (Or, you got an "INVALID CODEGEN" from the same action with XDCTools 3.32.00.06)

    Now the solution that worked for me was to fall back to 3.31.3.43. I also had to point the XDCTOOLS_JAVA_HOME at Properties->CCS Build->Environment tab to a Java Home containing a 32 bit JVM -- using CCS eclipse directory (/proj/CCS/eclipse in my case) under which a 'jre' subdirectory exists was handy. This is the only thing that helped, a 64 bit JVM with XDCTools 3.32 did not work.

  • My environment: Ubuntu 16.04 64-bit, CCS6.1.3.00034, LaunchPadXL-CC2650, project simpleBLEPeripheral

    Just reporting my experience for this issue: 

    changed value of project  Properties->CCS Build->Environment>XDCTOOLS_JAVA_HOME      to       /usr/lib/jvm/java-8-openjdk-amd64  (the jre owned by the host)

    At least that got me by the error reported by the original post (and XDCTools is version 3.32.0.6_core)

    I haven't successfully built the project yet.  Now I have problems with capitalization:   OSAL_Memory.h does not exist, it is now osal_memory.h?