Your message dated Fri, 01 Jul 2011 08:48:47 +0000
with message-id <e1qczp5-0004zd...@franck.debian.org>
and subject line Bug#632229: fixed in hydrogen 0.9.5-3
has caused the Debian Bug report #632229,
regarding ftbs with ld --as-needed
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
632229: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632229
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: hydrogen
Version: 0.9.5-2
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu oneiric ubuntu-patch

the package hydrogen fails to build when using the linker flag --as-needed
This is caused by the libraries being placed before the objects which
need the symbols on the command line. So the library symbols are not
registered as needed.
Combined with the --no-copy-dt-needed flag, which is default in debian
now too, this causes missing linkage with libporttime
See the log ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/hydrogen/+bug/803182

Attached patch fixes this issue by using the correct scons variables for
libraries.
The static libhydrogen should not go in LIBS as it is an object file but
I am unfamiliar with scons so I don't know where it goes. So I prepended
it to LIBS to ensure the shared libraries are placed behind it on the
commandline.
Description: fix build with ld --as-needed
 libraries must be added to LIBS instead of ldflags so they are
 ordered correctly on the command line.
 With ld --as-needed the object files must be before the libraries providing
 the symbols they need.
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/hydrogen/+bug/803182
Author: Julian Taylor <jtaylor.deb...@googlemail.com>
Index: hydrogen-0.9.5/Sconstruct
===================================================================
--- hydrogen-0.9.5.orig/Sconstruct	2011-06-30 18:58:48.010629098 +0200
+++ hydrogen-0.9.5/Sconstruct	2011-06-30 18:59:14.640629115 +0200
@@ -44,6 +44,7 @@
 	includes = []
 	cppflags = []
 	ldflags = []
+	libs = []
 
 	env = Environment( options = opts )
 
@@ -92,10 +93,10 @@
 		includes.append( '/usr/local/include/jack' )
 
 	elif sys.platform[:6] == 'linux2':
-		ldflags.append('-lpthread')
-		ldflags.append('-lasound')
-		ldflags.append('-lporttime')
-	#	ldflags.append('-lrubberband')
+		libs.append('-lpthread')
+		libs.append('-lasound')
+		libs.append('-lporttime')
+	#	libs.append('-lrubberband')
 
 	elif sys.platform == "win32":
 		includes.append( '3rdparty\libsndfile-1_0_17' )
@@ -106,7 +107,7 @@
 	else:
 		raise Exception( "Platform '%s' not supported" % sys.platform )
 
-	return (includes, cppflags, ldflags)
+	return (includes, cppflags, ldflags, libs)
 
 
 
@@ -175,7 +176,7 @@
 
 
 def get_hydrogen_lib( opts ):
-	includes, cppflags, ldflags = get_platform_flags( opts )
+	includes, cppflags, ldflags, libs = get_platform_flags( opts )
 
 	includes.append( "libs/hydrogen/include" )
 	
@@ -185,7 +186,7 @@
 	#location of qt4.py
 	qt4ToolLocation="."
 
-	env = Environment(options = opts , tools=['default','qt4'], toolpath=[qt4ToolLocation], ENV=os.environ, CPPPATH = includes, CPPFLAGS = cppflags, CCFLAGS = "", LINKFLAGS=ldflags )
+	env = Environment(options = opts , tools=['default','qt4'], toolpath=[qt4ToolLocation], ENV=os.environ, CPPPATH = includes, CPPFLAGS = cppflags, CCFLAGS = "", LINKFLAGS=ldflags, LIBS=libs )
 	env.EnableQt4Modules( ['QtCore', 'QtGui','QtXml'], debug=False)
 	env.CacheDir( "scons_cache" )
 	
@@ -223,7 +224,7 @@
 			env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/' + dname, source= dir + "/" + file))
 
 def get_hydrogen_gui( lib_hydrogen , opts ):
-	includes, cppflags, ldflags = get_platform_flags( opts )
+	includes, cppflags, ldflags, libs = get_platform_flags( opts )
 
 	includes.append( "libs/hydrogen/include" )
 	includes.append( "gui/src/UI" )
@@ -231,7 +232,7 @@
 	#location of qt4.py
 	qt4ToolLocation="."
 
