RidgeRun SDK Technical FAQ

From RidgeRun Developer Connection
Jump to: navigation, search

Technical FAQ

Build related issues

No icache command at uboot

Error after execute "make installbootloader":

Error: Your uboot doesn't have icache command, refusing to load upgrade bootloader due risk of hanging.

    You can update your bootloader by other means like SD card or use FORCEINSTALL=yes

Error description

This error occurs due a bootloader without the necessary commands for flashing the LeopardBoard DM365 NAND in a safety way. In order to install the bootloader two different procedures can be done:

  • Run a bootloader in the LeopardBoard SD with the required commands to update the bootloader at the LeopardBoard
  • Install a new bootloader with an installer card (recommended procedure)

The first procedure is done following the next steps:

  • Download any one of the RidgeRun's SD demo image at https://developer.ridgerun.com/wiki/index.php/RidgeRun_Demo_Images
  • Store the SD test image on a SD card
  • Use the SD to boot your Leopardboard DM365 (don't forget to set the Bootselect switch to SD boot)
  • Stop the bootloader, pressing any key at the countdown
  • Use the 'make installbootloader' command
  • Turn off your Leopardboard, select NAND bootloader at your Leopardboard Bootselect switch
  • Turn on your Leopardboard, the bootloader should be update if everything was successful

The second procedure is done following the next steps:

  • Download RidgeRun's SD installer image at "https://developer.ridgerun.com/wiki/index.php/RidgeRun_Demo_Images"
  • Store the SD installer on a SD card
  • Use the SD to boot your Leopardboard DM365 (don't forget to set the Bootselect switch to SD boot)
  • Let the system boot and follow the indicated steps at the LeopardBoard console
  • After finishing the installation process turn off your Leopardboard, select NAND bootloader at your Leopardboard Bootselect switches
  • Turn on your Leopardboard, the new bootloader should working in the LeopardBoard DM365

Error: Found a dvsdk on $PATH1, but is currently on use by another RidgeRun SDK at path: $PATH2

When trying to build the SDK, the problem appears when trying to build the DVSDK:

Error: Found a dvsdk on $PATH1, but is currently on use by another RidgeRun SDK at path: $PATH2

Error description

Unfortunately, the DVSDK build system stores the entire directory path all over the place when the DVSDK gets built. That means onces it is built, it can't be used by a second development directory (devdir). To protect from a bad build, if two different devdirs tries to share the same DVSDK, the build process will stop in order to prevent problems with paths.

The RidgeRun SDK applies a series of patches to the DVSDK to integrate the DVSDK build system into the SDK build system. Because the SDKs have grown so large, the SDK creates a symbolic link to the DVSDK instead of copying it. For environments that only have one devdir, this solution works well.

In order to work with more than one devdir, you can set a shell environment variable so a freshly installed DVSDK gets copied and then built locally in the SDK devdir:

If possible, first run make clean in the devdir that owns the DVSDK, as shown below. If not possible (because you deleted the devdir, then simply delete the DVSDK and install a fresh version).

cd $DEVDIR/proprietary/dvsdk*
make distclean

Export the FORCE_DVSDK_COPY flag:

echo "export FORCE_DVSDK_COPY=yes" >> $HOME/.bashrc

This will set the variable in the current shell environment and also add to your .basrch so each time you create a new shell, it will already be set.

Proceed to compile the SDK, when the SDK tries to modify the DVSDK it will copy the DVSDK to the devdir proprietary dvsdk directory. Please notice that copying the DVSDK will use a lot of disk space.

When copying the DVSDK use a fresh DVSDK that has not been modified or the "Error: Found a dvsdk on..." will appear again.

Run-time issues

Video Playback without Camera Interface

CMEM error

CMEM errors can be produced due to changes in kernel configuration.

Errors like:

  • cmemk: Unknown symbol __class_create
  • cmemk: Unknown symbol device_create
  • cmemk: Unknown symbol device_destroy
  • Or similar

This errors can be solved rebuilding DVSDK modules, in order to do this it's needed to:

  • Set environment variables at SDK's, root this can be done with:
`make env`
  • clean build and install dvsdk4
make -C proprietary/dvsdk--4_02_00_06 clean build install 
  • Reload file system to the board

CMEMK Error: Failed to find a pool which fits <poolsize>

CMEM error can be produced for a low amount of reserved memory. This problem commonly appears when trying to play a 720p video.

In order to play 720p videos or similar, change the CMEMK amount of reserved memory.

First, at "Architecture configurations" select the video output buffer size to 720p


Select 720p into Video Output buffer size


Change the amount of reserved memory at Proprietary software


(0x3B00000) Amount of reserved memory from the kernel #Originally at: 0x1D00000 set to 0x3B00000

(0x3200000) Amount of reserved memory for cmemk #Originally at: 0xF00000 set to 0x3200000


disagrees about version of symbol

Error Message cmemk: disagrees about version of symbol
Activity causing error Loading DVSDK kernel module
Cause You reconfigured your kernel, which causes the kernel to modify its internal version, but your DVSDK kernel modules were built when the kernel had a different configuration, and thus a different internal version
Solution Rebuild the DVSDK
$(make env)
make -C proprietary/dvsdk* clean build install

Can I use your SDK if my network is behind a corporate proxy server requiring NTLM authentication?

RidgeRun focuses all our energy on Linux, so we are not experts on proprietary protocols like NTLM. However, customers have reported success in using the Cntlm Authentication Proxy. RidgeRun delivers the SDK over the Internet, provide all documentation online, and provides updates that require an Internet connection. Using the Cntlm Authentication Proxy allows your Ubuntu host computer access to the Internet when your proxy server requires NTLM authentication.

Ubuntu FAQ

Getting prompted for password for GNOME keyring

If you are getting asked for the GNOME keyring password, you can disable it using:

  • Click on "Application" (in the application starter on the screen left side).
  • Type in the word "startup"
  • Select the "Startup Application" icon
  • In the "Additional Startup Programs" list, clear the check-box of all Keyring services. You will likely see 3 of them:
    • "Certificate and Keyring Storage"
    • "Secret Storage Service"
    • "SSH Key Agent"
  • Click "Close" button
  • Restart the machine