Source: jugglemaster
Version: 0.4-6.1
Severity: serious
Justification: FTBFS but built successfuly in the past
Tags: sid jessie patch
Control: block 706798 by -1

jugglemaster fails to build on kfreebsd-*:
| g++ -Wall -pedantic -fsigned-char `aalib-config --cflags`   -c -o aajm.o 
aajm.cpp
| In file included from aajm.cpp:16:0:
| ./aajm.h:43:8: error: redefinition of 'struct loadavg'
|  struct loadavg {
|         ^
| In file included from /usr/include/x86_64-kfreebsd-gnu/sys/resource.h:25:0,
|                  from ./aajm.h:25,
|                  from aajm.cpp:16:
| /usr/include/x86_64-kfreebsd-gnu/bits/resource.h:127:8: error: previous 
definition of 'struct loadavg'
|  struct loadavg {

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=jugglemaster&arch=kfreebsd-amd64&ver=0.4-6.1&stamp=1378348475

The attached patch fixes this issue by renaming aajm's loadavg.

Regards
-- 
Sebastian Ramacher
diff -Nru jugglemaster-0.4/debian/changelog jugglemaster-0.4/debian/changelog
--- jugglemaster-0.4/debian/changelog	2013-09-03 01:13:53.000000000 +0200
+++ jugglemaster-0.4/debian/changelog	2013-09-11 17:57:34.000000000 +0200
@@ -1,3 +1,11 @@
+jugglemaster (0.4-6.2) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * debian/patches/loadavg.patch: kfreebsd-* defines struct loadavg in some
+    system header. Rename aajm's loadavg to resolve this conflict.
+
+ -- Sebastian Ramacher <sramac...@debian.org>  Wed, 11 Sep 2013 17:49:47 +0200
+
 jugglemaster (0.4-6.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru jugglemaster-0.4/debian/patches/loadavg.patch jugglemaster-0.4/debian/patches/loadavg.patch
--- jugglemaster-0.4/debian/patches/loadavg.patch	1970-01-01 01:00:00.000000000 +0100
+++ jugglemaster-0.4/debian/patches/loadavg.patch	2013-09-11 17:54:57.000000000 +0200
@@ -0,0 +1,55 @@
+Description: Rename loadavg to aajm_loadavg
+ On kfreebsd-*, there is a struct loadavg in some system header. Rename aajm's
+ loadavg to no conflict with the definition in the system header.
+Author: Sebastian Ramacher <sramac...@debian.org>
+Last-Update: 2013-09-11
+
+--- jugglemaster-0.4.orig/src/aajm/aajm.cpp
++++ jugglemaster-0.4/src/aajm/aajm.cpp
+@@ -24,7 +24,7 @@ void errorCB(char* msg) {
+ void draw_juggler(int show_loadavg) {
+ 	int color;
+ 	int i;
+-	struct loadavg load;
++	struct aajm_loadavg load;
+ 
+ 	arm* ap = &(jmlib->ap);
+ 	ball* rhand = &(jmlib->rhand);
+@@ -101,7 +101,7 @@ void draw_juggler(int show_loadavg) {
+      runnable number of process at any given moment in time.
+    If load average is greater than your number of processors, then your
+      system has more work to do than it's capable of doing. */
+-void loadaverage(struct loadavg *load) {
++void loadaverage(struct aajm_loadavg *load) {
+ 	FILE *loadf;
+ 
+ 	loadf = fopen("/proc/loadavg", "r");
+@@ -156,7 +156,7 @@ void resizehandler(aa_context *resized_c
+ void main_loop(int max_iterations, int delay,
+ 		int loadavg_flag, int normal_load, int socket_fd) {
+ 	struct timeval starttime, endtime, selecttime;
+-	struct loadavg load;
++	struct aajm_loadavg load;
+ 	long speed = DEFSPEED; /* microseconds between frames */
+ 	long load_speed = 0; /* Speed adjustment, based on load */
+ 	int loop_forever = 0;
+--- jugglemaster-0.4.orig/src/aajm/aajm.h
++++ jugglemaster-0.4/src/aajm/aajm.h
+@@ -40,7 +40,7 @@ aa_context *context;
+ aa_renderparams *params;
+ JMLib* jmlib;
+ 
+-struct loadavg {
++struct aajm_loadavg {
+ 	float one, five, fifteen;
+ };
+ 
+@@ -51,7 +51,7 @@ struct loadavg {
+ 
+ void errorCB(char* msg);
+ void draw_juggler(int show_loadavg);
+-void loadaverage(struct loadavg *load);
++void loadaverage(struct aajm_loadavg *load);
+ int startlistening(int port);
+ void stoplistening(int fd);
+ void resizehandler(aa_context *resized_context);
diff -Nru jugglemaster-0.4/debian/patches/series jugglemaster-0.4/debian/patches/series
--- jugglemaster-0.4/debian/patches/series	2013-09-03 01:07:49.000000000 +0200
+++ jugglemaster-0.4/debian/patches/series	2013-09-11 17:53:22.000000000 +0200
@@ -10,3 +10,4 @@
 wx28-compatibility.patch
 ld-as-needed.patch
 libav9.patch
+loadavg.patch

Attachment: signature.asc
Description: Digital signature

Reply via email to