Build successful, but launching OV seems to fail

Post Reply
ddvlamin
Posts: 160
Joined: Thu Aug 13, 2009 8:39 am
Location: Ghent University
Contact:

Build successful, but launching OV seems to fail

Post by ddvlamin »

Hello,

I installed OV and this worked immediately, however when I tried to compile OV on Win XP (at work 64 bit, at home on 32bit) I encounter some problems. It states that the building process was successful. However when I try to start the application (acquisition server or designer) it stops and starts the visual studio debugger. The contents of the ms-dos screen are:

Code: Select all

Setting environment for using Microsoft Visual Studio 2005 x86 tools.
[  INF  ] Created kernel loader, trying to load kernel module
[  INF  ] Kernel module loaded, trying to get kernel descriptor
[  INF  ] Got kernel descriptor, trying to create kernel
R6025
- pure virtual function call
This error is given both on my 64bit and 32bit OS.

During the building process I also noticed the following (this occurred in the plugin-inspector tree, but also occured in other trees).

Code: Select all

--   Found glade...
----[ OK ]
....
--     [  OK  ] Third party lib D:/programmas/openvibe/openvibe/dependencies/gtk/lib/pango-1.0.lib
--     [FAILED] Third party lib m
--     [  OK  ] Third party lib D:/programmas/openvibe/openvibe/dependencies/gtk/lib/gobject-2.0.lib
Some other libraries it failed to find:

FAILED to find BLiFF++ (when building classifiation-gpl tree)
-- FAILED to find gsl...
FAILED to find boost... (when building signal-processing tree)
FAILED to find X11... when building openvibe-plugins/tools
[FAILED] lib vrpnserver

These messages are now taken from the build process on the 64bit XP so tonight I will check if these last 5 errors also occurs on the 32bit

These libraries are however installed and the batch file win32-dependencies.cmd includes the path.

Any ideas where I can start looking to solve this problem?

Thanks,
Kind regards,
Dieter Devlaminck

yrenard
Site Admin
Posts: 645
Joined: Fri Sep 01, 2006 3:39 pm
Contact:

Re: Build successful, but launching OV seems to fail

Post by yrenard »

ddvlamin wrote:Hello,

I installed OV and this worked immediately, however when I tried to compile OV on Win XP (at work 64 bit, at home on 32bit) I encounter some problems. It states that the building process was successful. However when I try to start the application (acquisition server or designer) it stops and starts the visual studio debugger. The contents of the ms-dos screen are:

Code: Select all

Setting environment for using Microsoft Visual Studio 2005 x86 tools.
[  INF  ] Created kernel loader, trying to load kernel module
[  INF  ] Kernel module loaded, trying to get kernel descriptor
[  INF  ] Got kernel descriptor, trying to create kernel
R6025
- pure virtual function call
This error is given both on my 64bit and 32bit OS.
You're most probably missing service pack 1 of Visual Studio 2005 !

