ACE for Debian
--------------


== Environment variables ==

If the software you are compiling requires $ACE_ROOT to be set (for
example, the tutorials), you may set it to /usr/lib/ace. For bash,
the command to do this is
 
 export ACE_ROOT=/usr/lib/ace

Likewise, for TAO:

 export TAO_ROOT=${ACE_ROOT}/TAO


== Compiling examples ==

To compile ACE or TAO examples (in libace-doc and libtao-orbsvcs-doc), you'll
need:
 1. to define ACE_ROOT and TAO_ROOT as explained above.
 2. to install mpc-ace package if needed.
 3. to copy and uncompress the example you want to test, e.g.:

   cp /usr/share/doc/libtao-orbsvcs-doc/examples/CosEC $HOME/ex1
   find $HOME/ex1 -type f -name '*.gz' | xargs gunzip

 4. to regenerate the GNUmakefiles for this new location:

   cd $HOME/ex1
   mwc-ace -recurse -value_project install=. -value_project libout=.

 5. now you can compile your example.


== Service Configuration ==

You'll need to carefully review server.conf files to ensure ACE service
configuration will work. Indeed in a lot of examples, the library name
in dynamic directives is a library root name which might need some
changes.

For example, in the following server.conf excerpt (taken from #656040
bug report):

  dynamic Server_Logging_Service Service_Object * netsvcs:_make_ACE_Server_Logging_Acceptor() active "-p 20009"

netsvcs refers to libnetsvcs.so. And this is what will be looked for. Unless
you have libnetsvcs-dev package installed, the lookup will fail. Another
way to fix this would be to replace netsvcs with the full library name, e.g.
libnetsvcs-6.0.3.so.


 -- Thomas Girard <thomas.g.girard@free.fr>, Sun, 23 May 2010 11:04:27 +0200
