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.

Not able to install CCS12.4.0.00007 in Dockercontainer

Other Parts Discussed in Thread: CCSTUDIO

Hello E2E,

 i try to install the CCS12.4 in a Ubuntu 22.04 Docker environment. I can download / extract the file und start the installer. After starting the installer crashes the installation. In a Ubuntu 20.04 VM does this work very well. One point is thta the installer if it's running in the unattended mode ise sended to a child shell. Therefore the Docker container will not wait until completion. In addtion i writed out the debug trace. Could you please take a view to the debug data.

Whats are your recommendations?

docker.log

# ************************************************************************
#  Copyright        : All right reserved
#  Company          : Siemens AG, 2023
#  Address          : Clemens-Winkler-Strasse 3, 09116 Chemnitz
#  Telephone        : +49 371 4750
#
#  Author           : Andreas Kaeberlein
#  eMail            : andreas.kaeberlein@siemens.com
#  Telephone        : +49 371 4810-2108
#
#  File             : Dockerfile
#
#  Description      : Controls the build of the new cotainer
#
#  Sources          : https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
#                     https://www.ti.com/tool/download/CCSTUDIO
#                     https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/820478/faq-ccs-ccsv9---installer-in-text-mode-no-gui-only-cli-usage
#                     https://software-dl.ti.com/ccs/esd/documents/ccs_installer-cli.html#Examples
#                     https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1218917/codecomposer-ccstudio-in-a-modern-docker-container
#
#  on               : 2023-09-15
# ************************************************************************


FROM --platform=linux/amd64 ubuntu:22.04
COPY ./build/tmp/apt.conf /etc/apt/apt.conf
COPY ./build/ /tmp/build/
RUN /bin/bash -c ' source $HOME/.bashrc; \
                   export http_proxy=$(cat /tmp/build/tmp/proxy); \
                   export https_proxy=$(cat /tmp/build/tmp/proxy); \
                   export HELP_TOOLS="curl wget p7zip-full"; \
                   export CCS_COMP="PF_MSP430"; \
                   export CCS_INSTALL=/opt/ti/ccs; \
                   export CCS_URL="https://dr-download.ti.com/software-development/ide-configuration-compiler-or-debugger/MD-J1VdearkvK/12.4.0/CCS12.4.0.00007_linux-x64.tar.gz"; \
                   export CCS_FILE=${CCS_URL##*/}; \
                   export CCS_DIR=${CCS_FILE%.tar.gz}; \
                   export CCS_RUN=${CCS_DIR%_*}; export CCS_RUN=ccs_setup_${CCS_RUN##*CCS}.run; \
                   export CCS_EXEC="/tmp/build/download/${CCS_DIR}/${CCS_RUN} --mode unattended --prefix ${CCS_INSTALL} --enable-components ${CCS_COMP}"; \
                   export CCS_DEPS="libpython2.7 libtinfo5 libusb-0.1-4 libgconf-2-4"; \
                   mkdir -p /tmp/build/download; \
                   mkdir -p ${CCS_INSTALL}; \
                   apt-get update && apt-get install ${HELP_TOOLS} -yq && apt-get clean && \
                   apt-get update && apt-get install ${CCS_DEPS} -yq && apt-get clean && \
                   curl ${CCS_URL} --output /tmp/build/download/${CCS_FILE} && \
                   tar -xvf /tmp/build/download/${CCS_FILE} -C /tmp/build/download/ && \
                   /tmp/build/download/${CCS_DIR}/${CCS_RUN} --help && \
                   /tmp/build/download/${CCS_DIR}/${CCS_RUN} --version && \                  
                   echo "[INFO]   Start CCS installation: ${CCS_EXEC}" && \
                   ${CCS_EXEC} --debugtrace ./ccsdebug.log && \
                   ps && \
                   sleep 1 && \
                   ls -la ${CCS_INSTALL} && \
                   apt-get remove ${HELP_TOOLS} -yq && apt-get purge ${HELP_TOOLS} -yq && apt-get autoremove -y && apt-get autoclean -y && \
                   rm -rf /tmp/build/download && \
                   rm -f /etc/apt/apt.conf && \
                   unset http_proxy && \
                   unset https_proxy \
                 '

