nach cvs-update läuft make all nicht durch

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
hotdog67
Einsteiger
Einsteiger
Beiträge: 217
Registriert: Samstag 25. August 2001, 00:00

nach cvs-update läuft make all nicht durch

Beitrag von hotdog67 »

Hi.

Ich hab heute morgen mein cvs upgedatet. Leider läuft jetzt make all nicht megr durch.

Code: Alles auswählen

make[4]: Entering directory `/home/xxx/tuxbox/head/cdk/SDL-1.2.6/src/joystick/linux'
/bin/sh ../../../libtool --mode=compile powerpc-tuxbox-linux-gnu-gcc -DPACKAGE=\"SDL\" -DVERSION=\"1.2.6\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1  -I. -I.      -mcpu=823 -mmultiple -mstring -meabi -pipe -Os -Wall -DUSE_DLOPEN -DOSS_SUPPORT -DENABLE_FBCON -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DPTHREAD_NO_RECURSIVE_MUTEX -I../../../include -I../../../include/SDL -I../../../src -I../../../src/linux -I../../../src/main -I../../../src/audio -I../../../src/video -I../../../src/video/XFree86/extensions -I../../../src/events -I../../../src/joystick -I../../../src/cdrom -I../../../src/thread -I../../../src/timer -I../../../src/endian -I../../../src/file -c SDL_sysjoystick.c
powerpc-tuxbox-linux-gnu-gcc -DPACKAGE=\"SDL\" -DVERSION=\"1.2.6\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -mcpu=823 -mmultiple -mstring -meabi -pipe -Os -Wall -DUSE_DLOPEN -DOSS_SUPPORT -DENABLE_FBCON -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DPTHREAD_NO_RECURSIVE_MUTEX -I../../../include -I../../../include/SDL -I../../../src -I../../../src/linux -I../../../src/main -I../../../src/audio -I../../../src/video -I../../../src/video/XFree86/extensions -I../../../src/events -I../../../src/joystick -I../../../src/cdrom -I../../../src/thread -I../../../src/timer -I../../../src/endian -I../../../src/file -c SDL_sysjoystick.c -o SDL_sysjoystick.o
SDL_sysjoystick.c: In function `SDL_SYS_JoystickInit':
SDL_sysjoystick.c:148: error: `PATH_MAX' undeclared (first use in this function)
SDL_sysjoystick.c:148: error: (Each undeclared identifier is reported only once
SDL_sysjoystick.c:148: error: for each function it appears in.)
SDL_sysjoystick.c:148: warning: unused variable `path'
make[4]: *** [SDL_sysjoystick.lo] Fehler 1
make[4]: Leaving directory `/home/xxx/tuxbox/head/cdk/SDL-1.2.6/src/joystick/linux'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/xxx/tuxbox/head/cdk/SDL-1.2.6/src/joystick'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/xxx/tuxbox/head/cdk/SDL-1.2.6/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/xxx/tuxbox/head/cdk/SDL-1.2.6'
make: *** [.deps/libsdl] Fehler 2
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Irgendwas passiert da beim Aufbereiten der limits.h für den gcc, diese wird nicht komplett übernommen wenn man nur den gcc neu baut.

Ich mache seitdem bei einem Compiler-Upgrade immer den kompletten Build, also erst gcc ohne shared libs, dann die glibc und am Ende den gcc mit shared libs.

Also so wie es beim ersten Mal auch erstellt wird. Ob das einfacher geht weiß ich nicht, ich hatte keine Zeit und Lust, groß zu experimentieren und so funktioniert es auf jeden Fall.
hybrid
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Donnerstag 18. März 2004, 11:57

Andere Lösung...

Beitrag von hybrid »

Ich hatte das Problem auch, habe statt eines Neubaus allerdings das Patchen vorgezogen. Wenn man in die Datei schaut, sieht man, dass auch andere das Problem haben und daher linux/limits.h einbinden.
Folgene Ergänzung zum Patch sdl.diff hat mir geholfen:

Code: Alles auswählen

--- Archive/SDL-1.2.6.orig/src/joystick/linux/SDL_sysjoystick.c 2002-03-06 12:23
:03.000000000 +0100
+++ SDL-1.2.6/src/joystick/linux/SDL_sysjoystick.c      2002-08-26 01:26:16.0000
00000 +0200
@@ -35,7 +35,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <limits.h>            /* For the definition of PATH_MAX */
-#ifdef __arm__
+#if defined(__arm__) || defined(__powerpc__)
 #include <linux/limits.h> /* Arm cross-compiler needs this */
 #endif
 #include <linux/joystick.h>
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Hmm, dann arbeitest du aber doch mit kaputten Headerfiles.

Versteh den Gedanken nicht so ganz.

Oder geht's nur darum, wie man das Problem "mal eben" behebt, ohne großartig Zeit mit dem Neubau des Compilers zu verschwenden?
hybrid
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Donnerstag 18. März 2004, 11:57

limits.h

Beitrag von hybrid »

Npq hat geschrieben:Hmm, dann arbeitest du aber doch mit kaputten Headerfiles.

Versteh den Gedanken nicht so ganz.

Oder geht's nur darum, wie man das Problem "mal eben" behebt, ohne großartig Zeit mit dem Neubau des Compilers zu verschwenden?
Naja, ich arbeite eigentlich mit den Headerfiles, die installiert sind. Ob sie kaputt sind oder nicht, das lässt sich kaum bestimmen.
Der Gedanke ist eigentlich ganz einfach zu verstehen: Compiler hat ein Problem, ich schaue mir die Stelle an. Da steht ein #ifdef, weil ein Crosscompiler Probleme hatte. Ich zähl also 1 und 1 zusammen und stelle fest, dass mein Crosscompiler auch ein Problem hat und ich auf die gleiche Weise das Problem lösen kann.
Das kann doch nicht verwerflich sein?! Solange das gcc-Update nicht besser läuft bleibe ich jedenfalls bei der Lösung, die tut, was sie soll.
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Nein, das ist falsch gedacht und wird auf lange Sicht nur zu Problemen führen.

Nicht der Compiler hat das Problem, sondern die Header werden beim Update falsch generiert. Warum wieso könnte jemand mal rausfinden, aber solange ich und scheinbar auch kein anderer dafür Zeit hat funktioniert nur der von mir beschriebene Workaround mit dem kompletten Neubau.

Wenn du aber mit deiner Lösung für dich zurechtkommst ist es ja ok.