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.

requires package failed

hi, all

I have a algorithm from third party running in C64x+ cores depend on xdc tools, but it's a non-xdais algirithm. I want to adapter it to a xdais standard.

When I add the requires statement in my codec package.xdc file, "undefine symbol" errors occur when dsp_server link all libraries, these symbols offered by third party package library.

I add the line like this in my codec packages:

requires ti.sdo.codecs.apttest;

package ti.sdo.codecs.scale {

}

I try to delete the "requires" statement , the error are the same with that happened before. So I don't think that the requires statement do work in my case.

someone help?

Best Regards

Bendney

  • Hi Bendney,

    I am not sure if I fully understand what you are trying to do. It looks like you are trying to include a dependency on a algorithm package (ti.sdo.codecs.apttest) in another codec package (ti.sdo.codecs.scale). Is ti.sdo.codecs.apttest the algorithm package you ultimately want to use? If it is, you should be able to include it directly into your server.

    A good read is the Codec Engine Algorithm Creator's User Guide, bundled in the docs directory of your Codec Engine installation. The section "Supporting non-XDM algorithms"  might be what you need if you are trying to create a non-XDM algorithm package for your algorithm and including it into your server.

    -Vincent

  • Vincent, 

    I want to use the ti.sdo.codecs.apttest algorithm in my ti.sdo.codecs.scale package, the ti.sdo.codecs.apttest built with xdctools, so I want to requires the ti.sdo.codecs.apttest apttest package in my scale algorithm.

    I just add the requires statement in my scale package file package.xdc then include the header file from ti.sdo.codecs.apttest. According to the XDCTOOLS , it can call the apttest library in my scale codecs , but it's failed.

    I wrote a simple funtion example base on xdc package, then remove the source files only leave the .h file and change the package.bld  to export  all. Add the requires the example first in my scale codes package.xdc file to use it.  "undefine symbol" funtion name from the example package when build server.

    Now, I did using  "-l" parameter to link this apttest library, and it works. I really want to know why the requires doesn't work ? 

    Best Regards

    Bendney

  • Hi Bendney,

    My guess is that there may be something wrong with your algorithm package. Normally its package.xs file is supposed to export the library using the getLibs() function. Do you have that properly setup? Does your server build if you explicitly introduce a useModule statement in its cfg file to bring in the apttest package?

    Alternatively you can bundle your apttest library into your scale codec package and modify that package's package.xs file to return both the scale library and the apttest library separated by a semi-colon ';', in which case you wouldn't need to introduce a dependency on another package using a 'requires' statement. 

    Best regards,

    Vincent

  • Hi, Vincent

    The algorithm package does have getLibs() funtion in package.xs, and I setup it properly. I forgot to inlcude the package statically in my server packag, that's the problem.

    And you said that algorithm library can obtain from package.xs  in my scale package, i know that, just forgot it. 

    Thanks very much!

    Best Regards

    Bendney