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.

CCS: "C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 466: error #285: qualified name is not allowed

Tool/software: Code Composer Studio

Hi All, 

I am trying to port a C/C++ code to a TSM320C6678 but I believe the path for standard library is not included in the compile command. 

Please let me know how I can ensure the standard library has included correcting .... (I am new to CSS)

Regards,


**** Build of configuration Debug for project hello_openmp ****

"C:\\opt\\ti\\ccs920\\ccs\\utils\\bin\\gmake" all

Building file: "../ark_io/test_ark_io.cpp"
Invoking: C6000 Compiler
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/bin/cl6x" -mv6600 --include_path="C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv" --include_path="C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/common" --include_path="C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/ark_matrix" --include_path="C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp" --include_path="C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --openmp --preproc_with_compile --preproc_dependency="ark_io/test_ark_io.d_raw" --obj_directory="ark_io" --cmd_file="configPkg/compiler.opt" "../ark_io/test_ark_io.cpp"

>> Compilation failure
ark_io/subdir_rules.mk:9: recipe for target 'ark_io/test_ark_io.obj' failed
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 466: error #285: qualified name is not allowed
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 466: error #66: expected a ";"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 467: error #285: qualified name is not allowed
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 467: error #66: expected a ";"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 606: error #443: argument list for class template "std::__2::reverse_iterator" is missing
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 609: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 612: error #443: argument list for class template "std::__2::reverse_iterator" is missing
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 615: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 625: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 628: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2163: error #285: qualified name is not allowed
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2163: error #66: expected a ";"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2164: error #285: qualified name is not allowed
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2164: error #66: expected a ";"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2313: error #443: argument list for class template "std::__2::reverse_iterator" is missing
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2316: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2319: error #443: argument list for class template "std::__2::reverse_iterator" is missing
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2322: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2332: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/vector", line 2335: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1212: error #285: qualified name is not allowed
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1212: error #66: expected a ";"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1213: error #285: qualified name is not allowed
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1213: error #66: expected a ";"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1282: error #443: argument list for class template "std::__2::reverse_iterator" is missing
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1285: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1288: error #443: argument list for class template "std::__2::reverse_iterator" is missing
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1291: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1301: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/deque", line 1304: error #20: identifier "const_reverse_iterator" is undefined
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 1321: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 1322: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 2211: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 2212: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 2213: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 2214: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 2215: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 6226: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 6242: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 6247: error #444: too few arguments for class template "std::separator::vector"
"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx/regex", line 6357: error #444: too few arguments for class template "std::separator::vector"
"C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp", line 1634: error #268: "std::vector" is ambiguous
"C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp", line 437: error #71: incomplete type is not allowed
"C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp", line 437: error #18: expected a ")"
"C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp", line 1501: error #71: incomplete type is not allowed
"C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp", line 1501: error #18: expected a ")"
"C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp", line 1515: error #71: incomplete type is not allowed
"C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp", line 1515: error #18: expected a ")"

INTERNAL ERROR: C:\opt\ti\ccs920\ccs\tools\compiler\ti-cgt-c6000_8.3.4\bin\acpia6x.exe experienced a segmentation fault
while processing function (unknown or file scope) file C:/Users/Mehdi-laptop/workspace_v9_2/hello_openmp/impcv/bitmap_image.hpp line 1675

This is caused by a defect in the TI EABI C/C++ Parser.
TI Customer Support may be able to suggest a workaround to avoid this.

Upgrading to the newest version of the compiler may fix this problem.

Contact TI in the E2E support forums at http://e2e.ti.com under
"Development Tools", "TI C/C++ Compiler". See the link titled
"Submitting an issue".

We need to see this ENTIRE error message and a complete, reproducible
test case including ALL of the command-line options.
Include the .pp file created by option --preproc_with_comment

gmake: *** [ark_io/test_ark_io.obj] Error 1

