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.

OMAP-L13x - C6Run 0.94.05.06: Error "Argument mismatch between Translation Unit and Source"?

Other Parts Discussed in Thread: OMAP-L138


Dear C6Run Team,

a) Could you please help with the following question (in blue)?
I looked at the bug list but did not find entries related to this:
https://gforge.ti.com/gf/project/dspeasy/tracker/?action=TrackerItemBrowse&tracker_id=189

"Trying to compile our whole benchmark for the OMAP L138 and got the following problem:
The output of C6Run is:
 c6runlib-cc -mv6700 -pm -mt -mh3 -c -o fSync.o fSync.c
Argument mismatch between Translation Unit and Source at /home/omap/ti-dvsdk_omapl138-evm_4_01_00_09/c6run_0_94_05_06/bin/../bin/perl/c6runlib-rpcgen.pl line 681.
Argument count mismatch (13!= 1).
Do you know what's wrong?
If i compile the whole benchmark only for the ARM, everything works fine."

b)  have seen that a new version (0.97) has been released. Do you think this would sole the issue?
https://gforge.ti.com/gf/project/dspeasy/
Do you advise to use an C6Run package provided in the given version of the DVSDK? Or do you advise to always update to the newer C6Run version?

Thanks,

Anthony

  • Anthony,

    I definitely recommend updating to the latest release (replacing the version in the SDK by updating the top-level Rules.mak), in this case 0.97.03.03.  If the issue still exists with the latest release, then we can debug the problem.

    Regards, Daniel

  • Hi Daniel and Anthony,

    i just got back from holidays.

    So i updated the C6Run Package to 0.97.03.03, but the problem still exists. (only the error number is now 753 in c6runlib-rpcgen.pl)

     

    Best Regards, Alex

  • Alex,

    Can you share the source you are trying to compile?  If not the complete source, can you at least give the function prototypes, such as from a header file?

    Regards, Daniel

  • Hi Daniel,

    i can only share the prototype:

    extern void Sync(struct xstate *state, int16_t *inSignalIntReal, int16_t *inSignalIntImag, int16_t *outSignalIntReal, int16_t *outSignalIntImag,
            int16_t *InSync_I, int16_t *InSync_Q,
            unsigned *In_Start, unsigned *In_Stop, unsigned *Out_Start, unsigned *Out_Stop,
            int *delay, bool *datavalid);

     

    And here is the error message:

    /home/omap/ti-dvsdk_omapl138-evm_4_01_00_09/c6run_0_97_03_03/bin/c6runlib-cc −mv6700 -pm -mt -mh3 -c -o fSync.o fSync.c
    Argument mismatch between Translation Unit and Source at /home/omap/ti-dvsdk_omapl138-evm_4_01_00_09/c6run_0_97_03_03/bin/../lib/perl/c6runlib-rpcgen.pl line 753.
    Argument count mismatch (13!= 1).

    Best Regards, Alex

     

  • Alexander Kiermayer83292 said:

    And here is the error message:

    /home/omap/ti-dvsdk_omapl138-evm_4_01_00_09/c6run_0_97_03_03/bin/c6runlib-cc −mv6700 -pm -mt -mh3 -c -o fSync.o fSync.c
    Argument mismatch between Translation Unit and Source at /home/omap/ti-dvsdk_omapl138-evm_4_01_00_09/c6run_0_97_03_03/bin/../lib/perl/c6runlib-rpcgen.pl line 753.
    Argument count mismatch (13!= 1).

    Best Regards, Alex

    Alex,

    I've confirmed that this error is the result of a bug in the Perl code used to generate the remote procedure call stubs.  I will file a bug report and work to get you a workaround.

    Regards, Daniel

     

  • Hi Daniel,

    thanks for your response.

    How long do you think it will take to find a workaround ?

    Its quite urgent because i need some benchmark results.

     

    Best Regards, Alex

  • Alex,

    Here is a first pass of a new c6runlib-rpcgen.pl file that needs to be placed in the lib/perl/ directory of the 0.97.03.03 release.  I will make an official release with this fix included sometime next week as 0.98.02.02.  I'll need to do some more testing on this, but it did compile against a function I created with your prototype.  There were actually three different issues that cropped up, one related to using bool arguments, one related using arguments that were pointers to a struct, and one related to having a variable name which included, in part, the name of the function itself.

    Regards, Daniel

    c6runlib-rpcgen.zip
  • Hi Daniel,

     

    the bugfix worked.

    Thanks a lot for that.

     

    Best Regards, Alex

  • Alex,

    Thanks for the feedback.  One additional item to note.  You should don't need the -mv6700 in the compiler options, as the appropriate -mv option has already been selected and will be applied to the C6000 compiler based on your selected and configured platform (for omap-l138, it would be -mv6740).  Also you should not use the -pm option.  When compiling only one C file at a time, this doesn't matter, but if you try to use to tool to compile several C files at once, this option will cause things to break since it actually combines the C files together and only generates a single object file.

    Regards, Daniel

  • I also encountered similar problem compiling with c6run as below:-

    $ c6runlib-cc -c -o -O3 cmcode.o cmcode.c

    Argument count mismatch (6!= 1).

    ...

    Argument mismatch between Translation Unit and Source at /home/omap/ti-dvsdk_omapl138-evm_4_02_00_06/c6run_0_98_03_03/bin/../bin/perl/c6runlib-rpcgen.pl line 754

    Argument count mismatch (6!= 3).

    Here the prototype for your reference:

    void prba_hoc_to_mag( Fixed *mag, Int nharm, Fixed (*prba)[2], Fixed *hoc, const Int *block_size, Fixed gain);

    So, here I am using C6Run 0.98.03.03, do I need to get a newer C6Run version?

    Best Regards,

    PST.