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

Reply via email to