make error interpretation

Software besorgen und anwenden
Post Reply
Message
Author
marcdevil

make error interpretation

#1 Post by marcdevil »

Bsp 1 xgalaga:
-------------------------------------------
make

making all in ./libsprite...
make<font size="1">: Entering directory `/root/install/games/xgalaga-1.6c/libsprite'
rm -f data.o
gcc -c -O2 -fno-strength-reduce -I/usr/include/X11 -I/usr/X11R6/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -I/usr/include/X11 data.c
data.c:82: macro `strdup' used without args
make<font size="1">: *** [data.o] Error 1
make<font size="1">: Leaving directory `/root/install/games/xgalaga-1.6c/libsprite'
make: *** [all] Error 2
--------------------------------------------

Bsp2 xracer

-DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -O3 -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -Wcast-align -Wwrite-strings -c verify.c
rm -f libmpeg.a
ar cru libmpeg.a display.o getbits.o getblk.o gethdr.o getpic.o getvlc.o idct.o idctref.o motion.o mpeg2dec.o recon.o spatscal.o store.o subspic.o systems.o verify.o
ranlib libmpeg.a
make<font size="3">: Leaving directory `/root/install/games/xracer-0.96.9/src/mpeg'
cp arch_posix.c arch.c
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O3 -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -Wcast-align -Wwrite-strings -DXRACER_HOME=\"/usr/local/share/xracer\" -DHAVE_PPMTOGIF=1 -DHAVE_PPMQUANT=1 -DPPMTOGIF=\"/usr/X11R6/bin/ppmtogif\" -DPPMQUANT=\"/usr/X11R6/bin/ppmquant\" -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -I../intl -c arch.c
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include -O3 -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -Wcast-align -Wwrite-strings -DXRACER_HOME=\"/usr/local/share/xracer\" -DHAVE_PPMTOGIF=1 -DHAVE_PPMQUANT=1 -DPPMTOGIF=\"/usr/X11R6/bin/ppmtogif\" -DPPMQUANT=\"/usr/X11R6/bin/ppmquant\" -DLOCALEDIR=\"/usr/local/share/locale\" -DGNULOCALEDIR=\"/usr/local/share/locale\" -I../intl -c config_menu.c
config_menu.c:25: GL/glut.h: No such file or directory
make<font size="2">: *** [config_menu.o] Error 1
make<font size="2">: Leaving directory `/root/install/games/xracer-0.96.9/src'
make<font size="1">: *** [all-recursive] Error 1
make<font size="1">: Leaving directory `/root/install/games/xracer-0.96.9'
make: *** [all-recursive-am] Error 2

--------------------------------------------

Bsp. 3 X 4.02, obwohl 4.01 prima funzt:

make<font size="3">: Leaving directory `/root/install/xc402/lib/GLw'
including in lib/dps...
make<font size="3">: Entering directory `/root/install/xc402/lib/dps'
checking ../../config/pswrap/pswrap over in ../../config/pswrap first...
make<font size="4">: Entering directory `/root/install/xc402/config/pswrap'
gcc -O2 -fno-strength-reduce -ansi -pedantic -Wall -Wpointer-arith -I../.. -I../../exports/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DXENVIRONMENT -c -o main.o main.c
main.c: In function `ScanArgs':
main.c:132: warning: value computed is not used
bison -y -d pswparser.y
/bin/sh: bison: command not found
make<font size="4">: *** [pswparser.c] Error 127
make<font size="4">: Leaving directory `/root/install/xc402/config/pswrap'
make<font size="3">: *** [../../config/pswrap/pswrap] Error 2
make<font size="3">: Leaving directory `/root/install/xc402/lib/dps'
make<font size="2">: *** [includes] Error 2
make<font size="2">: Leaving directory `/root/install/xc402/lib'
make<font size="1">: *** [includes] Error 2
make<font size="1">: Leaving directory `/root/install/xc402'
make: *** [World] Error 2

--------------------------------------------
auf die interpretation, fertig, los

Jochen

Re: make error interpretation

#2 Post by Jochen »

Was ist da zu interpretieren? Er sagt's doch klar und deutlich...

Fall 1: "data.c:82: macro `strdup' used without args"
Der C-Compiler meckert klar und deutlich an, dass das Makro strdup an dieser Stelle seines Erachtes nach ohne Argumente verwendet wird, obwohl es welche benötigt. Ein Blick in den Source (data.c, Zeile 82) könnte Klarheit bringen...

Fall 2: "config_menu.c:25: GL/glut.h: No such file or directory"
Der Compiler (bzw. der Präprozessor) will das Include-File "GL/glut.h" einbinden und findet es nicht in den Suchpfaden, die ihm zur Verfügung stehen (-I Optionen beim gcc-Aufruf). Also suchen, wo das File sitzt und den Pfad mit angeben bzw. ein fehlendes Paketchen nachinstallieren.

Fall 3: "bin/sh: bison: command not found"
(Die Meldung des Compilers davor war nur einen Warnung, kein Fehler.) Das Programm "bison" wurde nicht gefunden (der Parser-Generator). Nachinstallieren bzw. in den Suchpfad aufnehmen.

Die restlichen Meldungen vom make drumherum besagen eigentlich immer nur, dass er aufgrund eines Fehlers, den ein von make aufgerufenes Programm gemeldet hat, nicht sinnvoll weitermachen kann und deshalb abbricht.

OK?

marcdevil

Re: make error interpretation

#3 Post by marcdevil »

hui, das höhrt sich kompliziert an, aber ich probiere es mal.
in welcher datei stehen die suchpfade der jeweiligen benutzer, bzw die globalen suchpfade (die für alle gelten sollen) ?

Jochen

Re: make error interpretation

#4 Post by Jochen »

Die stehen letzten Endes in einer Environment-Variablen. Tipp mal ein "echo $PATH" ein, dann siehst Du alle Verzeichnisse (durch : getrennt), die das System nach ausführbaren Kommandos durchsucht. Gesetzt wird die Variable systemweit typischerweise in der /etc/profile oder /etc/bashrc, für den einzelnen User in der Datei ~/.bash_profile oder ~/.bashrc. Das gilt natürlich nur, wenn Du die bash als Shell verwendest, andere Shells haben ggf. andere rc-Dateien.

Aber check erst mal, ob Du bison überhaupt installiert hast. Wenn Deine Distro rpm-basiert ist, gib mal ein "rpm -qa | grep -i bison" ein. Wenn er eine Zeile auswirft, hast Du es installiert, sonst nicht. Ist mit Sicherheit auf Deiner Distro-CD. Solltest Du Debian fahren, mach einfach ein "apt-get install bison", spätestens dann hast Du ihn.

Post Reply