#bash -c "${CCS_EXEC} & CCS_PID=$! wait ${CCS_PID}" && \

  • Hi Andreas,

    The installer log generated by --debugtrace is in a proprietary format only InstallBuilder understands. We do not have the ability to decode it. The installer also generates a text log in /tmp. The log file is moved into the installation folder when the install completes, so if the installer were to crash the partial log should still exist in /tmp. Would you be able to see if there's anything there?

  • drwxrwxrwt. 4 root root  185 Oct  5 13:24 .
    drwxr-xr-x. 1 root root 4096 Oct  5 13:22 ..
    drwxr-xr-x. 4 root root   33 Oct  5 13:22 build
    drwxr-xr-x. 3 root root   18 Oct  5 13:23 ccs_99ce26ec-863b-407e-7104-f62e03dbd643
    -rw-------. 1 root root   55 Oct  5 13:23 installbuilder_installer.log
    -rw-------. 1 root root   55 Oct  5 13:23 installbuilder_installer_3452.log
    -rw-------. 1 root root 4157 Oct  5 13:24 installbuilder_installer_3454.log
    Log started 10/05/2023 at 13:23:54
    Exiting with code 0
    Log started 10/05/2023 at 13:23:56
    Exiting with code 0
    Log started 10/05/2023 at 13:23:58
    Preferred installation mode : unattended
    Trying to init installer in mode unattended
    Mode unattended successfully initialized
    [13:23:58] CCS_INFO: Installer timestamp 20231005132358
    [13:23:58] Installer arguments --mode unattended --prefix /opt/ti/ccs --enable-components PF_MSP430
    [13:23:59] CCS_INFO: Initialization sets components_download_url to http://software-dl.ti.com/ccs/esd/CCSv12/CCS12.4.0.00007_linux-x64/components
    [13:23:59] createshortcuts set to true
    [13:23:59] CCS_INFO: Temporary folder set to /tmp/ccs_99ce26ec-863b-407e-7104-f62e03dbd643
    [13:23:59] CCS_INFO: Product families available: PF_MSP430,PF_MSP432,PF_MSPM0,PF_CC2X,PF_CC3X,PF_CC2538,PF_C28,PF_TM4C,PF_HERCULES,PF_SITARA,PF_SITARA_MCU,PF_OMAPL,PF_DAVINCI,PF_OMAP,PF_TDA_DRA,PF_C55,PF_C6000SC,PF_C66AK_KEYSTONE,PF_MMWAVE,PF_C64MC,PF_DIGITAL_POWER,PF_PGA
    [13:23:59] CCS_INFO: Components available: ARM_CGT_HELP,C2000_CGT_HELP,C6000_CGT_HELP,CCS_DOC,CCS_LAUNCHER,CCS_UTILS,CGT_DEFAULTLIBS_C2800,CGT_DEFAULTLIBS_C6000_V8P,CGT_DEFAULTLIBS_MSP430,CGT_DEFAULTLIBS_TMS470,CLOUDAGENT,DEV_SUPPORT_AUTOMOTIVE,DEV_SUPPORT_C55XX,DEV_SUPPORT_C6000,DEV_SUPPORT_CC2538,DEV_SUPPORT_CC26XX,DEV_SUPPORT_CC3220,DEV_SUPPORT_CC3230,DEV_SUPPORT_CC32XX,DEV_SUPPORT_CC32XX_COMMON,DEV_SUPPORT_DAVINCI,DEV_SUPPORT_INTEGRA,DEV_SUPPORT_MMWAVE,DEV_SUPPORT_OMAP,DEV_SUPPORT_PGA,DEV_SUPPORT_SHARED,DEV_SUPPORT_SITARA,DEV_SUPPORT_SITARA_MCU,DEV_SUPPORT_UCD31XX,DMED,DS,DS_FLASH,DVT,ECLIPSE,EMU_BH,EMU_C2000,EMU_C2000_FLASH,EMU_HERCULES,EMU_TI,IDE,IDE_CHROME,IDE_GC,IDE_TOOLS_COMMON,INSTALLER,JRE,KEYSTONE2,MSP430_BUILD_DEBUG,MSP430_CGT_HELP,MSP430_GCC_SUPPORT,MSP432_BUILD_DEBUG,MSPM0,NODEJS,P2APP,P2TOOLS,SEGGER_J_LINK,SYSCONFIG,TARGETDB_DEF_PROPS,TARGET_CONTENT_CORE,TIREX,TIREX4,TIVA_STELLARIS_DRIVERS,TIVA_TM4C,TIVA_TM4E,TI_ARM_CLANG,USERGUIDE,core
    [13:24:00] PFsToBeInstalled: PF_MSP430
    [13:24:00] Running in unattended mode, must validate system.
    Executing /tmp/ccs_99ce26ec-863b-407e-7104-f62e03dbd643/util/dependency-checker/check_depends.sh 
    Script exit code: 0
    
    Script output:
     Installed versions of glibc and glibcxx: 2.35, N/A
    Required versions of glibc and glibcxx:  2.18, GLIBCXX_3.4.28
    GLIBC_INSTALLED: 2.35
    GLIBC_REQUIRED: 2.18
    Checking availability of libraries in ext-depends.txt ...
    Failed to find lib: libasound.so.2
    Failed to find lib: libatk-1.0.so.0
    Failed to find lib: libcairo.so.2
    Failed to find lib: libfreetype.so.6
    Failed to find lib: libgdk-3.so.0
    Failed to find lib: libgtk-3.so.0
    Failed to find lib: libusb-1.0.so.0
    Failed to find lib: libX11.so.6
    Failed to find lib: libXext.so.6
    Failed to find lib: libXi.so.6
    Failed to find lib: libXrender.so.1
    Failed to find lib: libXtst.so.6
    Failed to find lib: libcanberra.so.0
    libstdc++ update required.
    Done.
    
    Script stderr:
     ./checkgxx.sh: 1: strings: not found
    expr: syntax error: unexpected argument 'GLIBCXX_3.4.28'
    ./checkgxx.sh: 22: [: -eq: unexpected operator
    
    [13:24:02] CCS_INFO:GLIBC installed: 2.35
    [13:24:02] CCS_INFO: GLIBC required: 2.18
    [13:24:02] CCS_INFO: Missing dependencies: [ libasound.so.2 libatk-1.0.so.0 libcairo.so.2 libfreetype.so.6 libgdk-3.so.0 libgtk-3.so.0 libusb-1.0.so.0 libX11.so.6 libXext.so.6 libXi.so.6 libXrender.so.1 libXtst.so.6 libcanberra.so.0] 
    [13:24:02] CCS_WARNING: Missing dependencies:  libasound.so.2 libatk-1.0.so.0 libcairo.so.2 libfreetype.so.6 libgdk-3.so.0 libgtk-3.so.0 libusb-1.0.so.0 libX11.so.6 libXext.so.6 libXi.so.6 libXrender.so.1 libXtst.so.6 libcanberra.so.0
    Executing /tmp/ccs_99ce26ec-863b-407e-7104-f62e03dbd643/util/dependency-checker/ldcheck 
    Script exit code: 127
    
    Script output:
     
    
    Script stderr:
     /bin/sh: 1: /tmp/ccs_99ce26ec-863b-407e-7104-f62e03dbd643/util/dependency-checker/ldcheck: not found
    
    Error running /tmp/ccs_99ce26ec-863b-407e-7104-f62e03dbd643/util/dependency-checker/ldcheck : /bin/sh: 1: /tmp/ccs_99ce26ec-863b-407e-7104-f62e03dbd643/util/dependency-checker/ldcheck: not found
    [13:24:02] CCS_ERROR:Failed to find 32 bit libraries: Failed to locate 32-bit system libraries required for installation to continue: libc6-i386 For more information on how to install these, please visit the FAQ page.
    Exiting with code 0

  • Hi Andreas,

    It looks like there are a bunch of missing dependencies in the docker image. Would you be able to install the various packages mentioned in the log text?

  • yes, i just started with resolving the deps. What me confuses a little is the GLIBC version. Should i use ubuntu 20.04 instead to get older versions?

  • Script output:
     Installed versions of glibc and glibcxx: 2.35, N/A
    Required versions of glibc and glibcxx:  2.18, GLIBCXX_3.4.28
    GLIBC_INSTALLED: 2.35
    GLIBC_REQUIRED: 2.18
    Checking availability of libraries in ext-depends.txt ...
    libstdc++ update required.
    Done.
    Script stderr:
     ./checkgxx.sh: 1: strings: not found
    expr: syntax error: unexpected argument 'GLIBCXX_3.4.28'
    ./checkgxx.sh: 22: [: -eq: unexpected operator
    [13:57:37] CCS_INFO:GLIBC installed: 2.35
    [13:57:37] CCS_INFO: GLIBC required: 2.18
    [13:57:37] CCS_INFO: Missing dependencies: [] 
    [13:57:37] CCS_WARNING: OK
    Executing /tmp/ccs_a9f2c07d-d936-41d7-72fb-c121b9352e03/util/dependency-checker/ldcheck 
    Script exit code: 127
    Script output:

  • For Ubuntu 20.04 the same:

    Script exit code: 0
    Script output:
     Installed versions of glibc and glibcxx: 2.31, N/A
    Required versions of glibc and glibcxx:  2.18, GLIBCXX_3.4.28
    GLIBC_INSTALLED: 2.31
    GLIBC_REQUIRED: 2.18
    Checking availability of libraries in ext-depends.txt ...
    libstdc++ update required.
    Done.
    Script stderr:
     ./checkgxx.sh: 1: strings: not found
    expr: syntax error: unexpected argument 'GLIBCXX_3.4.28'
    ./checkgxx.sh: 22: [: -eq: unexpected operator
    [14:09:27] CCS_INFO:GLIBC installed: 2.31
    [14:09:27] CCS_INFO: GLIBC required: 2.18
    [14:09:27] CCS_INFO: Missing dependencies: [] 
    [14:09:27] CCS_WARNING: OK
    Executing /tmp/ccs_4fedc701-0309-4081-53d4-031cc5d5595f/util/dependency-checker/ldcheck 
    Script exit code: 127
    Script output:

    Here seems to go something wrong with an script:

    ./checkgxx.sh: 1: strings: not found

    ./checkgxx.sh: 22: [: -eq: unexpected operator

    What do you think?

  • I think the GLIBC version will be fine (newer would work).

    There does seem to be something wrong with the script though. I suspect the wrong shell is being used. The script expects bash, maybe it is using sh?

  • Good point, i tryed it with a bash, same result. The intresting line is:

    /bin/sh: 1: /tmp/ccs_55d047fc-7603-4e70-47b6-d816650a900f/util/dependency-checker/ldcheck: not found

    The tool ldcheck is not found

  • it seems there was only one depency missing, libc6-i386. now finishes the installer

  • I see.  "ldcheck" is a little executable with a dependency on the 32-bit runtime. We try to run it to see if the 32-bit runtime is present.  Please try to install libc6:i386.  This is only needed by a legacy component which you are probably not using but it looks like it is still being checked for.

  • Opps, you already figured it out before I replied.  Sorry!

  • RUN export http_proxy=$(cat /tmp/build/tmp/proxy); \
    export https_proxy=$(cat /tmp/build/tmp/proxy); \
    export HELP_TOOLS="curl wget p7zip-full"; \
    export CCS_COMP="PF_MSP430"; \
    export CCS_INSTALL=/opt/ti/ccs; \
    export CCS_URL="">dr-download.ti.com/.../CCS12.4.0.00007_linux-x64.tar.gz"; \
    export CCS_FILE=${CCS_URL##*/}; \
    export CCS_DIR=${CCS_FILE%.tar.gz}; \
    export CCS_RUN=${CCS_DIR%_*}; export CCS_RUN=ccs_setup_${CCS_RUN##*CCS}.run; \
    export CCS_EXEC="/tmp/build/download/${CCS_DIR}/${CCS_RUN} --mode unattended --prefix ${CCS_INSTALL} --enable-components ${CCS_COMP}"; \
    export CCS_DEPS="libpython2.7 libtinfo5 libusb-0.1-4 libusb-1.0-0-dev libgconf-2-4 libasound2 libatk1.0-0 libcairo2 libgtk-3-0 libxi6 libxtst6 libcanberra-gtk-module binutils libc6-i386"; \
    mkdir -p /tmp/build/download; \
    mkdir -p ${CCS_INSTALL}; \
    apt-get update && apt-get install ${HELP_TOOLS} -yq && apt-get clean && \
    apt-get update && apt-get install ${CCS_DEPS} -yq && apt-get clean && \
    curl ${CCS_URL} --output /tmp/build/download/${CCS_FILE} && \
    tar -xvf /tmp/build/download/${CCS_FILE} -C /tmp/build/download/ && \
    /tmp/build/download/${CCS_DIR}/${CCS_RUN} --help && \
    /tmp/build/download/${CCS_DIR}/${CCS_RUN} --version && \
    echo "[INFO] Start CCS installation: ${CCS_EXEC}" && \
    ${CCS_EXEC} && \
    ls -la /tmp && \
    command -v ${CCS_INSTALL}/ccs/eclipse/ccstudio >/dev/null 2>&1 || { echo "[FAIL] Install CCS. Abort..."; exit 1; } && \
    apt-get remove ${HELP_TOOLS} -yq && apt-get purge ${HELP_TOOLS} -yq && apt-get autoremove -y && apt-get autoclean -y && \
    rm -rf /tmp/* && \
    rm -f /etc/apt/apt.conf && \
    unset http_proxy && \
    unset https_proxy