**** Build Finished ****

  • Please see the documentation for TI's OpenMP solution.  Unfortunately, near the end of that first page, it states ...

    C++ programs are not supported.

    Thanks and regards,

    -George

  • Thanks for the input .... that's unfortunate .... :(

    I have come across the below on Sys/Bios kernel.

    on page 12 here 

    1.1 What is SYS/BIOS? SYS/BIOS is a scalable real-time kernel. It is designed for applications that require real-time scheduling and synchronization or real-time instrumentation. SYS/BIOS provides preemptive multithreading, hardware abstraction, real-time analysis, and configuration tools. SYS/BIOS helps minimize memory and CPU requirements on the target. See the videos introducing SYS/BIOS for an overview.

    Any chance to code multi-threading programatically in cpp?

    Please let me know

    Thank you

  • Also, another alternative we have is to call cpp functions in each C thread created by OpenMP. (like below)

    // test.cpp

    #include <stdio.h>
    
    template <class T>
    T get_thread_id(T tid){
        return tid + 1;
    }
    
    char* hello_thread(int tid){
        char * buf = new char[50];
        sprintf(buf, "hello thread %d", get_thread_id(tid));
        return buf;
    }
    

    // main.c

    #include <ti/runtime/openmp/omp.h>
    #include <stdio.h>
    
    char* hello_thread(int tid);
    
    int main (int argc, char *argv[]) {
    
      int nthreads, tid;
    
    /* Fork a team of threads giving them their own copies of variables */
    #pragma omp parallel private(nthreads, tid)
      {
    
      /* Obtain thread number */
      tid = omp_get_thread_num();
      printf("Hello World from thread = %d\n", tid);
      printf("%s\n", hello_thread(tid));
      /* Only master thread does this */
      if (tid == 0) 
        {
        nthreads = omp_get_num_threads();
        printf("Number of threads = %d\n", nthreads);
        }
    
      }  /* All threads join master thread and disband */
    
      return 0;
    }

    but apparently it doesn't compile.... :-( for some reason it can't find the references (see below) 

    any clue or possible alternative is appreciated. 

    **** Build of configuration Debug for project hello_openmp ****
    
    "C:\\opt\\ti\\ccs920\\ccs\\utils\\bin\\gmake" all 
     
    Building file: "../omp_config.cfg"
    Invoking: XDCtools
    "C:/opt/ti/ccs920/xdctools_3_60_01_27_core/xs" --xdcpath="C:/ti/openmp_dsp_c667x_2_06_02_01/packages;C:/ti/pdk_c667x_2_0_12/packages;C:/ti/linalg_1_2_0_0/packages;C:/ti/framework_components_3_40_02_07/packages;C:/ti/framework_components_3_40_02_07/examples;C:/ti/ipc_3_50_03_04/packages;C:/ti/bios_6_73_01_01/packages;C:/ti/openmp_dsp_c667x_2_06_02_01/packages/ti/runtime/openmp/platforms;C:/ti/ctoolslib_2_2_0_0/packages;C:/ti/edma3_lld_2_12_05_30C/packages;C:/ti/libarch_1_0_0_0/packages;C:/ti/ndk_3_40_01_01/packages;C:/ti/uia_2_30_01_02/packages;C:/ti/xdais_7_24_00_04/packages;C:/ti/xdais_7_24_00_04/examples;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.runtime.openmp.platforms.evm6678 -r release -c "C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4" "../omp_config.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring omp_config.xe66 from package/cfg/omp_config_pe66.cfg ...
    Configuring OpenMP runtime for device: TMS320C6678
    generating custom ti.sysbios library makefile ... 
    	Linking with library ti.drv.qmss:./lib/c66/ti.drv.qmss.ae66
    	Linking with library ti.csl:./lib/c6678/c66/release/ti.csl.ae66
    Starting build of library sources ...
    making C:/Users/mike-laptop/workspace_v9_2/hello_openmp/src/sysbios/sysbios.ae66 ...
    Build of libraries done.
    cle66 package/cfg/omp_config_pe66.c ...
    Finished building: "../omp_config.cfg"
     
    Building file: "../hello.c"
    Invoking: C6000 Compiler
    "C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/bin/cl6x" -mv6600 --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp/impcv" --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp/common" --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp/ark_matrix" --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp" --include_path="C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include" --include_path="C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx" -g --diag_warning=225 --diag_wrap=off --display_error_number --openmp --preproc_with_compile --preproc_dependency="hello.d_raw" --cmd_file="configPkg/compiler.opt" "../hello.c"
    Finished building: "../hello.c"
     
    Building file: "../test_cpp.cpp"
    Invoking: C6000 Compiler
    "C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/bin/cl6x" -mv6600 --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp/impcv" --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp/common" --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp/ark_matrix" --include_path="C:/Users/mike-laptop/workspace_v9_2/hello_openmp" --include_path="C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include" --include_path="C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include/libcxx" -g --diag_warning=225 --diag_wrap=off --display_error_number --openmp --preproc_with_compile --preproc_dependency="test_cpp.d_raw" --cmd_file="configPkg/compiler.opt" "../test_cpp.cpp"
    Finished building: "../test_cpp.cpp"
     
    Building target: "hello_openmp.out"
    Invoking: C6000 Linker
    "C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/bin/cl6x" -mv6600 -g --diag_warning=225 --diag_wrap=off --display_error_number --openmp -z -m"hello_openmp.map" -i"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/lib" -i"C:/opt/ti/ccs920/ccs/tools/compiler/ti-cgt-c6000_8.3.4/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="hello_openmp_linkInfo.xml" --rom_model -o "hello_openmp.out" "./hello.obj" "./test_cpp.obj" -l"configPkg/linker.cmd" -llibc.a 
    <Linking>
    "configPkg/linker.cmd", line 118: warning #10068-D: no matching section
    warning #10247-D: creating output section ".tbss" without a SECTIONS specification
    warning #10247-D: creating output section ".tdata" without a SECTIONS specification
     
     undefined    first referenced
      symbol          in file     
     ---------    ----------------
     hello_thread ./hello.obj     
     
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "hello_openmp.out" not built
     
    >> Compilation failure
    makefile:140: recipe for target 'hello_openmp.out' failed
    gmake: *** [hello_openmp.out] Error 1
    
    **** Build Finished ****

  • Rather than continue to build things up from scratch, I recommend you start with some examples from TI.  Visit the TI OpenMP page.  Look at the list of supported SoC (system on a chip) and associated systems.  For each one, an SDK (software development kit) is shown.  Install the appropriate SDK and explore the examples it contains.  One of them is likely to be close to what you want to accomplish.

    Thanks and regards,

    -George