omniORB should run on IRIX 6.4 and 6.5 with the latest MIPSpro 7.2.1 compiler. It is recommended that you also apply the latest patches to the compiler - see mips_irix_6.5.n32.mk for more details on patches. According to the information provided by smant@nlr.nl (Geert Albert Smant), and James Riden , the SGI linker has some peculiar requirements on the order in which share libraries are specified on the command line: 1. Two libraries cross reference each other, as it is the case with -lomniORB2 and -ltcpwrapGK means that -lomniORB2 has to be repeated after -ltcpwrapGK. (This info is obsolete with omniORB 4.0) 2. Multi-threaded programs must have -lpthread as the last option on the command line. To satisify #2, we arrange in OMNIORB2_LIB that -lpthread is the last option. So as long as in a dir.mk, the $(CORBA_LIB) is the last one in the assignment to libs, this condition is satisfied. E.g. $(eg1): eg1.o $(CORBA_STUB_OBJS) $(CORBA_LIB_DEPEND) @(libs="$(CORBA_LIB)"; $(CXXExecutable)) There are also some caveats on building and running 64-bit binaries. See mips_irix_6.5_64.mk for more details. For Irix 6.2 and 6.3, the mips_irix_6.2_n32.mk can be used.