What you need to do: Make sure that you are using egcs 1.1b or later and running mico 2.2.1. Build mico 2.2.1 with the egcs 1.1b compiler and do a "make install" Modify the Makefile so that line #1 points to your base mico installation (mine is /usr1/mico). TO BUILD: After making the above change(s), untar into a directory and type "make". That should build two executables: consumer supplier Then, get another term window up, and type "tty" in it, to get the term device (say, /dev/ttypd for instance). Then, in that window, type: sleep 100000 to get rid of the prompt for a while. Then, run the "runit" script as follows: runit /dev/ttypd That assumes that your tty is /dev/ttypd, your's will be different most likely. The runit script will launch micod and the naming service Then it will register the event service with the imp repository, and then it will run the consumer first and then the supplier. The gist is that the supplier pushes in order a long (12), a short (10), a double value (9999.999), and a string ("CORBA on Linux ROCKS!"). A thread on the consumer (the server of which is blocking) keeps calling try_pull on its proxy till it gets something, then it prints it out (in that stderr window you created, such as /dev/ttypd).