Hi George, * George Bosilca wrote on Wed, Nov 23, 2005 at 08:15:30AM CET: > As I continue to have the same problem with the missing ltdl.h header I > reported few days ago, I spend some time today to dig a little bit inside > to find out what and how happens. Finally, I figure out the problem. It > happens only after the last set of changes on the Makefile.am and only on > systems where there is not a ltdl.h installed on a default location. > Otherwise ... on systems where the ltdl.h is installed ... the ugliest > things may happens. We can use our ltdl.h in some directories (like the > opal base) and the system one in others (because a missing -I). How ? > Simply because most of the base components require the > opal/mca/mca_base_component_repository.h include. In this file at line 27 > there is a include "ltdl.h" supposely protected by the OMPI_WANT_LIBLTDL. > This define is always true as it come from the ompi_config.h so the ltdl.h > is always required. Now on system where this file does not exist on some > system include directories we are supposed to get the one we have ... > except that the -I for our include is not added in all the base > directories after the last set of changes to the Makefile.am.
Hmm. Wasn't the decision a while ago to #include <libltdl/ltdl.h> consistently, plus, in order to allow the next version of libltdl to work seamlessly as well, to also -I.../libltdl (although the Libtool documentation suggests otherwise)? I haven't followed changes regarding this closely, but above would be safe for OpenMPI in both cases: both failure to include the in-tree ltdl.h as well as failure with Libtool-2.0 will result in compilation errors, and are thus easy to find and fix. Cheers, Ralf