tag 320891 +patch
tag 321052 +patch
tag 321093 +patch
tag 321158 +patch
thanks

Hello Adam,

  I've prepared a non-maintainer upload to fix the various RC bugs
  reported against the mpich source package. It is based on the
  1.2.5.3-6 version you uploaded a month ago, which was recently
  rejected from the NEW queue.

  I attach the NMU diff and, for your convenience, an diff of the result
  of applying the new 18_link_against_needed_libs.dpatch, so it can be
  read more easily.

  As the diff is sort of big, I will wait a bit before making the upload
  despite being in 0-day NMU policy; I'd really like to upload (or not)
  after having heard from you, but note that I can't wait indefinitely.
  So please let me know if there are any problems with the proposed
  patch I should fix before uploading, or if you'll be making an upload
  yourself _soon_.

  Hoping being of help,

-- 
Adeodato Simó
    EM: asp16 [ykwim] alu.ua.es | PK: DA6AE621
    Listening to: Oasis - Dont Look Back In Anger
 
Proper treatment will cure a cold in seven days, but left to itself, a
cold will hang on for a week.
                -- Darrell Huff
diff -u -Nrua mpich-1.2.5.3-6/debian/changelog 
mpich-1.2.5.3-6.1/debian/changelog
--- mpich-1.2.5.3-6/debian/changelog    2005-08-03 22:03:14.000000000 +0200
+++ mpich-1.2.5.3-6.1/debian/changelog  2005-08-04 01:01:25.000000000 +0200
@@ -1,3 +1,41 @@
+mpich (1.2.5.3-6.1) unstable; urgency=low
+
+  * Non-maintainer upload based on 1.2.5.3-6 (never in unstable since it was
+    rejected from NEW; files grabbed from the maintainer's website).
+
+  * Make the necessary changes for the C++ ABI transition: the libmpich1.0,
+    libmpich-mpd1.0 and libmpich-shmem1.0 packages get renamed as appropriate
+    ('c2' suffix added):
+    + debian/control:
+      - renamed packages, and conflict and replace the old ones.
+      - updated the dependencies of the *-dev and *-bin packages.
+    + debian/rules:
+      - added the c2 suffix in a couple places in the install target.
+
+  * Make sure all shipped shared libraries are linked against all libraries
+    they use symbols from (closes: #320891). List of changes introduced in
+    debian/patches/18_link_against_needed_libs.dpatch:
+
+    + link libmpich++ against libstdc++ and libmpich.
+    + link libmpe and libfmpich against libmpich.
+    + always invoke the linker with -z defs, and make the build fail if the
+      linkage fails (errors were previously ignored).
+    + move target "mpichsharelibs" before "mpelib" in the Makefile, so that
+      -lmpich is available when creating libmpe.so.
+    + to implement the above, make util/makesharedlib use the value of
+      $EXTRA_LIBS as extra arguments to the linker, and fix the path of the
+      created .so symlinks.
+
+  * Fix bogus libpmpich++-p4mpd.so symlink; the soname is libpmpich-p4mpd++
+    (closes: #321158). Fix libpmpich++-shmem.so as well, new in 1.2.5.3-6.
+
+  * Remove on clean several files created during build which were not being
+    removed (closes: #321052).
+
+  * Added missing build-dependency on tk8.4 | wish (closes: #321093).
+
+ -- Adeodato Simó <[EMAIL PROTECTED]>  Thu, 04 Aug 2005 00:15:23 +0200
+
 mpich (1.2.5.3-6) unstable; urgency=low
 
   * Removed mpich and mpich-mpd packages which were deprecated in sarge.
diff -u -Nrua mpich-1.2.5.3-6/debian/control mpich-1.2.5.3-6.1/debian/control
--- mpich-1.2.5.3-6/debian/control      2005-08-03 22:03:14.000000000 +0200
+++ mpich-1.2.5.3-6.1/debian/control    2005-08-04 00:06:04.000000000 +0200
@@ -3,12 +3,12 @@
 Priority: extra
 Maintainer: Adam C. Powell, IV <[EMAIL PROTECTED]>
 Standards-Version: 3.6.2.1
-Build-Depends: g77, rsh-client, libx11-dev, libxt-dev, file, debhelper (>> 
4.0.0), dpatch
+Build-Depends: g77, rsh-client, libx11-dev, libxt-dev, file, debhelper (>> 
4.0.0), dpatch, tk8.4 | wish
 Build-Depends-Indep: bzip2
 
 Package: mpich-bin
 Architecture: any
-Depends: ${shlibs:Depends}, rsh-client, libmpich1.0 (= ${Source-Version})
+Depends: ${shlibs:Depends}, rsh-client, libmpich1.0c2 (= ${Source-Version})
 Suggests: mpi-doc, libmpich1.0-dev (= ${Source-Version}), update-cluster, 
wish, rsh-server
 Conflicts: lam (<= 6.1), mpich (<< 1.2.5.3-2), mpich-common
 Replaces: mpich-common
@@ -24,7 +24,7 @@
 
 Package: mpich-mpd-bin
 Architecture: any
-Depends: ${shlibs:Depends}, rsh-client, gdb, libmpich-mpd1.0 (= 
${Source-Version})
+Depends: ${shlibs:Depends}, rsh-client, gdb, libmpich-mpd1.0c2 (= 
${Source-Version})
 Suggests: mpi-doc, libmpich-mpd1.0-dev (= ${Source-Version}), update-cluster, 
wish, rsh-server
 Conflicts: lam (<=6.1), mpich-mpd (<< 1.2.5.3-2), mpich-common
 Replaces: libmpich-p4mpd1.0 (<= 1.2.4-8), mpich-common
@@ -40,7 +40,7 @@
 
 Package: mpich-shmem-bin
 Architecture: any
-Depends: ${shlibs:Depends}, gdb, libmpich-shmem1.0 (= ${Source-Version})
+Depends: ${shlibs:Depends}, gdb, libmpich-shmem1.0c2 (= ${Source-Version})
 Suggests: mpi-doc, libmpich-shmem1.0-dev (= ${Source-Version})
 Conflicts: lam (<=6.1), mpich-common
 Replaces: mpich-common
@@ -58,7 +58,7 @@
 Package: libmpich1.0-dev
 Architecture: any
 Section: libdevel
-Depends: libmpich1.0
+Depends: libmpich1.0c2
 Suggests: mpi-doc
 Provides: libmpich-dev
 Conflicts: lam (<= 6.1), mpich (<< 1.2.5.3-2), mpich-common
@@ -71,7 +71,7 @@
 Package: libmpich-mpd1.0-dev
 Architecture: any
 Section: libdevel
-Depends: libmpich-mpd1.0
+Depends: libmpich-mpd1.0c2
 Suggests: mpi-doc
 Provides: libmpich-dev
 Conflicts: lam (<=6.1), mpich-mpd (<< 1.2.5.3-2), mpich-common
@@ -84,7 +84,7 @@
 Package: libmpich-shmem1.0-dev
 Architecture: any
 Section: libdevel
-Depends: libmpich-shmem1.0
+Depends: libmpich-shmem1.0c2
 Suggests: mpi-doc
 Provides: libmpich-dev
 Conflicts: lam (<=6.1), mpich-shmem (<< 1.2.5.3-2), mpich-common
@@ -94,30 +94,32 @@
  compiler wrappers (mpicc etc.) used to compile programs using the ch_p4shmem
  version of mpich.
 
-Package: libmpich1.0
+Package: libmpich1.0c2
 Architecture: any
 Section: libs
 Depends: ${shlibs:Depends}
 Suggests: mpich-bin (= ${Source-Version})
+Conflicts: libmpich1.0
+Replaces: libmpich1.0
 Description: mpich runtime shared library
  This package includes the shared library files used for mpich runtime.
 
-Package: libmpich-mpd1.0
+Package: libmpich-mpd1.0c2
 Architecture: any
 Section: libs
 Depends: ${shlibs:Depends}
-Conflicts: libmpich-p4mpd1.0
-Replaces: libmpich-p4mpd1.0
+Conflicts: libmpich-p4mpd1.0, libmpich-mpd1.0
+Replaces: libmpich-p4mpd1.0, libmpich-mpd1.0
 Recommends: mpich-mpd-bin (= ${Source-Version})
 Description: mpich-mpd runtime shared library
  This package includes the shared library files used for mpich-mpd runtime.
 
-Package: libmpich-shmem1.0
+Package: libmpich-shmem1.0c2
 Architecture: any
 Section: libs
 Depends: ${shlibs:Depends}
-Conflicts: libmpich-p4shmem1.0
-Replaces: libmpich-p4shmem1.0
+Conflicts: libmpich-p4shmem1.0, libmpich-shmem1.0
+Replaces: libmpich-p4shmem1.0, libmpich-shmem1.0
 Recommends: mpich-shmem-bin (= ${Source-Version})
 Description: mpich-shmem runtime shared library
  This package includes the shared library files used for mpich-shmem runtime.
diff -u -Nrua mpich-1.2.5.3-6/debian/patches/00list 
mpich-1.2.5.3-6.1/debian/patches/00list
--- mpich-1.2.5.3-6/debian/patches/00list       2005-08-03 22:03:14.000000000 
+0200
+++ mpich-1.2.5.3-6.1/debian/patches/00list     2005-08-03 13:52:58.000000000 
+0200
@@ -13,3 +13,4 @@
 15_shared_c++
 16_initf_in_shlib
 17_mpd_rm_extern_arrays
+18_link_against_needed_libs
diff -u -Nrua mpich-1.2.5.3-6/debian/patches/18_link_against_needed_libs.dpatch 
mpich-1.2.5.3-6.1/debian/patches/18_link_against_needed_libs.dpatch
--- mpich-1.2.5.3-6/debian/patches/18_link_against_needed_libs.dpatch   
1970-01-01 01:00:00.000000000 +0100
+++ mpich-1.2.5.3-6.1/debian/patches/18_link_against_needed_libs.dpatch 
2005-08-04 01:56:07.000000000 +0200
@@ -0,0 +1,94 @@
+#! /bin/sh -e
+## 18_link_against_needed_libs.dpatch by Adeodato Simó <[EMAIL PROTECTED]>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Make sure all shipped shared libraries are linked against all libraries
+## DP: they use symbols from. See debian/changelog 1.2.5.3-6.1 for 
explanations.
+
+if [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+    -patch) patch -f --no-backup-if-mismatch -p1 < $0;;
+    -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;;
+    *)
+        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+        exit 1;;
+esac
+
+exit 0
+
+
+
+--- a/util/makesharedlib
++++ b/util/makesharedlib
+@@ -149,7 +149,7 @@
+     # Include any other libraries needed to link with in case they are
+     # needed to resolve any symbols.  This is needed for Scyld and should
+     # be harmless in general.
+-    OtherLibs="$BASE_LIB_LIST -lg2c "
++    OtherLibs="$BASE_LIB_LIST -lg2c $EXTRA_LIBS "
+     for libname in $SHLIBS ; do
+         $Verbose "Making a shared library of $libname"
+         rm -rf .tmp
+@@ -189,7 +189,7 @@
+           if [ $slsuffix != $req_slsuffix -a $nolink = 0 ] ; then
+               rm -f shared/$libbase.$req_slsuffix
+               (cd shared ; \
+-                 ln -s ../$libbase.$slsuffix $libbase.$req_slsuffix )
++                 ln -s $libbase.$slsuffix $libbase.$req_slsuffix )
+             fi
+       fi
+         rm -rf .tmp
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -135,9 +135,9 @@
+ 
+ # Use this target for add-on features
+ mpi-addons:
+-      $(MAKE) mpelib        
+-      [EMAIL PROTECTED] [ "@SHAREDKIND@" != "ignore" ] ; then \
++      @if [ "@SHAREDKIND@" != "ignore" ] ; then \
+       $(MAKE) mpichsharelibs ; fi
++      $(MAKE) mpelib        
+ 
+ # This target is for various utilities (mpirun, servers)
+ # Note that ch_p4 now invokes the device-dependent mpirun_setup script
+@@ -190,14 +190,22 @@
+ # The test on the filenames below simply prevents error messages
+ # when using these tests.
+ mpichsharelibs:
+-      @-( cd $(libbuild_dir) && \
++      @( set -e; cd $(libbuild_dir) && \
+       CC="$(CC)" ; export CC ; CLINKER="@CLINKER@" ; export CLINKER ; \
+-      for lib in lib${MPILIBNAME}.a libp${MPILIBNAME}.a \
+-            lib${FMPILIBNAME}.a libp${MPILIBNAME}++.a ; do \
++      for lib in lib${MPILIBNAME}.a libp${MPILIBNAME}.a; do \
+           if [ -s $$lib ] ; then \
++            env EXTRA_LIBS="-Wl,-z,defs" \
+             ${top_srcdir}/util/makesharedlib -lib=$$lib [EMAIL PROTECTED]@ ; \
+           fi ; \
+       done ; \
++      lib=lib${FMPILIBNAME}.a ; if [ -s $$lib ] ; then \
++          env EXTRA_LIBS="-Wl,-z,defs -L../shared -l${MPILIBNAME}" \
++          ${top_srcdir}/util/makesharedlib -lib=$$lib [EMAIL PROTECTED]@ ; \
++      fi ; \
++      lib=libp${MPILIBNAME}++.a ; if [ -s $$lib ] ; then \
++          env EXTRA_LIBS="-Wl,-z,defs -lstdc++ -L../shared -l${MPILIBNAME}" \
++          ${top_srcdir}/util/makesharedlib -lib=$$lib [EMAIL PROTECTED]@ ; \
++      fi ; \
+         if [ $(NOF77) = 0 ] ; then \
+           if [ "@FLIBNAME@" != "@MPILIBNAME@" ] ; then \
+             ${top_srcdir}/util/makesharedlib [EMAIL PROTECTED]@.a [EMAIL 
PROTECTED]@ ; \
+--- a/mpe/src/Makefile.in
++++ b/mpe/src/Makefile.in
+@@ -174,7 +174,7 @@
+ # the approriate command to handle other shared libraries on other systems.
+ ${libbuild_dir}/shared/lib$(PROF_LIBNAME).so: $(MPE_SHLOBJECTS)
+       if [ ! -d ${libbuild_dir}/shared ]; then mkdir ${libbuild_dir}/shared; 
fi
+-      $(CLINKER) -shared -Wl,-soname,lib$(PROF_LIBNAME).so.1.0 -o [EMAIL 
PROTECTED] $(MPE_SHLOBJECTS) -L /usr/X11R6/lib -lX11 -L ../slog_api/lib/shared 
-l$(SLOG_LIBNAME) -lm
++      $(CLINKER) -shared -Wl,-z,defs -Wl,-soname,lib$(PROF_LIBNAME).so.1.0 -o 
[EMAIL PROTECTED] $(MPE_SHLOBJECTS) -L /usr/X11R6/lib -lX11 -L 
../slog_api/lib/shared -l$(SLOG_LIBNAME) -lm -L../../lib/shared -l`echo 
$(PROF_LIBNAME) | sed -e 's/^mpe/mpich/'`
+       ln -sf lib$(PROF_LIBNAME).so.1.0 
${libbuild_dir}/shared/lib$(PROF_LIBNAME).so
+ 
+ ${libbuild_dir}/lib$(PROF_LIBNAME)_nompi.a:  $(MPEGRAPHICS_SOURCE)
diff -u -Nrua mpich-1.2.5.3-6/debian/rules mpich-1.2.5.3-6.1/debian/rules
--- mpich-1.2.5.3-6/debian/rules        2005-08-03 22:03:14.000000000 +0200
+++ mpich-1.2.5.3-6.1/debian/rules      2005-08-04 00:01:04.000000000 +0200
@@ -87,6 +87,11 @@
          done;\
        done;\
        )
+       for INST in mpich mpich-mpd mpich-shmem; do \
+         for FILES in postinst prerm links; do \
+           rm -f debian/lib$${INST}1.0-dev.$$FILES; \
+         done; \
+       done
        rm -rf image_mpich image_mpich-mpd image_mpich-shmem
        # cleaning cruft created by MPD.
        rm -f mpid/ch_p4mpd/p4mpd/lib/p4_MD.c mpid/ch_p4mpd/p4mpd/lib/p4_MD.h 
mpid/ch_p4mpd/p4mpd/lib/p4_alloc.c mpid/ch_p4mpd/p4mpd/lib/p4_args.c 
mpid/ch_p4mpd/p4mpd/lib/p4_broadcast.c mpid/ch_p4mpd/p4mpd/lib/p4_debug.c 
mpid/ch_p4mpd/p4mpd/lib/p4_defs.h mpid/ch_p4mpd/p4mpd/lib/p4_funcs.h 
mpid/ch_p4mpd/p4mpd/lib/p4_error.c mpid/ch_p4mpd/p4mpd/lib/p4_rm.c 
mpid/ch_p4mpd/p4mpd/lib/p4_secure.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_conn.c 
mpid/ch_p4mpd/p4mpd/lib/p4_sock_cr.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_sr.c 
mpid/ch_p4mpd/p4mpd/lib/p4_sock_util.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_util.h 
mpid/ch_p4mpd/p4mpd/lib/p4_sys.h mpid/ch_p4mpd/p4mpd/lib/p4_sys_funcs.h 
mpid/ch_p4mpd/p4mpd/lib/xdr_float.c mpid/ch_p4mpd/p4mpd/lib/listener_p4.c 
mpid/ch_p4mpd/p4mpd/lib/p4.h mpid/ch_p4mpd/p4mpd/lib/p4_fc.c 
mpid/ch_p4mpd/p4mpd/lib/p4_globals.c mpid/ch_p4mpd/p4mpd/lib/p4_globals.h 
mpid/ch_p4mpd/p4mpd/lib/p4_macros.h mpid/ch_p4mpd/p4mpd/lib/p4_mon.c 
mpid/ch_p4mpd/p4mpd/lib/p4_mon.h mpid/ch_p4mpd/p4mpd/lib/p4_patchlevel.h 
mpid/ch_p4mpd/p4mpd/lib/p4_procgroup.c mpid/ch_p4mpd/p4mpd/lib/p4_shmem_sr.c 
mpid/ch_p4mpd/p4mpd/lib/p4_sr.h mpid/ch_p4mpd/p4mpd/lib/sfcdchi.h 
mpid/ch_p4mpd/p4mpd/lib/makefile.proto mpid/ch_p4mpd/p4mpd/monitors 
mpid/ch_p4mpd/p4mpd/CHANGES mpid/ch_p4mpd/p4mpd/MACHINES 
mpid/ch_p4mpd/p4mpd/OPTIONS mpid/ch_p4mpd/p4mpd/README 
mpid/ch_p4mpd/p4mpd/config.guess mpid/ch_p4mpd/p4mpd/defs.all 
mpid/ch_p4mpd/p4mpd/p4_config.h.in mpid/ch_p4mpd/p4mpd/configure 
mpid/ch_p4mpd/p4mpd/configure.in  mpid/ch_p4mpd/p4mpd/alog 
mpid/ch_p4mpd/p4mpd/bin mpid/ch_p4mpd/p4mpd/servers  mpid/ch_p4mpd/p4mpd/usc 
mpid/ch_p4mpd/p4mpd/doc mpid/ch_p4mpd/p4mpd/messages 
mpid/ch_p4mpd/p4mpd/contrib mpid/ch_p4mpd/p4mpd/contrib_f 
mpid/ch_p4mpd/p4mpd/messages_f mpid/ch_p4mpd/p4mpd/misc
@@ -161,7 +166,7 @@
        )
        # install libs to proper places.
        (set -e; for INST in mpich mpich-mpd mpich-shmem ; do \
-         $(INSTALL_DIR) debian/lib"$$INST"1.0/usr/lib/$$INST/lib/shared; \
+         $(INSTALL_DIR) debian/lib"$$INST"1.0c2/usr/lib/$$INST/lib/shared; \
          $(INSTALL_DIR) debian/lib"$$INST"1.0-dev/usr/lib/$$INST/bin; \
          $(INSTALL_DIR) debian/lib"$$INST"1.0-dev/usr/lib/$$INST/etc; \
          $(INSTALL_DIR) debian/lib"$$INST"1.0-dev/usr/lib/$$INST/man/man1; \
@@ -172,9 +177,9 @@
          mv debian/$$INST-bin/usr/lib/$$INST/include 
debian/lib"$$INST"1.0-dev/usr/lib/$$INST/; \
          mv debian/$$INST-bin/usr/lib/$$INST/lib 
debian/lib"$$INST"1.0-dev/usr/lib/$$INST/; \
          mv debian/lib"$$INST"1.0-dev/usr/lib/$$INST/lib/lib*.so.1.0 
debian/lib"$$INST"1.0-dev/usr/lib/$$INST/lib/shared/; \
-         mv debian/lib"$$INST"1.0-dev/usr/lib/$$INST/lib/shared/lib*.so.1.0 
debian/lib"$$INST"1.0/usr/lib/$$INST/lib/shared/; \
-         for LIB in `(cd debian/lib"$$INST"1.0/usr/lib/$$INST/lib/shared && ls 
lib*.so.*)`; do \
-           ln -s $$INST/lib/shared/$$LIB debian/lib"$$INST"1.0/usr/lib/$$LIB; \
+         mv debian/lib"$$INST"1.0-dev/usr/lib/$$INST/lib/shared/lib*.so.1.0 
debian/lib"$$INST"1.0c2/usr/lib/$$INST/lib/shared/; \
+         for LIB in `(cd debian/lib"$$INST"1.0c2/usr/lib/$$INST/lib/shared && 
ls lib*.so.*)`; do \
+           ln -s $$INST/lib/shared/$$LIB 
debian/lib"$$INST"1.0c2/usr/lib/$$LIB; \
          done; \
        done;\
        )
@@ -213,18 +218,22 @@
        done; \
 
        # mpich-mpd lib symlinks
-       for LIB in libmpich libfmpich libpmpich libpmpich++ libtvmpich libmpe 
libslog; do \
+       for LIB in libmpich libfmpich libpmpich libtvmpich libmpe libslog; do \
          ln -s $$LIB-p4mpd.so.1.0 
debian/libmpich-mpd1.0-dev/usr/lib/mpich-mpd/lib/shared/$$LIB-p4mpd.so; \
        done
+       # libpmpich-p4mpd++.so.1.0 has a soname that does not suit the loop 
above
+       ln -s libpmpich-p4mpd++.so.1.0 
debian/libmpich-mpd1.0-dev/usr/lib/mpich-mpd/lib/shared/libpmpich-p4mpd++.so
        # hack mpe-mpd to have libmpe.so and libslog.so in their directory.
        ln -s libmpe-p4mpd.so.1.0 
debian/libmpich-mpd1.0-dev/usr/lib/mpich-mpd/lib/shared/libmpe.so
        ln -s libslog-p4mpd.so.1.0 
debian/libmpich-mpd1.0-dev/usr/lib/mpich-mpd/lib/shared/libslog.so
        # -- end of custom installation
 
        # mpich-shmem lib symlinks
-       for LIB in libmpich libfmpich libpmpich libpmpich++ libtvmpich libmpe 
libslog; do \
+       for LIB in libmpich libfmpich libpmpich libtvmpich libmpe libslog; do \
          ln -s $$LIB-shmem.so.1.0 
debian/libmpich-shmem1.0-dev/usr/lib/mpich-shmem/lib/shared/$$LIB-shmem.so; \
        done
+       # libpmpich-shmem++.so.1.0 has a soname that does not suit the loop 
above
+       ln -s libpmpich-shmem++.so.1.0 
debian/libmpich-shmem1.0-dev/usr/lib/mpich-shmem/lib/shared/libpmpich-shmem++.so
        # hack mpe-shmem to have libmpe.so and libslog.so in their directory.
        ln -s libmpe-shmem.so.1.0 
debian/libmpich-shmem1.0-dev/usr/lib/mpich-shmem/lib/shared/libmpe.so
        ln -s libslog-shmem.so.1.0 
debian/libmpich-shmem1.0-dev/usr/lib/mpich-shmem/lib/shared/libslog.so
diff -u -Nrua -x debian mpich-1.2.5.3-6/mpe/src/Makefile.in 
mpich-1.2.5.3-6.1/mpe/src/Makefile.in
--- mpich-1.2.5.3-6/mpe/src/Makefile.in 2005-08-04 00:37:43.000000000 +0200
+++ mpich-1.2.5.3-6.1/mpe/src/Makefile.in       2005-08-04 00:37:48.000000000 
+0200
@@ -174,7 +174,7 @@
 # the approriate command to handle other shared libraries on other systems.
 ${libbuild_dir}/shared/lib$(PROF_LIBNAME).so: $(MPE_SHLOBJECTS)
        if [ ! -d ${libbuild_dir}/shared ]; then mkdir ${libbuild_dir}/shared; 
fi
-       $(CLINKER) -shared -Wl,-soname,lib$(PROF_LIBNAME).so.1.0 -o [EMAIL 
PROTECTED] $(MPE_SHLOBJECTS) -L /usr/X11R6/lib -lX11 -L ../slog_api/lib/shared 
-l$(SLOG_LIBNAME) -lm
+       $(CLINKER) -shared -Wl,-z,defs -Wl,-soname,lib$(PROF_LIBNAME).so.1.0 -o 
[EMAIL PROTECTED] $(MPE_SHLOBJECTS) -L /usr/X11R6/lib -lX11 -L 
../slog_api/lib/shared -l$(SLOG_LIBNAME) -lm -L../../lib/shared -l`echo 
$(PROF_LIBNAME) | sed -e 's/^mpe/mpich/'`
        ln -sf lib$(PROF_LIBNAME).so.1.0 
${libbuild_dir}/shared/lib$(PROF_LIBNAME).so
 
 ${libbuild_dir}/lib$(PROF_LIBNAME)_nompi.a:  $(MPEGRAPHICS_SOURCE)
diff -u -Nrua -x debian mpich-1.2.5.3-6/Makefile.in 
mpich-1.2.5.3-6.1/Makefile.in
--- mpich-1.2.5.3-6/Makefile.in 2005-08-04 00:37:43.000000000 +0200
+++ mpich-1.2.5.3-6.1/Makefile.in       2005-08-04 00:37:48.000000000 +0200
@@ -135,9 +135,9 @@
 
 # Use this target for add-on features
 mpi-addons:
-       $(MAKE) mpelib        
-       [EMAIL PROTECTED] [ "@SHAREDKIND@" != "ignore" ] ; then \
+       @if [ "@SHAREDKIND@" != "ignore" ] ; then \
        $(MAKE) mpichsharelibs ; fi
+       $(MAKE) mpelib        
 
 # This target is for various utilities (mpirun, servers)
 # Note that ch_p4 now invokes the device-dependent mpirun_setup script
@@ -190,14 +190,22 @@
 # The test on the filenames below simply prevents error messages
 # when using these tests.
 mpichsharelibs:
-       @-( cd $(libbuild_dir) && \
+       @( set -e; cd $(libbuild_dir) && \
        CC="$(CC)" ; export CC ; CLINKER="@CLINKER@" ; export CLINKER ; \
-       for lib in lib${MPILIBNAME}.a libp${MPILIBNAME}.a \
-            lib${FMPILIBNAME}.a libp${MPILIBNAME}++.a ; do \
+       for lib in lib${MPILIBNAME}.a libp${MPILIBNAME}.a; do \
            if [ -s $$lib ] ; then \
+             env EXTRA_LIBS="-Wl,-z,defs" \
              ${top_srcdir}/util/makesharedlib -lib=$$lib [EMAIL PROTECTED]@ ; \
            fi ; \
        done ; \
+       lib=lib${FMPILIBNAME}.a ; if [ -s $$lib ] ; then \
+           env EXTRA_LIBS="-Wl,-z,defs -L../shared -l${MPILIBNAME}" \
+           ${top_srcdir}/util/makesharedlib -lib=$$lib [EMAIL PROTECTED]@ ; \
+       fi ; \
+       lib=libp${MPILIBNAME}++.a ; if [ -s $$lib ] ; then \
+           env EXTRA_LIBS="-Wl,-z,defs -lstdc++ -L../shared -l${MPILIBNAME}" \
+           ${top_srcdir}/util/makesharedlib -lib=$$lib [EMAIL PROTECTED]@ ; \
+       fi ; \
         if [ $(NOF77) = 0 ] ; then \
            if [ "@FLIBNAME@" != "@MPILIBNAME@" ] ; then \
              ${top_srcdir}/util/makesharedlib [EMAIL PROTECTED]@.a [EMAIL 
PROTECTED]@ ; \
diff -u -Nrua -x debian mpich-1.2.5.3-6/util/makesharedlib 
mpich-1.2.5.3-6.1/util/makesharedlib
--- mpich-1.2.5.3-6/util/makesharedlib  2005-08-04 00:37:43.000000000 +0200
+++ mpich-1.2.5.3-6.1/util/makesharedlib        2005-08-04 00:37:48.000000000 
+0200
@@ -149,7 +149,7 @@
     # Include any other libraries needed to link with in case they are
     # needed to resolve any symbols.  This is needed for Scyld and should
     # be harmless in general.
-    OtherLibs="$BASE_LIB_LIST -lg2c "
+    OtherLibs="$BASE_LIB_LIST -lg2c $EXTRA_LIBS "
     for libname in $SHLIBS ; do
         $Verbose "Making a shared library of $libname"
         rm -rf .tmp
@@ -189,7 +189,7 @@
            if [ $slsuffix != $req_slsuffix -a $nolink = 0 ] ; then
                rm -f shared/$libbase.$req_slsuffix
                (cd shared ; \
-                 ln -s ../$libbase.$slsuffix $libbase.$req_slsuffix )
+                 ln -s $libbase.$slsuffix $libbase.$req_slsuffix )
             fi
        fi
         rm -rf .tmp

Attachment: signature.asc
Description: Digital signature

Reply via email to