Fehler während Kompilierung von screen-4.0.3 unter uclibc: sched.h:26: error: redefinition of ’struct event‘

Während der Kompilierung von screen habe ich den folgenden Fehler bekommen:

In file included from screen.h:41,
from screen.c:81:
sched.h:26: error: redefinition of 'struct event'
make: *** [screen.o] Error 1

Der folgende Patch behebt das ganze:

diff -urN screen-4.0.3-orig/sched.h screen-4.0.3/sched.h
--- screen-4.0.3-orig/sched.h	2002-01-08 16:42:43.000000000 +0100
+++ screen-4.0.3/sched.h	2009-01-13 14:53:15.000000000 +0100
@@ -22,6 +22,10 @@
  * $Id: sched.h,v 1.1.1.1 1993/06/16 23:51:13 jnweiger Exp $ FAU
  */
 
+#ifndef _SCHED_H_
+#define _SCHED_H_ 1
+#include <sys/types.h>
+
 struct event
 {
   struct event *next;
@@ -41,3 +45,4 @@
 #define EV_READ		1
 #define EV_WRITE	2
 #define EV_ALWAYS	3
+#endif

Dieser Patch kann mit „patch -p1 “ im screen-source-Verzeichnis eingebaut werden.

Fehler während der Kompilierung von flac: „‚memcmp‘ was not declared in this scope“

Während der Kompilierung von flac habe ich den folgenden Fehler bekommen:

main.cpp: In function 'int main(int, char**)':
main.cpp:75:27: error: 'memcmp' was not declared in this scope

Hintergrund ist wohl eine vergessene Deklarierung von includes, da der folgende Patch das ganze behebt:

--- examples/cpp/encode/file/main.cpp.orig      2007-09-13 09:58:03.000000000 -0600
+++ examples/cpp/encode/file/main.cpp   2007-11-18 12:59:45.000000000 -0600
@@ -30,6 +30,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <cstring>
 #include "FLAC++/metadata.h"
 #include "FLAC++/encoder.h"
 
--- examples/cpp/decode/file/main.cpp.orig      2008-09-14 20:37:05.000000000 +0200
+++ examples/cpp/decode/file/main.cpp   2008-09-14 20:37:19.000000000 +0200
@@ -30,6 +30,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <cstring>
 #include "FLAC++/decoder.h"
 
 static FLAC__uint64 total_samples = 0;

Dieser Patch kann mit „patch -p0 “ im flac-Verzeichnis eingebaut werden.

/tmp meldet ’no space on device‘ während gcc-Lauf in ‚make‘

Heute habe ich per „make“ aspell für fun_plug 0.7 kompiliert. Während des laufs erhielt ich bereits bei der ersten Datei immer:

prog/aspell.cpp:2947:1: fatal error: error writing to /tmp/ccPLN9nP.s: No space left on device
compilation terminated.
make[1]: *** [prog/aspell.o] Error 1
make[1]: Leaving directory `aspell-0.60.6.1'
make: *** [all-recursive] Error 1

Die Lösung ist einfach:

export TMPDIR=/ein/anderes/verzeichnis
make

Das wars 😉