Looks good on different distribs and versions of libltdl so I think I'll
commit that tomorrow unless somebody complains.

Brice

Debian 6.0.6   ltdl = 2.2.6b-2
Debian 7.0      2.4.2-1.2
Ubuntu 8.04     1.5.26-1ubuntu1
Ubuntu 12.04    2.4.2-1ubuntu1
Centos 5.9      1.5.22-7.el5_4
Centos 6.3      2.2.6-15.5.el6
Fedora 17       2.4.2-3.1.fc17
OpenBSD 5.2     2.4.2
FreeBSD 9.1     2.4.2
NetBSD 6.0.1    2.2.6b




Le 14/05/2013 14:32, Brice Goglin a écrit :
> Here's a patch that seems to work. I stole the code that libtool.m4
> uses to find ltdl dependencies, put it inside a new
> HWLOC_CHECK_LTDL_DEPS that stores these dependencies in
> HWLOC_LIBS_PRIVATE. It properly adds -ldl on Linux and nothing on FreeBSD.
>
> The rest of the patch is similar to Jeff's, with things moved inside
> HWLOC_SETUP_CORE.
>
> Brice
>
>
>
>
> Le 14/05/2013 10:27, Brice Goglin a écrit :
>> I am reviving this thread since I interrupted it to discuss "enabling
>> plugins vs embedding hwloc" (1) but we didn't close the discussion
>> about "not embedding libltdl anymore" (2).
>>
>> We committed a fix for (1) that (sometimes) generates tarballs
>> without src/libltdl directory. It doesn't always happen, I don't
>> understand why, but it certainly makes those tarballs unusable
>> (configure complains that a Makefile.in is missing). My original
>> patch for (1) fixed the problem, but (2) is a better way to avoid any
>> such issue.
>>
>> The patch below does pretty much what we need, except putting the
>> right ltdl static libs in hwloc.pc
>>
>> I am going to look at this before releasing v1.7.1
>>
>> Brice
>>
>>
>>
>>
>> Le 08/05/2013 02:47, Jeff Squyres (jsquyres) a écrit :
>>> How's this patch?
>>>
>>> The only question I have is: how do we figure out what libraries to put in 
>>> the .pc file in the --disable-shared --enable-static case?
>>>
>>>
>>> On May 7, 2013, at 8:24 PM, Samuel Thibault <samuel.thiba...@inria.fr> 
>>> wrote:
>>>
>>>> > Jeff Squyres (jsquyres), le Wed 08 May 2013 02:21:02 +0200, a écrit :
>>>>> >> On May 7, 2013, at 6:25 PM, Brice Goglin <brice.gog...@inria.fr> wrote:
>>>>> >> 
>>>>>> >>> I don't have anything against this. What was the reason for not using
>>>>>> >>> the default/system libltdl in OMPI? libtool was buggy when you 
>>>>>> >>> started
>>>>>> >>> using it?
>>>>> >> 
>>>>> >> 
>>>>> >> I neglected to answer this.
>>>>> >> 
>>>>> >> Yes, plus libltdl grew new functionality that we needed (global/local 
>>>>> >> symbol visibility).
>>>>> >> 
>>>>> >> We might be getting to the point soon where we can rely on the 
>>>>> >> installed libltdl to be new enough everywhere, but we haven't had that 
>>>>> >> conversation.
>>>> > 
>>>> > We could already check that the installed version is new enough for our
>>>> > needs.
>>>> > 
>>>> > Samuel
>>>> > _______________________________________________
>>>> > hwloc-devel mailing list
>>>> > hwloc-de...@open-mpi.org
>>>> > http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
>>> -- Jeff Squyres jsquy...@cisco.com For corporate legal information
>>> go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>>>
>>> no-embed-libltdl.diff
>>>
>>>
>>> Index: configure.ac
>>> ===================================================================
>>> --- configure.ac    (revision 5606)
>>> +++ configure.ac    (working copy)
>>> @@ -168,30 +168,25 @@
>>>  AM_DISABLE_STATIC
>>>  AM_PROG_LIBTOOL([dlopen win32-dll])
>>>  LT_LANG([C])
>>> -LT_CONFIG_LTDL_DIR([src/libltdl])
>>> -LTDL_INIT([recursive convenience])
>>> -AC_CONFIG_FILES([src/libltdl/Makefile])
>>>  
>>> -# Workarounds for libtool LT_CONFIG_H bug
>>> -#CPPFLAGS="$CPPFLAGS -I$HWLOC_top_builddir"
>>> -AC_CONFIG_COMMANDS_PRE([LT_CONFIG_H=`expr "$LT_CONFIG_H" : '.*/\(.*\)'`])
>>> +# If we want plugins, look for ltdl.h and libltdl
>>> +LIBLTDL=
>>> +AS_IF([test "$enable_plugins" = "yes"],
>>> +      [AC_CHECK_HEADER([ltdl.h], [],
>>> +          [AC_MSG_WARN([Plugin support requested, but could not find 
>>> ltdl.h])
>>> +           AC_MSG_ERROR([Cannot continue])])
>>> +       AC_CHECK_LIB([ltdl], [lt_dlopenext], [],
>>> +          [AC_MSG_WARN([Plugin support requested, but could not find 
>>> libltdl])
>>> +           AC_MSG_ERROR([Cannot continue])])
>>> +      ])
>>> +AC_SUBST(LIBLTDL)
>>>  
>>>  # Add libltdl static-build dependencies to hwloc.pc
>>>  if test "x$hwloc_have_plugins" = xyes; then
>>> -  if test "x$with_included_ltdl" = xno; then
>>> -    HWLOC_LIBS_PRIVATE="$HWLOC_LIBS_PRIVATE $LIBLTDL"
>>> -  fi
>>> +  # JMS What to put here for static builds?
>>>    HWLOC_LIBS_PRIVATE="$HWLOC_LIBS_PRIVATE $lt_cv_dlopen_libs"
>>>  fi
>>>  
>>> -# Is ltdl included?
>>> -HWLOC_LTDL_SUBDIR=
>>> -AS_IF([test "x$with_included_ltdl" = xyes],
>>> -      [HWLOC_LIBLTDL_SUBDIR=libltdl])
>>> -AC_SUBST(HWLOC_LIBLTDL_SUBDIR)
>>> -dnl AM_CONDITIONAL([HWLOC_LTDL_INCLUDED], [test "x$with_included_ltdl" = 
>>> xyes])
>>> -
>>> -
>>>  # Party on
>>>  AC_OUTPUT
>>>  
>>> Index: src
>>> ===================================================================
>>> --- src     (revision 5606)
>>> +++ src     (working copy)
>>>
>>> Property changes on: src
>>> ___________________________________________________________________
>>> Modified: svn:ignore
>>> ## -1,5 +1,4 ##
>>>  .deps
>>>  Makefile.in
>>>  Makefile
>>> -libltdl
>>>  static-components.h
>>> Index: src/Makefile.am
>>> ===================================================================
>>> --- src/Makefile.am (revision 5606)
>>> +++ src/Makefile.am (working copy)
>>> @@ -207,8 +207,6 @@
>>>  AM_CPPFLAGS += $(LTDLINCL)
>>>  libhwloc_la_LDFLAGS += -export-dynamic
>>>  libhwloc_la_LIBADD = $(LIBLTDL)
>>> -libhwloc_la_DEPENDENCIES = $(LTDLDEPS)
>>> -SUBDIRS = $(HWLOC_LIBLTDL_SUBDIR)
>>>  endif
>>>  
>>>  # Embedded library (note the lack of a .so version number -- that
>>>
>>>
>>> _______________________________________________
>>> hwloc-devel mailing list
>>> hwloc-de...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
>>
>>
>>
>> _______________________________________________
>> hwloc-devel mailing list
>> hwloc-de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
>
>
>
> _______________________________________________
> hwloc-devel mailing list
> hwloc-de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel

Reply via email to