h0sch1
Well-Known Member
Hi @ll
Hab versucht eine Software zu kompalieren.
Unter Linux kein Problem unter FreeBSD 4.10 + 5.3 Beta7 folgendes Problem:
In der Datei decode-cgi.c wird aber die unistd.h miteingefügt und
eigentlich sollte hier doch auch "environ" vorhanden sein.
Nun hab ich einmal aus der unistd.h unter Linux die Zeile kopiert und in die config.h von dem Progi aufgenommen und siehe da es funktionierte.
Das _FREEBSD_ ist dann der "Workaround"!
Nun meine Frage ist das jetzt ein Bug oder ist das normal?
Hab versucht eine Software zu kompalieren.
Unter Linux kein Problem unter FreeBSD 4.10 + 5.3 Beta7 folgendes Problem:
Code:
gcc -m486 -s -I/usr/local/include -I/usr/include -O2 -fomit-frame-pointer -fstrength-reduce -ffast-math -Wall -Winline -Wpointer-arith -Wcast-qual -D_GNU_SOURCE -D_POSIX_SOURCE -c -o decode-cgi.o decode-cgi.c
`-m486' is deprecated. Use `-march=i486' or `-mtune=i486' instead.
decode-cgi.c: In function `main':
decode-cgi.c:144: warning: implicit declaration of function `strcasecmp'
decode-cgi.c:176: warning: implicit declaration of function `alloca'
decode-cgi.c:206: error: `environ' undeclared (first use in this function)
decode-cgi.c:206: error: (Each undeclared identifier is reported only once
decode-cgi.c:206: error: for each function it appears in.)
decode-cgi.c: In function `process_arguments':
decode-cgi.c:321: warning: implicit declaration of function `putenv'
gmake: *** [decode-cgi.o] Fehler 1
In der Datei decode-cgi.c wird aber die unistd.h miteingefügt und
eigentlich sollte hier doch auch "environ" vorhanden sein.
Nun hab ich einmal aus der unistd.h unter Linux die Zeile kopiert und in die config.h von dem Progi aufgenommen und siehe da es funktionierte.
Code:
gcc -m486 -s -I/usr/local/include -I/usr/include -O2 -fomit-frame-pointer -fstrength-reduce -ffast-math -Wall -Winline -Wpointer-arith -Wcast-qual -D_GNU_SOURCE -D_POSIX_SOURCE -D_FREEBSD_ -c -o decode-cgi.o decode-cgi.c
`-m486' is deprecated. Use `-march=i486' or `-mtune=i486' instead.
decode-cgi.c: In function `main':
decode-cgi.c:144: warning: implicit declaration of function `strcasecmp'
decode-cgi.c:176: warning: implicit declaration of function `alloca'
decode-cgi.c: In function `process_arguments':
decode-cgi.c:321: warning: implicit declaration of function `putenv'
decode-cgi.c: In function `main':
decode-cgi.c:80: warning: 'data' might be used uninitialized in this function
decode-cgi.c:83: warning: 'on_stack' might be used uninitialized in this function
gcc -m486 -s -o decode-cgi decode-cgi.o
Das _FREEBSD_ ist dann der "Workaround"!
Code:
#if _FREEBSD_
extern char **environ;
#endif
Nun meine Frage ist das jetzt ein Bug oder ist das normal?
Zuletzt bearbeitet: