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.

Problem building Codec Engine Examples



Greetings,

I'm trying to build the Codec Engine 2.24 examples as detailed in the "Build/Run Instructions for Codec Engine Examples" document.  The build for examples/codecs and examples/extensions works.  The build for examples/servers and examples/apps does not.  I get the following error message:

js: "/home/dthomas2/dvsdk_3_00_02_44/codec_engine_2_24/packages/ti/sdo/ce/ipc/bios/package.xs", line 101: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.bios.power' along the path: '/home/dthomas2/mountpoint/opt/examples/ti/sdo/ce/examples/servers/all_codecs/../../../../../..;/home/dthomas2/dvsdk_3_00_02_44/codec_engine_2_24/packages;/home/dthomas2/dvsdk_3_00_02_44/xdais_6_24/packages;/home/dthomas2/dvsdk_3_00_02_44/linuxutils_2_24_02/packages;/home/dthomas2/dvsdk_3_00_02_44/framework_components_2_24/packages;/home/dthomas2/dvsdk_3_00_02_44/biosutils_1_01_00/packages;/home/dthomas2/dvsdk_3_00_02_44/bios_5_33_06/packages;/home/dthomas2/dvsdk_3_00_02_44/dsplink_1_61_03/packages/;/home/dthomas2/dvsdk_3_00_02_44/xdctools_3_15_01_59/packages;../../../../../..;'. Ensure that the package path is set correctly.
gmake[1]: *** [package/cfg/bin/ti_platforms_evm3530/all_pm_x64Pcfg.s62] Error 1
gmake[1]: *** Deleting file `package/cfg/bin/ti_platforms_evm3530/all_pm_x64Pcfg.s62'
gmake[1]: *** [package/cfg/bin/ti_platforms_evm3530/all_pm_x64Pcfg.s62] Deleting file `package/cfg/bin/ti_platforms_evm3530/all_pm_x64Pcfg.cmd'
gmake[1]: *** [package/cfg/bin/ti_platforms_evm3530/all_pm_x64Pcfg.s62] Deleting file `package/cfg/bin/ti_platforms_evm3530/all_pm_x64Pcfg_c.c'
gmake: *** [/home/dthomas2/mountpoint/opt/examples/ti/sdo/ce/examples/servers/all_codecs,.executables] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dthomas2/mountpoint/opt/examples/ti/sdo/ce/examples/servers/all_codecs'
make: *** [all] Error 2

From searching through the dvsdk directory, it appears that ti.bios.power should be a part of the local_power_manager_1_24 package.  I've specified that path in the xdcpaths.mak file as $(DVSDK_INSTALL_DIR)/local_power_manager_1_24.  Unfortunately it doesn't appear that the build process is using this directory path.

Any suggestions?

 

  • Try adding to your xdcpath as follows. You could do this somewhere near the bottom of the xdcpath.mak file. Don't forget the 'packages' part at the end of the path.

    XDC_PATH := $(XDC_PATH);$(DVSDK_INSTALL_DIR)/local_power_manager_1_24/packages

  • Thanks you, that worked.

    It turns out there was a placeholder in the xdcpaths.mak file for changes to XDC_PATH.  It was at the end of the file, past a comment stating "most users have no need to modify anything below this line."  Oops.

    Is there a reason the build did not work for my particular setup?  For my own education, I'm curious.

  • I would need to inspect your environment to determine the exact reason your build failed. Just looking at the error message above indicates the repository which contained the ti.bios.power package was not on your XDC path. Maybe it was just the missing 'packages' part or maybe the entire repository was missing. Hard to say.

  • What would you need to look at?  Is it as simple as posting a section of a configuration file? 

  • This is a known bug.

    It's mentioned on the Codec Engine Known Issues wiki article, and fixed in CE 2.25.  Open to other ideas of how to make this more visible!

    Chris

  • Well, lets start with the xdc command that fails and the error message. Add XDCOPTION=v to your xdc command. Post the xdc command that is echoed to your console. Also attach or post the contents of the .xdcenv.mak file in the same package. We can take it a step at a time from there.

  • Yes, it seems that the bug is related to issue SDOCM00053545.

     

    I just wanted to mention that the DSPLINK_INSTALL_DIR is added to the XDC_PATH differently than the other paths.  Most paths use something like this:

    XDC_PATH := $(XDC_PATH);$(BIOSUTILS_INSTALL_DIR)/packages

    while DSPLINK_INSTALL_DIR uses:

    XDC_PATH := $(XDC_PATH);$(DSPLINK_INSTALL_DIR)

    You'll notice the 'packages' directory is not appended on the end of the directory path.  While this is certainly not a big deal, it does mean the DSPLINK directory path is not consistent with the other directory paths in xdcpaths.mak (it's the only one with /packages).

     

  • More than you asked for, but I guess it's dirty laundry day.  :)

    Internally, the Codec Engine team takes a DSP Link distribution, sometimes [unfortunately] patches it, and builds it for just the config we need (e.g. MSGQ on, PROC on, CHNL off, right Linux kernel version/toolchain, etc).

    Prior to the addition of WinCE support, we would also include that pre-built DSP Link into our cetools/ directory and distribute it for our customers' benefit.  Once WinCE arrived, GPL introduced licensing issues with the DSP Link distribution, and we stopped shipping it in cetools and told all our customers they had to 'get the right one (WinCE or Linux) themselves'.

    Dirty secret #1 is that one of the "patches" we made to Link was to add a packages/ directory for consistency in our builds.  This should never have happened, but did, and went overlooked for years(!).

    Dirty secret #2 is that historically, the DVSDK would redistribute the Codec Engine team's "patched" Link rather than get it straight from the Link team.  (Also should never have happened, but did.)  That unfortunately introduced the packages/ dir that was never a part of the official, original Link, into the DVSDK products.

    Once the CE team removed Link from cetools and started telling its customers to 'get it themselves', one of those customers was the DVSDK program.  They then [correctly] started distributing Link as it was originally produced - without the packages/ dir.

    All that history to say that whether Link has a packages/ dir or not, historically [unfortunately!] depends on where you get it from.  The official releases of Link never had it(!), so recent releases of CE and DVSDK are actually fixing those dirty secrets and removing it.  But customers (e.g. Codec Engine's xdcpaths.mak, Rules.make, etc) may need to modify things a little bit to get the XDCPATH 'just right', depending on how they received Link (cetools, DVSDK, or separate download).  The XDC packages in DSP Link are 'dsplink.dsp' and 'dsplink.gpp', so what needs to be on the XDCPATH is the directory that _contains_ the 'dsplink' directory.

    Chris

  • It might have been more than I asked for, but it was very interesting to read.  Thank you!