Skip to main content

Building standalone simulator

5 replies [Last post]
scottkell
Offline
Joined: 2007-04-04
Points: 0

I am trying to build OCAP-RI, the OCAP JVM, and the standalone client such that I can cobble these together into a local distribution. I then want to deploy my OCAP app to this, start standalone.bat (or the equivalent) and simulate.

What's the preferred way of building a local distribution?

Here's what I have done to date:

I built the OCAP-RI per the instructions provided.
$ cd $OCAPROOT/target/$OCAPTC
$ ant

Then I built the JVM:
$ cd ocap-ri/ri/ODLSrc/OCAP-1.0/jvm/Sun/build
$ ant clean
$ ant

I built the client successfully. (I had to upgrade the VizStudio projects using "vcbuild /upgrade" and modify build.xml files to work around some stampver.exe path issues).
$ cd ri/ODLSrc/VisionWorkbench/build
$ ant Client |tee build.log

I also tried to build the local install TWB. It fails when the simclient plugin tries to "gather.bin.parts". Looks like an undefined env var, but not one mentioned in setenv.bat. That's when I started to wonder if there is a better way to do this.
$ cd ri/ODLSrc/VisionWorkbench/build
$ ant local
...\VisionWorkbench\Client\com.vidiom.tool.clientsim\build\build.xml:309: The following error occurred while executing this line:
...VisionWorkbench\Client\com.vidiom.tool.clientsim\build\build.xml:134: Warning: Could not find file C:\code\ocap-ri\ri\ODLSrc\VisionWorkbench\Client\com.vidiom.tool.clientsim\${env.CLIENTSIM_ENV}\ClientSim.ini to copy.

Thanks for any help,

Scott K, TVWorks

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
mmillard
Offline
Joined: 2008-11-05
Points: 0

Before answering your questions, I think I better give you the history of the VISION Workbench build environment you are attempting to use. Vidiom Systems (basically me and Larry Wright [now at Flashlight Engineering]) never intended to provide a simple, top-of-tree build for open source consumption. Unfortunately, you are now seeing the result of this klunky build environment (the result of Vidiom's scheduling and resource allocation).

As part of the RI Project, I asked CableLabs whether I should rework the build environment to support a simpler top-of-tree build that was independent of the InstallShield constraints. We decided that my focus should be on the new TWB code base which will hopefully be easier to build from an open source perspective.

I dont' have a build document I can share with you; I would suggest looking at how the InstallShield package installs the components under "C:\Program Files\tru2way". This will identify the components and thier locations for the Beta snapshot we have released.

You asked:

>>Regarding building client sim from VizStudio, is this equivalent to this command line build?
>>$ cd ri/ODLSrc/VisionWorkbench/build
>>$ ant Client
>>It seems to build the same projects using VizStudio. A command-line process is a better choice for us.

This ant target does provide a command-line way to build the Client Simulator. I don't ususally build it this way when I am in development mode; however, it is the target for the InstallShield packaging process.

>>Our first step is to be able to build a local install. It seems this will be most 3rd parties initial step. Once we figure this out, I'm happy to document the process and contribute the information.

I'm not sure how valuable this information will be since the enableTV Client Simulator will not be part of the
Workbench in the future. Likewise, the rest of the Eclipse plugins may use a different mechanism. I'm not far enough along to provide you with any insight on what that will be, but it probably won't involve InstallShield.

>>I think it's the same as the install shield build w/o bundling up the final installshield executable. With some fixes to ODLSrc/VisionWorkbench/build/build.xml and changes to setenv.bat, I am able to get a runnable distribution (the ClientSim, eclipse plugins, OCAP/MPE, and CVM, env, etc) by doing this:
>>$ cd ri/ODLSrc/VisionWorkbench/build
>>$ ant local

This is an old target that was an attempt to build an InstallShield-free environment. I believe Larry Wright was the person who did this a few years ago. I haven't looked at it recently to see if it builds the artifacts correctly.

>>So, what I'm looking for is how to build everything end-to-end and deploy it locally to run. How do you guys build the source end-to-end? Is my approach correct?

My approach in the development environment is much more complicated and it doesn't produce a deployable package. The only way I've built a deployable package is using the InstallShield method. The InstallShield scripts are responsible for staging the components in the correct locations.

I'll check with Dave Hooley on whether my development environment process should be documented. It may not be that useful, now that you've figured out a way to leverage the InstallShield ant scripts to build the artifacts.

Mark Millard

Message was edited by: mmillard

scottkell
Offline
Joined: 2007-04-04
Points: 0

My confusion came from not understanding the difference to setting OCAPTC to "Vidiom/simulator/Win32/debug" versus setting it to "CableLabs/simulator/Win32/debug".

To clarify, building OCAPTC=="Vidiom*" is out dated and probably a waste of my time. OCAPTC=="CableLabs" is the most current mpe, RI and headend. Is that correct?

For completeness (and because its different than the build instructions), here is what I did:
% export OCAPROOT=/ocap-ri/ri/ODLSrc/OCAP-1.0
% export OCAPHOST=Win32-Cygwin
% export OCAPTC=CableLabs/simulator/Win32/debug
% export VIDIOM_TOOLROOT=${OCAPROOT}/bin/CableLabs/simulator/Win32/debug
% export CLIENTSIM_TOOLROOT=${VIDIOM_TOOLROOT}/bin
% export CLIENTSIM_ENV=${VIDIOM_TOOLROOT}/env
% export PATH=$PATH:/cygdrive/c/Java/jdk_1.5.0_15/bin:/cygdrive/c/doxygen/bin
% ; build the RI_Platform
% cd $OCAPROOT/../../RI_Platform
% ant | tee build.log
% ; build the CableLabs target
% cd $OCAPROOT/target/$OCAPTC
% ant | tee build.log

If that is the case, I think I have a successful build and am able to ./RI_Platform/runPlatform.sh. This seems to be a command-driven test program.

The next step is to figure out how to start MPE, load the JVM and start OCAPMain. Is there some 'standard' way to do this with the command-line program (or some other program)

Scott

judoal
Offline
Joined: 2006-05-23
Points: 0

Scott,

I'm sorry but we cannot provide you any more support. Please note that in the pre-release licence you signed, it is stated that no support is provided.

Allen

mmillard
Offline
Joined: 2008-11-05
Points: 0

To build the standalone Client Simulator, you should be using ri/ODLSrc/VisionWorkbench/Client/SimClient.sln, the Microsoft Visual Studio 2005 solution. Make sure your VIDIOM_TOOLROOT, CLIENTSIM_TOOLROOT, and CLIENTSIM_ENV are set.

The VisionWorkbench build directory is for building the TWB InstallShield distribution. It requires InstallShield 7 to be installed on your system. We do not currently have a top-of-tree, batch build mechanism for TWB SDK development, just product deployment.

Please note that this build environment is changing as we move towards using the RI Emulator and He4ri.

Mark Millard, CableLabs/enableTv

scottkell
Offline
Joined: 2007-04-04
Points: 0

Thanks Mark.

I'm able to build the ClientSim solution in VizStudio. How to use the ClientSim build artifacts is still an unknown though. (Can/Should I run from VizStudio? Copy to a VWB install? Do I need to unregister the old ClientSim?)

Regarding building client sim from VizStudio, is this equivalent to this command line build?
$ cd ri/ODLSrc/VisionWorkbench/build
$ ant Client
It seems to build the same projects using VizStudio. A command-line process is a better choice for us.

Our first step is to be able to build a local install. It seems this will be most 3rd parties initial step. Once we figure this out, I'm happy to document the process and contribute the information.

I think it's the same as the install shield build w/o bundling up the final installshield executable. With some fixes to ODLSrc/VisionWorkbench/build/build.xml and changes to setenv.bat, I am able to get a runnable distribution (the ClientSim, eclipse plugins, OCAP/MPE, and CVM, env, etc) by doing this:
$ cd ri/ODLSrc/VisionWorkbench/build
$ ant local

It looks like the VWB installation. However, when I run it I'm finding it crashes in the libcvm_g.dll that I built. Since I'm probably not following the same end-to-end build process as you guys, it's likely a build process issue or a configuration issue.

So, what I'm looking for is how to build everything end-to-end and deploy it locally to run. How do you guys build the source end-to-end? Is my approach correct?

Thanks,

Scott K