Building on *nix
WARNING: this could be out of date. Not updated for the new version... yet...
To build daqAI yourself you need to do the following in a local release area
(I've been basing it on p11.09, p12 seems to have a funny motif linkage in it):
addpkg -h CLIPS
addpkg -h daqAI
addpkg -h l3xDAQSuperComBase
addpkg -h l3monitor_utils
gmake lib
gmake daqAI.bin
gmake daqAI.script
Then, to put it down on the online system, you can use the move_to_online
<version> command. Make sure you aren't using an old version -- look on the
online system in /online/products/daqAI to see what the next version is.
Once it is down there, you'll need to declare it in ups. A template command to
do this can be found in the ups/daqAI.table file. Once you are satisfied
with the version and declare it current in ups, please answer "y" to the Do you
want to tag it question in the move_to_online script. If you are
experimenting with a new version, answer "n" to the tag question and no updates
and tags will be made in cvs.
Note there are a few build problems in the CLIPS package that give errors
when you just type gmake. These need to be fixed.
Building on Windows
daqAI can be built debugged (with a real debugger) on Windows. It has only
been tested on VC7.0 (VS.NET), but it may still build under VC 6.0.
- Check out from cvs the following packages: l3monitor_utils,
l3xDAQSuperComBase, CLIPS, and daqAI. Extract them to the same
directory. In that directory create a new directory called D0RunII, and
extract itc and thread_util into that directory.
- Make sure you have ACE and xerces downloaded and their include paths part
of the environment. The first time you do this it will be a bit of work to get
it right (on Unix, the ups utility takes care of all of this for you).
- Build l3monitor_utils first. Go into the win subdirectory,
and load the workspace. Right click and hit build. Get it building with no
errors (you'll get warnings from ACE). The reason to build this first is it is
a library, so linking isn't a requirement, and all you'll need to have this
build is the include paths.
- Next build itc. Here you have to create a workspace. Do this by
creating a win subdirectory, and then in that subdirectory creating an
empty workspace that is called win. Then create a new C++ Windows
project, a static link library, called libitc. Turn off precompiled headers.
Add all the itc files in the itc/src directory, and add the include path
"..\.." to the build. Make sure that it is building multi-threaded debug
(under the code generation page). Build the library. You'll get lots of
warnings from ACE, but ignore those.
- Repeat the process for thread_util. Due to some unix dependent code,
however, the files Process_Manager.cpp, interlock.cpp, and Clique.cpp
will not build on Windows. Just remove them -- they are not required by the
daqAI build.
- Load the daqAI workspace (in daqAI/win/win.vcproj). Build the
daqAI_XMLMonitor project -- this should cause everything else to build that is
required. Again, expect lots of ACE warnings.
- Before you run make sure the xerces library DLL is in your executable
path, or a copy it to the Debug folder where the daqAI_XMLMonitor program
sits.
To run from the IDE in debug mode, set the command line parameters to be "-r
../../scripts/daqai_rules.txt --offline". You can also add things like
--dump-facts, etc., to help you out.