The Calendar library from http://www.lri.fr/~signoles/prog/calendar/doc/ contains a module (Period) which has an interface (period.mli) but no implementation. There's apparently nothing wrong with that, but the output of tools/objinfo for calendar.cma shows only the list of modules which have implementations. For example: Unit name: Time Interfaces imported: 71f888453b0f26895819460a72f07493 Pervasives 1876ce678cfa5a1961fac21850f71efd Unix 1b657b86bb0e7ba36acf02910897b2eb Time 8d84727c6f398e1a8b710d8161e26479 Time_Zone d99e051c4c63bb80cd2586ea99584429 Period Uses unsafe features: no "Period" is not shown as a separate module (ie. there is no "Unit name: Period") in the output. The problem for me is I'd like to determine which modules are provided by a library, and which modules a library depends upon. I can't tell that from objinfo because of modules like Period. I had a look at the implementation, tools/objinfo.ml and the definition of compilation_unit and library in bytecomp/emitcode.mli, and I can't really see how even the compiler knows about these types of modules. Why doesn't it try and fail to link to Period when loading calendar.cma? Rich. PS. Background here: https://www.redhat.com/archives/fedora-devel-list/2007-May/thread.html#01234 -- Richard Jones Red Hat