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:

The first procedure is done following the next steps:

The second procedure is done following the next steps:

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:

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

`make env`
make -C proprietary/dvsdk--4_02_00_06 clean build install 

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: