Bug#580824: jack-audio-connection-kit: FTBFS on hppa (multiple issues)

2010-05-09 Thread Adam D. Barratt
On Sun, May 9, 2010 01:05, Dmitrijs Ledkovs wrote:
 On 9 May 2010 00:44, Adam D. Barratt a...@adam-barratt.org.uk wrote:

 - waf's parallel building and hppa don't mix; I've stolen a patch which
 Jakub Wilk provided for xmms2 and applied it to j-a-c-k. It will break
 if
 anything causes the .waf.-* directory to be renamed, but that seems like
 another reason not to use waf ;-)


 Running waf with -j1 flag should stop all paralelism.

 e.g.

 ./waf configure build -j1

 Is this not enough to make waf behave on hppa?

From what I could see from reading the code, the number of jobs should
automatically default to the number of available CPUs in any case, so
should automatically be 1 at least on the porter box.

However, assuming that adding the following to debian/rules would
implement your suggestion, then sadly no it does not appear to be enough:

waf-configure-options += $(if $(filter hppa,$(DEB_HOST_ARCH)),-j1)

Even with this change, the ./waf configure call hangs after outputting

Checking for dbus-1 = 1.0.0 : ok
Checking for dbus-1 flags: ok
Checking for header expat.h  : ok

I killed it after 15 minutes of inactivity; the build output shows that
-j1 was passed to the configure call. If I add the Runner.py patch
instead, it gets past that point with ease (and later fails with the
second error I mentioned, which is trivially fixable by adding 
!defined(__hppa__) to an existing patch).

Regards,

Adam




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#580824: jack-audio-connection-kit: FTBFS on hppa (multiple issues)

2010-05-09 Thread Dmitrijs Ledkovs
On 9 May 2010 08:05, Adam D. Barratt a...@adam-barratt.org.uk wrote:
 On Sun, May 9, 2010 01:05, Dmitrijs Ledkovs wrote:
 On 9 May 2010 00:44, Adam D. Barratt a...@adam-barratt.org.uk wrote:

 - waf's parallel building and hppa don't mix; I've stolen a patch which
 Jakub Wilk provided for xmms2 and applied it to j-a-c-k. It will break
 if
 anything causes the .waf.-* directory to be renamed, but that seems like
 another reason not to use waf ;-)


 Running waf with -j1 flag should stop all paralelism.

 e.g.

 ./waf configure build -j1

 Is this not enough to make waf behave on hppa?

 From what I could see from reading the code, the number of jobs should
 automatically default to the number of available CPUs in any case, so
 should automatically be 1 at least on the porter box.

 However, assuming that adding the following to debian/rules would
 implement your suggestion, then sadly no it does not appear to be enough:

 waf-configure-options += $(if $(filter hppa,$(DEB_HOST_ARCH)),-j1)

 Even with this change, the ./waf configure call hangs after outputting

 Checking for dbus-1 = 1.0.0             : ok
 Checking for dbus-1 flags                : ok
 Checking for header expat.h              : ok

 I killed it after 15 minutes of inactivity; the build output shows that
 -j1 was passed to the configure call. If I add the Runner.py patch
 instead, it gets past that point with ease (and later fails with the
 second error I mentioned, which is trivially fixable by adding 
 !defined(__hppa__) to an existing patch).

 Regards,

 Adam




Can you please run it as (without any patches)

./waf -vvv -j1

And send me buildlog please? This is quite disturbing. I'm a waf lover
=) and have submitted a few patches upstream.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#580824: jack-audio-connection-kit: FTBFS on hppa (multiple issues)

2010-05-08 Thread Adam D. Barratt
Package: jack-audio-connection-kit
Version: 1.9.5~dfsg-12
Severity: serious
Tags: patch

Hi,

j-a-c-k FTBFS on hppa.  While some of the issues may be buildd related,
some of them aren't; the good news is that I believe I've fixed them. :-)
(at least, I've successfully built j-a-c-k on the hppa porter box)

There are two issues:

- waf's parallel building and hppa don't mix; I've stolen a patch which
Jakub Wilk provided for xmms2 and applied it to j-a-c-k. It will break if
anything causes the .waf.-* directory to be renamed, but that seems like
another reason not to use waf ;-)

