Skip to content

Lots of error in make showing struct rt_task’ has no member named ‘XXX‘ #1

@songzeceng

Description

@songzeceng

I tried to compile pgm with litmusRT(linux-4.9-litmus),but I got lots of errors as following:

tools/pgmrt.cpp: In function ‘void work_thread(rt_config)’:
tools/pgmrt.cpp:420:8: error: ‘struct rt_task’ has no member named ‘split’
  param.split = cfg.split_factor;
        ^~~~~
tools/pgmrt.cpp:427:9: error: ‘struct rt_task’ has no member named ‘pgm_type’
   param.pgm_type = PGM_SRC_SINK;
         ^~~~~~~~
tools/pgmrt.cpp:427:20: error: ‘PGM_SRC_SINK’ was not declared in this scope
   param.pgm_type = PGM_SRC_SINK;
                    ^~~~~~~~~~~~
tools/pgmrt.cpp:427:20: note: suggested alternative: ‘PGM_SYNC_SCOPE’
   param.pgm_type = PGM_SRC_SINK;
                    ^~~~~~~~~~~~
                    PGM_SYNC_SCOPE
tools/pgmrt.cpp:429:9: error: ‘struct rt_task’ has no member named ‘pgm_type’
   param.pgm_type = PGM_SRC;
         ^~~~~~~~
tools/pgmrt.cpp:429:20: error: ‘PGM_SRC’ was not declared in this scope
   param.pgm_type = PGM_SRC;
                    ^~~~~~~
tools/pgmrt.cpp:431:9: error: ‘struct rt_task’ has no member named ‘pgm_type’
   param.pgm_type = PGM_SINK;
         ^~~~~~~~
tools/pgmrt.cpp:431:20: error: ‘PGM_SINK’ was not declared in this scope
   param.pgm_type = PGM_SINK;
                    ^~~~~~~~
tools/pgmrt.cpp:431:20: note: suggested alternative: ‘EMLINK’
   param.pgm_type = PGM_SINK;
                    ^~~~~~~~
                    EMLINK
tools/pgmrt.cpp:433:9: error: ‘struct rt_task’ has no member named ‘pgm_type’
   param.pgm_type = PGM_INTERNAL;
         ^~~~~~~~
tools/pgmrt.cpp:433:20: error: ‘PGM_INTERNAL’ was not declared in this scope
   param.pgm_type = PGM_INTERNAL;
                    ^~~~~~~~~~~~
tools/pgmrt.cpp:433:20: note: suggested alternative: ‘_IO_INTERNAL’
   param.pgm_type = PGM_INTERNAL;
                    ^~~~~~~~~~~~
                    _IO_INTERNAL
tools/pgmrt.cpp:435:8: error: ‘struct rt_task’ has no member named ‘pgm_expected_etoe’
  param.pgm_expected_etoe = cfg.expected_etoe;
        ^~~~~~~~~~~~~~~~~
tools/pgmrt.cpp:74:2: error: ‘enter_pgm_wait’ was not declared in this scope
  enter_pgm_wait(); \
  ^
tools/pgmrt.cpp:480:4: note: in expansion of macro ‘litmus_pgm_wait’
    litmus_pgm_wait(ret = pgm_wait(cfg.node););
    ^~~~~~~~~~~~~~~
tools/pgmrt.cpp:74:2: note: suggested alternative: ‘litmus_pgm_wait’
  enter_pgm_wait(); \
  ^
tools/pgmrt.cpp:480:4: note: in expansion of macro ‘litmus_pgm_wait’
    litmus_pgm_wait(ret = pgm_wait(cfg.node););
    ^~~~~~~~~~~~~~~
tools/pgmrt.cpp:76:2: error: ‘exit_pgm_wait’ was not declared in this scope
  exit_pgm_wait();
  ^
tools/pgmrt.cpp:480:4: note: in expansion of macro ‘litmus_pgm_wait’
    litmus_pgm_wait(ret = pgm_wait(cfg.node););
    ^~~~~~~~~~~~~~~
tools/pgmrt.cpp:76:2: note: suggested alternative: ‘pgm_wait’
  exit_pgm_wait();
  ^
tools/pgmrt.cpp:480:4: note: in expansion of macro ‘litmus_pgm_wait’
    litmus_pgm_wait(ret = pgm_wait(cfg.node););
    ^~~~~~~~~~~~~~~
tools/pgmrt.cpp:80:2: error: ‘enter_pgm_send’ was not declared in this scope
  enter_pgm_send(); \
  ^
tools/pgmrt.cpp:505:5: note: in expansion of macro ‘litmus_pgm_complete’
     litmus_pgm_complete(CheckError(pgm_complete(cfg.node)););
     ^~~~~~~~~~~~~~~~~~~
tools/pgmrt.cpp:80:2: note: suggested alternative: ‘enter_np’
  enter_pgm_send(); \
  ^
tools/pgmrt.cpp:505:5: note: in expansion of macro ‘litmus_pgm_complete’
     litmus_pgm_complete(CheckError(pgm_complete(cfg.node)););
     ^~~~~~~~~~~~~~~~~~~
tools/pgmrt.cpp:82:2: error: ‘exit_pgm_send’ was not declared in this scope
  exit_pgm_send();
  ^
tools/pgmrt.cpp:505:5: note: in expansion of macro ‘litmus_pgm_complete’
     litmus_pgm_complete(CheckError(pgm_complete(cfg.node)););
     ^~~~~~~~~~~~~~~~~~~
tools/pgmrt.cpp: In function ‘void parse_graph_rates(const string&, graph_t, std::map<pgm_node_handle, double, node_compare>&)’:
tools/pgmrt.cpp:785:19: error: ‘us2ms’ was not declared in this scope
   periods_ms[n] = us2ms((double)(iter->second.y)/iter->second.x);
                   ^~~~~
tools/pgmrt.cpp:785:19: note: suggested alternative: ‘ns2ms’
   periods_ms[n] = us2ms((double)(iter->second.y)/iter->second.x);
                   ^~~~~
                   ns2ms

I cannot find member named split in the source code of litmusRT of branch linux-4.9-litmus or master-before-2013.1or master-before-2014.2...

Besides nothrow in the code below is of no use with build error, so I comment it out.

 // pgm.cpp line 1637
 gGraphs = new (nothrow) struct pgm_graph[PGM_MAX_GRAPHS];

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions