Skip to main content

Error loading libmpe.dll with RI built from subversion.

4 replies [Last post]
marcbutler
Offline
Joined: 2009-08-04
Points: 0

I am having difficulties running the tune test using binaries built from source (svn rev 4090). The ri.exe is crashing when trying to load libmpe.dll. This is in the Windows XP / Cygwin environment.

I have confirmed:
- libmpe.dll exists;
- the directory containing libmpe.dll is specified in the platform config shared lib path list;
- he4ri is running;
- the configuration files from TuneTest.zip are in the correct location.

I have tried moving the libmpe.dll into the same directory as ri.exe; alternatively I tried putting the dir containing libmpe.dll into the PATH -- neither appeared to work.

I have placed inline both some of the error log and my build environment. I have drastically elided the error log below as there appears to be a message limit on this forum (and no way to attach files).

Any help greatly appreciated.

*** error log ***

20090811 16:00:10.609 INFO RI.UAL.ual- returning new GPNVS association ctx[0] 057E0DB8:0293D694
20090811 16:00:10.609 INFO RI.CG- cg_upnp_controlpoint_subscribe(0293D158, 0293EF18, 300);
20090811 16:00:10.609 INFO RI.UAL.ual- ual_RegisterEventInterest SID: C6-15-DEAD-6101
20090811 16:00:10.609 INFO RI.UAL.ual- returning new FDC association ctx[0] 057E0DB8:0293D694
20090811 16:00:10.609 INFO RI.CG- cg_upnp_controlpoint_subscribe(0293D158, 0293E9BC, 300);
20090811 16:00:10.609 INFO RI.UAL.ual- ual_RegisterEventInterest SID: C6-15-DEAD-F101
20090811 16:00:10.609 INFO RI.Pipeline.OOB- setup_ual - setting OOB table refresh to 1
*** Config File WARNING! Could not open configuration file! ***
*** Configuration file: (null)
20090811 16:00:10.609 WARN RI.UI- Unable to parse UI configuration file. Using default configuration.
20090811 16:00:10.609 INFO RI.UI- window_init called
20090811 16:00:10.609 INFO RI.UI- Device screen resolution: 640 x 48020090811 16:00:10.609 INFO RI.UI- Initializing wxWidgets application UI
20090811 16:00:10.843 INFO RI.UI.OpenGL.common- opengl_init_environment -- called with win -203, width 640, height 480
20090811 16:00:10.843 INFO RI.UI.OpenGL.common- opengl_init_environment -- uiInfo->hw_acceleration_disabled:0
20090811 16:00:10.843 INFO RI.UI.OpenGL.common- opengl_init_environment -- complete
20090811 16:00:10.843 INFO RI.UI- window_init returning Window ID: -203
20090811 16:00:10.843 INFO RI.Display- display_set_window_id -- called with window id -203
20090811 16:00:10.843 INFO RI.FrontPanel- create_frontpanel -- called
20090811 16:00:10.843 INFO RI.FrontPanel- initLEDDisplays -- called
20090811 16:00:10.843 INFO RI.FrontPanel- initTextLEDDisplays -- called

* Environments to be loaded * :
Platform Config * : env 0: ocap_stack
Total Environments: 1

* Platform Config * : *** processing RI.Launch.App.0 ***
* Platform Config * : loading app: ocap_stack

LoadLibrary called with libmpe.dll
LoadLibrary failed with error code 126
ERROR! Could not load library -- libmpe.dll
>>>>- RI returned status 1 -<<<<
killing VLC...

*** build environment ***

export OCAPROOT=c:/work/cablelabs/ri/trunk/ri/ODLSrc/OCAP-1.0
export OCAPHOST=Win32-Cygwin
export OCAPTC=Vidiom/simulator/Win32/debug

export JAVA_HOME=c:/Java/jdk1.6.0_14
export ANT_HOME=c:/apache-ant-1.7.0

export VIDIOM_TOOLROOT=${OCAPROOT}/bin/Vidiom/simulator/Win32/debug
export CLIENTSIM_TOOLROOT=${VIDIOM_TOOLROOT}/bin
export CLIENTSIM_ENV=${VIDIOM_TOOLROOT}/env

export PLATFORMROOT=c:/work/cablelabs/ri/trunk/ri/RI_Platform
export PLATFORMTC=Win32/debug
export PLATFORMHOST=Win32-Cygwin

export PATH=$PATH:/cygdrive/c/apache-ant-1.7.0/bin:/cygdrive/c/Java/jdk1.6.0_14/
bin

export MFGROOT=c:/work/cablelabs/ri/trunk/ri/MfgEnv
export MFGTC=Win32/debug

export RICOMMONROOT=c:/work/cablelabs/ri/trunk/common
export HE4RIROOT=c:/work/cablelabs/ri/trunk/emu/HeDri/Emulator

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
marcbutler
Offline
Joined: 2009-08-04
Points: 0

At least one problem is that the libmpe.dll that is built by the ant task. Does not export the symbols ri_stack_init or ri_stack_term (according to Dependency Walker).

I have rebuilt libmpe.dll using:
ant purge.mpe
ant clean.mpe
ant build.mpe

I am not familiar with ant so my usage is undoubtedly clumsy.

csweeney
Offline
Joined: 2009-04-11
Points: 0

I am suspicious of your build environment, in particular:
OCAPTC=Vidiom/simulator/Win32/debug

try
OCAPTC=CableLabs/simulator/Win32/debug

Also, what instructions are you following for performing the build?

marcbutler
Offline
Joined: 2009-08-04
Points: 0

I have been trying to get something working from an amalgam of wiki entries and the OCAP RI Build Instructions.pdf that is in subversion.

Here are the wiki pages:

https://devzone.cablelabs.com/widget/web/ocapri/1/-/wiki/OCAP%20RI%20Pub...

https://devzone.cablelabs.com/widget/web/ocapri/1/-/wiki/OCAP%20RI%20Pub...

https://devzone.cablelabs.com/widget/web/ocapri/1/-/wiki/OCAP%20RI%20Pub...

Using the OCAPTC you specified, results in the same error (cannot find libmpe.dll) but does build a copy of libmpe.dll with ri_stack_init and ri_stack_term symbols exported.

Cheers.

So I have it running -- having changed:
RI.Launch.App.0.moduleName = $(OCAPROOT)/bin/$(OCAPTC)/bin/libmpe.dll so that the module name is a canonical path.
So apparently it is a search path problem. But very confusing given libplatform.dll loads just fine.

Message was edited by: marcbutler

csweeney
Offline
Joined: 2009-04-11
Points: 0

Nearly every build issue that I have seen (the one exception has to do with a clean target and the JVM) has been due to environment settings issues.

If you use the checkout_dev_env.sh script as referenced on the Quick Start wiki page then a setEnv file that contains the necessary (correct) settings is generated for you, avoiding head scratching about "what should this environment variable be...".

Use of the checkout_dev_env.sh script is entirely optional, but highly recommended.