Prev Up Next
Go backward to Orbix
Go up to CORBA
Go forward to OmniORB

MICO

"The acronym MICO expands to MICO Is CORBA. The intention of this project is to provide a freely available and fully compliant implementation of the CORBA 2.2 standard. ...  Our goal is to keep MICO compliant to the latest CORBA standard. The sources of MICO are placed under the GNU-copyright notice."--from the MICO web page.

On SunOS

Use Shawn Bisgrove's installation of MICO; see his DSC web page to see how to set up your bash environment variables to point to his installation and get the proper MakeVars file.

On FreeBSD

Nathan Schimke has built MICO on a FreeBSD/Pentium platform. It can be used on at least two CS department machines, monica.cs.rpi.edu and yoyo.cs.rpi.edu. To get started, see the README file in the directory /usr/local/doc/mico/examples, which directs you to copy that directory to your home directory and try some of the examples. You can also browse a copy of the examples directory here. You may also want to look at a compressed postscript2 version of the MICO Manual; Chapter 3 in particular takes you through a small example.

I was able to compile, build, and run the account and account2 examples with essentially no problem (but see below). The first of these isn't very interesting because it doesn't separate the server and client, but the second one does. Although the shell script in account2 runs the client on the same machine as the server, you can start the client separately on another machine. I tried running the server on monica and the client on yoyo, and it worked. I encourage you to try this example and other examples yourself.

The only problem I encountered so far is that the linking phase is extremely slow--on the order of five to ten minutes to build each of the client and the server. Surely this must be due to some configuration problem, but we'll have to see what the time can be reduced to before committing to making extensive use of this CORBA implementation. (Nathan is also installing some other free CORBA implementations and is working on getting the license for Orbix reinstated.)

On Windows

If you want to install MICO on Windows 95/98/NT and Visual C++, there are a couple of possibilities, depending on which version of the compiler you have.
  1. If you have VC 5.0: Shawn Bisgrove and Scott Bonneau independently succeeded in building MICO 2.2.4 on Windows NT and VC 5.0 plus Service Pack 3. Scott has made the binaries available. But Service Pack 3 is necessary even if you are not building the system, only using it.

    Shawn supplied the following information which may be useful to others wanting to build MICO on VC 5.0 themselves.

    Last night, I was able to build MICO using Windows 98 and Visual C++ 5.0 with Service Pack 3. This requires some manual setup of the Visual C++ compiler not done by the install program (in the area of dos compilation).

    First, the Visual C++ bin directory should be present in the path and a batch file vcvars32.bat must be run to enter all of the environment variables needed to run nmake from the dos prompt. Second, nmake is invoked using: nmake /f Makefile.win32 w95-all, not nmake /f Makefile.win32 win95-all as the documentation states. Lastly, the win32-bin directory that is created should be placed in your path for easy invocation of the idl, micod, and ird. The examples will call these files through batch files that need to be slightly modified to run on Win98 (currently written for Windows NT).

  2. If you have VC 6.0: the MICO 2.2.4 zip file from the MICO web page doesn't compile because of a compiler bug, but I found a small workaround. (The problem was that there was already a workaround for a bug in VC 5.0 but that workaround bumped into a different bug in VC 6.0; see the CHANGES file for a little more detail.) The modified version is available. To compile it, follow the instructions in the README-WIN32 file. The information Shawn Bisgrove gives above for 5.0 applies here too, except that I already corrected the nmake invocation in the README-WIN32 file. Using the resulting binaries and library, I've been able to run the account2 example with the server on monica and a client on my laptop. (But so far not vice versa.)

MICO and Java/C++ interoperability

Shawn Bisgrove tested Java/C++ interoperability by adapting the textbook's Front Office example and using JDK 1.2, MICO 2.2.4, and idltojava (available free from java.sun.com when you register as a developer). See his DSC web page.

Additional MICO-related web links, files, and examples

See Shawn Bisgrove's DSC web page.
 

Prev Up Next