Package: slurm Version: 0.3.3-2 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu oneiric ubuntu-patch
In Ubuntu, the attached patch was applied to achieve the following: slurm fails to build from source with the linker flag --as-needed. Libraries must be placed behind objects needing their symbols when this flag is used. So autotools handles command line ordering correctly libraries to link with must be placed in the LIBS variable and not in LDFLAGS as is the case in this package. Attached patch fixes this by using the correct variable in configure.in. In order to do this dh-autoreconf was used to regenerate configure from the patched configure.in before the build. Changelog: * use dh_autoreconf * debian/patches/0004-fix-as-needed-build.patch: (LP: #832924) - fix build with ld --as-needed by using LIBS instead of LDFLAGS for links Thanks for considering the patch. -- System Information: Debian Release: wheezy/sid APT prefers oneiric-updates APT policy: (500, 'oneiric-updates'), (500, 'oneiric-security'), (500, 'oneiric'), (100, 'oneiric-backports') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-9-generic (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
=== modified file 'debian/control' --- debian/control 2010-07-18 19:05:29 +0000 +++ debian/control 2011-09-03 13:23:03 +0000 @@ -2,7 +2,7 @@ Section: net Priority: optional Maintainer: Matthias Schmitz <matth...@sigxcpu.org> -Build-Depends: debhelper (>= 5.0.0), libncurses5-dev +Build-Depends: debhelper (>= 5.0.0), libncurses5-dev, dh-autoreconf Standards-Version: 3.8.4 vcs-git: git://git.debian.org/users/matthias-guest/slurm.git vcs-browser: http://git.debian.org/?p=users/matthias-guest/slurm.git;a=summary === added file 'debian/patches/0004-fix-as-needed-build.patch' --- debian/patches/0004-fix-as-needed-build.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/0004-fix-as-needed-build.patch 2011-09-03 13:14:24 +0000 @@ -0,0 +1,28 @@ +=== modified file 'configure.in' +--- slurm.orig/configure.in 2007-10-02 18:59:35 +0000 ++++ slurm/configure.in 2011-08-28 19:23:58 +0000 +@@ -67,14 +67,15 @@ + esac + # add Slowlaris -R and libraries to LDFLAGS + if test ${OSTYPE} = "solaris" ; then +- LDFLAGS="${LDFLAGS} ${SOLLDFLAGS} -lnsl -lsocket -lkstat" ++ LDFLAGS="${LDFLAGS} ${SOLLDFLAGS}" ++ LIBS="${LIBS} -lnsl -lsocket -lkstat" + fi + + AC_CHECK_LIB(fridge, vanilla_coke, echo "WTF?!", echo "Warning: No vanilla coke found in fridge.";echo "We highly suggest that you rectify this situation immediatly.") + ncurses_support="no" + curses_support="no" + color_support="no" +-AC_CHECK_LIB(ncurses, use_default_colors, LDFLAGS="$LDFLAGS -lncurses"; CFLAGS="$CFLAGS -D_HAVE_NCURSES -D_HAVE_NCURSES_COLOR"; color_support="yes"; ncurses_support="yes", AC_CHECK_LIB(ncurses, use_default_colors, LDFLAGS="$LDFLAGS -lncurses"; CFLAGS="$CFLAGS -D_HAVE_NCURSES"; ncurses_support="yes"; echo "NO TRANSPARENCY SUPPORT in this ncurses lib", AC_CHECK_LIB(curses, initscr, LDFLAGS="$LDFLAGS -lcurses"; CFLAGS="$CFLAGS -D_HAVE_CURSES"; curses_support="yes"; echo "NO TRANSPARENCY SUPPORT in curses lib"))) ++AC_CHECK_LIB(ncurses, use_default_colors, LIBS="$LIBS -lncurses"; CFLAGS="$CFLAGS -D_HAVE_NCURSES -D_HAVE_NCURSES_COLOR"; color_support="yes"; ncurses_support="yes", AC_CHECK_LIB(ncurses, use_default_colors, LIBS="$LIBS -lncurses"; CFLAGS="$CFLAGS -D_HAVE_NCURSES"; ncurses_support="yes"; echo "NO TRANSPARENCY SUPPORT in this ncurses lib", AC_CHECK_LIB(curses, initscr, LIBS="$LIBS -lcurses"; CFLAGS="$CFLAGS -D_HAVE_CURSES"; curses_support="yes"; echo "NO TRANSPARENCY SUPPORT in curses lib"))) + + # disable color support on Solaris for now + if test ${OSTYPE} = "solaris" ; then +@@ -95,4 +96,5 @@ + compiler: ${CC} + compiler flags: ${CFLAGS} + linker flags: ${LDFLAGS} ++ libraries: ${LIBS} + " + === modified file 'debian/patches/series' --- debian/patches/series 2010-07-18 19:05:29 +0000 +++ debian/patches/series 2011-09-03 13:15:28 +0000 @@ -1,3 +1,4 @@ 0001-config.guess.patch 0002-slurm.1.patch 0003-config.sub.patch +0004-fix-as-needed-build.patch === modified file 'debian/rules' --- debian/rules 2007-10-02 18:59:35 +0000 +++ debian/rules 2011-09-03 13:12:57 +0000 @@ -13,11 +13,7 @@ config.status: configure dh_testdir - # work around weird upstream timestamps - touch aclocal.m4 - touch Makefile.in - touch config.h.in - touch configure + dh_autoreconf CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info @@ -33,6 +29,7 @@ clean: dh_testdir dh_testroot + dh_autoreconf_clean rm -f build-stamp [ ! -f Makefile ] || $(MAKE) distclean