Hi Marc-Andre, I think, the point I missed to transport: If dlopen causes libdl to load a library (i.e., the library is not yet loaded and can be found and loaded), libdl calls the library constructor as part of dlopen. Forcing the MPI library to load (dlopen) all tool libraries before the registration window closes, gives all dynamic tools the chance to call the registration function, before MPI will continue initialization. I hope this makes is clearer - Joachim -- Dipl.-Inf. Joachim Protze IT Center Group: High Performance Computing Division: Computational Science and Engineering RWTH Aachen University Seffenter Weg 23 D 52074 Aachen (Germany) Tel: +49 241 80- 24765 Fax: +49 241 80-624765 [email protected] www.itc.rwth-aachen.de