1
1
Thank God for google-able mailing list archives:

    http://www.mail-archive.com/bug-libtool@gnu.org/msg00899.html

We ran into this exact bug in Libtool that was causing the C++
bindings library to be compiled incorrectly (therefore causing static
initializers to not fire properly when in a shared library, which is
the default installation configuration).  Putting in some libtool
patches to fix the problem -- will be mailing the Libtool crowd
shortly to ask for a better fix...

This commit was SVN r14454.

The following Trac tickets were found above:
  Ticket 982 --> https://svn.open-mpi.org/trac/ompi/ticket/982
Этот коммит содержится в:
Jeff Squyres 2007-04-21 00:56:47 +00:00
родитель 401a072888
Коммит 989c4417a1
3 изменённых файлов: 36 добавлений и 0 удалений

Просмотреть файл

@ -10,6 +10,7 @@
# University of Stuttgart. All rights reserved. # University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California. # Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved. # All rights reserved.
# Copyright (c) 2007 Cisco, Inc. All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
# Additional copyrights may follow # Additional copyrights may follow
@ -391,6 +392,19 @@ EOF
"`grep AM_CONFIG_HEADER $file`" != ""; then "`grep AM_CONFIG_HEADER $file`" != ""; then
run_and_check $ompi_autoheader run_and_check $ompi_autoheader
fi fi
# We only need to patch the top-level aclocal.m4 for libtool stuff
# because this only affects creating C++ libraries (with pathCC).
# This must be done before we run autoconf.
if test -f $topdir_file; then
echo "Adjusting libtool for OMPI :-("
echo " -- patching for pathscale multi-line output (LT 1.5.22)"
patch -N -p0 < config/lt1522-pathCC.diff > /dev/null 2>&1
echo " -- patching for pathscale multi-line output (LT 2.1a)"
patch -N -p0 < config/lt21a-pathCC.diff > /dev/null 2>&1
fi
run_and_check $ompi_autoconf run_and_check $ompi_autoconf
# We only need the libltdl stuff for the top-level # We only need the libltdl stuff for the top-level

11
config/lt1522-pathCC.diff Обычный файл
Просмотреть файл

@ -0,0 +1,11 @@
--- aclocal.m4.old 2007-04-20 14:54:50.000000000 -0700
+++ aclocal.m4 2007-04-20 13:03:19.000000000 -0700
@@ -2855,7 +2855,7 @@
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L" | tail -n 1'
else
GXX=no

11
config/lt21a-pathCC.diff Обычный файл
Просмотреть файл

@ -0,0 +1,11 @@
--- aclocal.m4.old 2007-04-20 15:18:48.000000000 -0700
+++ aclocal.m4 2007-04-20 15:18:59.000000000 -0700
@@ -5311,7 +5311,7 @@
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L" | tail -n 1'
else
GXX=no