-	env = Environment(options = opts , tools=['default','qt4'], toolpath=[qt4ToolLocation], ENV=os.environ, CPPPATH = includes, CPPFLAGS = cppflags, CCFLAGS = "", LINKFLAGS=ldflags )
+	env = Environment(options = opts , tools=['default','qt4'], toolpath=[qt4ToolLocation], ENV=os.environ, CPPPATH = includes, CPPFLAGS = cppflags, CCFLAGS = "", LINKFLAGS=ldflags, LIBS=libs )
 	
 	if str(env['gui']) == "1":
 	    env.EnableQt4Modules( ['QtCore', 'QtGui','QtNetwork','QtXml'], debug=False)
@@ -259,7 +260,7 @@
 
 	src = scanFiles( directory, ['*.cpp', '*.cc', '*.c' ], [ 'moc_'] )
 
-	env.Append( LIBS = lib_hydrogen )
+	env.Prepend( LIBS = lib_hydrogen )
 	
 	if sys.platform != "win32":
 		env.Append( LIBS = ["sndfile"] )
@@ -378,7 +379,7 @@
 
 #get includes ( important if you compile on non-standard envorionments)
 
-includes, a , b = get_platform_flags( opts )
+includes, a , b, c = get_platform_flags( opts )
 
 env = Environment(options = opts, CPPPATH = includes)
 

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Source: hydrogen
Source-Version: 0.9.5-3

We believe that the bug you reported is fixed in the latest version of
hydrogen, which is due to be installed in the Debian FTP archive:

hydrogen_0.9.5-3.debian.tar.gz
  to main/h/hydrogen/hydrogen_0.9.5-3.debian.tar.gz
hydrogen_0.9.5-3.dsc
  to main/h/hydrogen/hydrogen_0.9.5-3.dsc
hydrogen_0.9.5-3_amd64.deb
  to main/h/hydrogen/hydrogen_0.9.5-3_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 632...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alessio Treglia <ales...@debian.org> (supplier of updated hydrogen package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Fri, 01 Jul 2011 10:03:10 +0200
Source: hydrogen
Binary: hydrogen
Architecture: source amd64
Version: 0.9.5-3
Distribution: unstable
Urgency: low
Maintainer: Debian Multimedia Maintainers 
<pkg-multimedia-maintainers@lists.alioth.debian.org>
Changed-By: Alessio Treglia <ales...@debian.org>
Description: 
 hydrogen   - advanced drum machine/step sequencer
Closes: 632229
Changes: 
 hydrogen (0.9.5-3) unstable; urgency=low
 .
   * Team upload.
   * Add patch to fix linking order. This avoids build failure
     with --as-needed (Closes: #632229, LP: #803182).
   * Refresh patches.
Checksums-Sha1: 
 09aef6033456cd947660e161dc6364c650225cd7 1600 hydrogen_0.9.5-3.dsc
 8eccebf0ea43fde44a25570e1f9152956a1e2b52 19416 hydrogen_0.9.5-3.debian.tar.gz
 0d47bbefd1a9a2bb52cb8352ddb6e3aa264b9010 5401266 hydrogen_0.9.5-3_amd64.deb
Checksums-Sha256: 
 c6d5801583cdf010007867de45e8ad86282b39328fdc0e9fa4a43d43dad62746 1600 
hydrogen_0.9.5-3.dsc
 2891ae28758dfaa0ed08ddc3aab5caa670b36f6f156fab42cc98a5073800d804 19416 
hydrogen_0.9.5-3.debian.tar.gz
 3ac3c4f625b841e7e5519ccff4ab7039dc1e0794fcfadb387e2f9b7557bd1c73 5401266 
hydrogen_0.9.5-3_amd64.deb
Files: 
 56649b1c3d360c1ff9740255ab54ea23 1600 sound optional hydrogen_0.9.5-3.dsc
 070960872ba68d97f07cc3b820f0c816 19416 sound optional 
hydrogen_0.9.5-3.debian.tar.gz
 c25f584575e119013c68320b2b2f8dd3 5401266 sound optional 
hydrogen_0.9.5-3_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk4NhJQACgkQRdSMfNz8P9D4vQCbBpHAILQlTaMGsMxf36ibZ0zV
f90An09H01286LdCbpXks4a4uCfF0lu8
=nZhF
-----END PGP SIGNATURE-----



--- End Message ---
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to