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
signature.asc
Description: Digital signature