- the alpha/ia64 segv fix patch also needs to include hppa in its
growing list of architectures on which not to execute the relevant code;
the patch probably also wants renaming :-)

I've attached a new patch to fix the first; I assume the second is trivial
enough not to need a patch.

I'd appreciate an upload containing these changes so that we can hopefully
finally get j-a-c-k built on all architectures which are relevant for
testing migration.

Regards,

AdamDescription: Disable parallel build on hppa architecture.
Origin: http://code.google.com/p/waf/source/browse/tags/waf-1.5.0/playground/serial.py

--- a/.waf-1.5.0-8e39a4c1c16303c1e8f010bf330305f6/wafadmin/Runner.py
+++ b/.waf-1.5.0-8e39a4c1c16303c1e8f010bf330305f6/wafadmin/Runner.py
@@ -143,3 +143,100 @@ class Parallel(object):
 	self.consumers=[TaskConsumer(self)for i in xrange(self.numjobs)]
 		assert(self.count==0 or self.stop)
 
+class Serial(object):
+
+	def __init__(self, bld, j=1):
+		self.manager = bld.task_manager
+		self.outstanding = []
+
+		# progress bar
+		self.total = self.manager.total()
+		self.processed = 0
+		self.error = 0
+
+		self.switchflag = 1 # postpone
+		
+		self.consumers = None
+
+	# warning, this one is recursive ..
+	def get_next(self):
+		if self.outstanding:
+			t = self.outstanding.pop(0)
+			self.processed += 1
+			return t
+
+		# handle case where only one wscript exist
+		# that only install files
+		if not self.manager.groups:
+			return None
+
+		(_, self.outstanding) = self.manager.get_next_set()
+		if not self.outstanding: return None
+
+		return self.get_next()
+
+	def postpone(self, tsk):
+		self.processed -= 1
+		self.switchflag *= -1
+		# this actually shuffle the list
+		if self.switchflag0: self.outstanding.insert(0, tsk)
+		else: self.outstanding.append(tsk)
+
+	def start(self):
+		debug('runner: Serial start called')
+		while 1:
+			# get next Task
+			tsk = self.get_next()
+			if tsk is None: break
+
+			if Logs.verbose: debug('runner: retrieving %r' % tsk)
+
+			st = tsk.runnable_status()
+			if st == ASK_LATER:
+debug('runner: postponing %r' % tsk)
+self.postpone(tsk)
+continue
+
+			#continue
+			if st == SKIP_ME:
+tsk.hasrun = SKIPPED
+self.manager.add_finished(tsk)
+continue
+
+			tsk.position = (self.processed, self.total)
+
+			# display the command that we are about to run
+			tsk.generator.bld.printout(tsk.display())
+
+			# run the command
+			if tsk.__class__.stat: ret = tsk.__class__.stat(tsk)
+			else: ret = tsk.run()
+			self.manager.add_finished(tsk)
+
+			# non-zero means something went wrong
+			if ret:
+self.error = 1
+tsk.hasrun = CRASHED
+tsk.err_code = ret
+if Options.options.keep: continue
+else: return -1
+
+			try:
+tsk.post_run()
+			except OSError:
+self.error = 1
+tsk.hasrun = MISSING
+if Options.options.keep: continue
+else: return -1
+			else:
+tsk.hasrun = SUCCESS
+
+		if self.error:
+			return -1
+
+import subprocess
+p = subprocess.Popen(['dpkg', '--print-architecture'], stdout=subprocess.PIPE)
+arch = p.stdout.read().strip()
+p.wait()
+if arch == 'hppa':
+	Parallel = Serial


Bug#580824: jack-audio-connection-kit: FTBFS on hppa (multiple issues)

2010-05-08 Thread Dmitrijs Ledkovs
On 9 May 2010 00:44, Adam D. Barratt a...@adam-barratt.org.uk wrote:

 - waf's parallel building and hppa don't mix; I've stolen a patch which
 Jakub Wilk provided for xmms2 and applied it to j-a-c-k. It will break if
 anything causes the .waf.-* directory to be renamed, but that seems like
 another reason not to use waf ;-)


Running waf with -j1 flag should stop all paralelism.

e.g.

./waf configure build -j1

Is this not enough to make waf behave on hppa?



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org