I recommend that you switch to a more recent visual studio if you can. 2005 series is outdated. 2008 is about to be. Visual C++ express is free and you can download the latest version (2008 as I'm writing this post) from this link
ddvlamin wrote: During the building process I also noticed the following (this occurred in the plugin-inspector tree, but also occured in other trees).

Code: Select all

--   Found glade...
----[ OK ]
....
--     [  OK  ] Third party lib D:/programmas/openvibe/openvibe/dependencies/gtk/lib/pango-1.0.lib
--     [FAILED] Third party lib m
--     [  OK  ] Third party lib D:/programmas/openvibe/openvibe/dependencies/gtk/lib/gobject-2.0.lib
This is due to the pkg-config script for GladeWin32 not being correct. It won't affect the build, you can ignore this FAILED warning.
ddvlamin wrote: Some other libraries it failed to find:

FAILED to find BLiFF++ (when building classifiation-gpl tree)
-- FAILED to find gsl...
FAILED to find boost... (when building signal-processing tree)
FAILED to find X11... when building openvibe-plugins/tools
[FAILED] lib vrpnserver

These messages are now taken from the build process on the 64bit XP so tonight I will check if these last 5 errors also occurs on the 32bit

These libraries are however installed and the batch file win32-dependencies.cmd includes the path.
Just to be sure, did you actually launch the win32-install_depedencies.exe installer ?
Could you attach a copy of your win32-dependencies.cmd file ?
Could you also send me a listing of your dependencies folder ? For this, in a terminal, just go in your dependencies folder and type :

Code: Select all

dir /s > listing.txt
Also, as you probably saw on the FAQ page, building / using OpenViBE on x86_64 bits Windows XP has not been tested for now so I'm really interested in your feedback on that point !

Hope this helps,
Best regards,
Yann

ddvlamin
Posts: 160
Joined: Thu Aug 13, 2009 8:39 am
Location: Ghent University
Contact:

Re: Build successful, but launching OV seems to fail

Post by ddvlamin »

Thanks for the quick response.

I indeed use visual studio 2005 as it is available from our university. However, I did install the service pack (it was quite a big file). I've redone the complete compilation with the visual studio 2008 express and now it does not give me this "virtual method call" error and the program starts up fine. The FAILED erros still occur (therefore I included the requested files).

win32-dependencies:

Code: Select all

@echo off

SET OV_DEP_MSSDK=C:\Program Files\Microsoft SDKs\Windows\v6.0A\
SET OV_DEP_CMAKE=D:\programmas\openvibe\scripts\..\dependencies\cmake\cmake-2.6.2-win32-x86
SET OV_DEP_EXPAT=D:\programmas\openvibe\scripts\..\dependencies\expat
SET OV_DEP_BOOST=D:\programmas\openvibe\scripts\..\dependencies\boost\boost_1_34_0
SET OV_DEP_GLADE=D:\programmas\openvibe\scripts\..\dependencies\gtk
SET OV_DEP_ITPP=D:\programmas\openvibe\scripts\..\dependencies\itpp
SET OV_DEP_OBT=D:\programmas\openvibe\scripts\..\dependencies\obt
SET OV_DEP_OGRE=D:\programmas\openvibe\scripts\..\dependencies\ogre-vc2008
SET OGRE_HOME=D:\programmas\openvibe\scripts\..\dependencies\ogre-vc2008
SET OV_DEP_OPENMASK=D:\programmas\openvibe\scripts\..\dependencies\openmask
SET OV_DEP_DSI=D:\programmas\openvibe\scripts\..\dependencies\openmask
SET OMK_HOME=D:\programmas\openvibe\scripts\..\dependencies\openmask
SET OMK_BIN=D:\programmas\openvibe\scripts\..\dependencies\openmask
SET OV_DEP_VRPN=D:\programmas\openvibe\scripts\..\dependencies\vrpn
SET VRPNROOT=D:\programmas\openvibe\scripts\..\dependencies\vrpn
Still, is it normal it does not work with 2005 or is it really something I did wrong. I know I had to adjust some things in the scripts. I adjusted the installation script for the dependencies because it stated it did not find the SDK, this was because the sdk key in my register did not match with any of the three possibilities in the install script. I also had to change the win32-init_env_command because it did not find the script and the cmake executable.
But these small changes are probably not related to virtual function error?
With the 2008 version I only had to change the %VSTOOLS% variable because it still could not find the script.

I indeed read that the 64bit compilation is not supported, that's why I also tested it at home on 32bit. Yesterday I had two linking problems with the cross-platform x86_x64 compiler, one for the expat package and one for ogre. the linking problem for expat was resolved by building the libraries for the x64 architecture. I hope the same can be done for ogre.

Kind regards,
Dieter Devlaminck
Attachments
listing.zip
(202.02 KiB) Downloaded 269 times

yrenard
Site Admin
Posts: 645
Joined: Fri Sep 01, 2006 3:39 pm
Contact:

Re: Build successful, but launching OV seems to fail

Post by yrenard »

Your win32-dependencies.cmd looks ok
Your dependencies folder listing looks ok

However, the libraries still can't be found...

Well, maybe now you are using VC++ 2008 express, you should clean CMake's cache. For this to be done, either run win32-clean.cmd or completely delete the local-tmp folder. You can then try to re win32-build.cmd the project...

Also, now you have Visual C++ 2008 epxress installed, you may want to restart win32-install_dependencies.exe so it re-generates your win32-dependencies.cmd. It may find the platform SDK this time (it has always worked better with 2008 than with 2005 here).

The problem you had with VSTOOLS not being found correctly is probably because you never started the VC++ 2008 GUI. It should be done once, there are some initialization done during this first launch.

Tell me how it's going...
Still, is it normal it does not work with 2005 or is it really something I did wrong.
This is a service pack problem, several people got this error before and they all solved it either by updating visual or the platform SDK... I can't remember exactly, sorry.

Yann

ddvlamin
Posts: 160
Joined: Thu Aug 13, 2009 8:39 am
Location: Ghent University
Contact:

Re: Build successful, but launching OV seems to fail

Post by ddvlamin »

I cleaned everything and did everything again from the start as stated on the website, but now with visual studio express 2008.

The initialization of the variable VSTOOLS still seems to fail. It says something like
\Microsoft was not expected here. Maybe it has something to do with the spaces in the path? Anyway, I just point directly to the file.

The biggest problem is that the same packages are still not found (I downloaded them manually from the site as my internet connection was not very stable). I included the build output as a txt file. However the application seems to install and execute, but maybe their are some things that are not working due to these errors? But if it did not find these packages during the build process, shouldn't it give some linking errors?

EDIT: it seems that the libraries are really missing, for example the vrpnserver.lib is not in my directory and not in the zip file I downloaded from the site?

If I look at this findThirdPartyVRPN cmake-module it searches in /openvibe/dependencies/vrpn/lib but the vrpnserver.lib file is not there.

FIND_LIBRARY(LIB_VRPNSERVER vrpnserver PATHS ${PATH_VRPN}/lib)
IF(LIB_VRPNSERVER)
MESSAGE(STATUS " [ OK ] lib ${LIB_VRPNSERVER}")
TARGET_LINK_LIBRARIES(${PROJECT_NAME}-dynamic ${LIB_VRPNSERVER})
ELSE(LIB_VRPNSERVER)
MESSAGE(STATUS " [FAILED] lib vrpnserver")
ENDIF(LIB_VRPNSERVER)

Kind regards,
Dieter Devlaminck
Attachments
build_output.txt
(149.53 KiB) Downloaded 275 times

yrenard
Site Admin
Posts: 645
Joined: Fri Sep 01, 2006 3:39 pm
Contact:

Re: Build successful, but launching OV seems to fail

Post by yrenard »

Hello,
The biggest problem is that the same packages are still not found (I downloaded them manually from the site as my internet connection was not very stable). I included the build output as a txt file. However the application seems to install and execute, but maybe their are some things that are not working due to these errors? But if it did not find these packages during the build process, shouldn't it give some linking errors?
The dependencies you need are actually found. The ones missing are not needed (this is explained later) and won't cause linking error because appropriate #ifdef / #endif macros are used. Let's look at you your attached file, I can detect a few things.

First line says Setting environment for using Microsoft Visual Studio 2005 x86 tools meaning that the wrong VSTOOLS is used, be it found automatically or by hand.
Line 10 says -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio 8/VC/bin/cl.exe meaning that CMake found a different compiler than the one it should chose given that VS2005 environment has been configured earlier. 2008 can be found in the path someway...

Looking at later FAILED lines, I find :
FAILED third party lib m (Not a problem as I said before)
FAILED to find BLiFFF++ (This is Linux only. There are some #ifdef / #endif stuff to make the code compile anyway. Not a problem)
FAILED to find GSL (This is needed by BLiFF++ only so don't care about this one)
FAILED to find BOOST (I probably have to correct something here, but it seems not to affect the build)
FAILED to find X11 (This is Linux only. There are some #ifdef / #endif stuff to make the code compile anyway. Not a problem)
FAILED to find vrpnserver (This is Linux only)

I realize that on Windows, many FAILED messages are sent because of some Linux dependencies. I will have to mute those messages someway not to fear the user. Good point is that all the dependencies you needed on windows were detected by CMake (except BOOST but visual found it anyway). So if you correct the mess about visual 2005/2008 detection at startup, I think you now have a working OpenViBE development environment. Congrats !

I filled in a bug report on those issues, you can follow it at its dedicated page

Yann

ddvlamin
Posts: 160
Joined: Thu Aug 13, 2009 8:39 am
Location: Ghent University
Contact:

Re: Build successful, but launching OV seems to fail

Post by ddvlamin »

Ok thanks, I'll correct the VSTOOLS variable. I probably pointed to the wrong one as I have them both installed because I could not remove the 2005.

sorry for all the confusion, if I used visual studio 2008 immediately I probably never noticed these unimportant errors. Still, this way I learned a lot about the structure of the software.

EDIT: regarding the boost: in the file FindThirdPartyBoost the command FIND_PACKAGE(Boost 1.36.0) searches for minimum version 1.36.0. I changed it to 1.34.0 and it stopped complaining about boost not found.

Again thanks,
Best regards,
Dieter Devlaminck

Post Reply