make-Problem

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
And1
Beiträge: 22
Registriert: 04.09.2008 00:39:24

make-Problem

Beitrag von And1 » 04.09.2008 01:20:10

Hey,

ich hab hier ein kleines Problem beim kompilieren eines sourcecodes...

Hier ist mal das komplette log-file:
http://paste.lisp.org/display/66267

Ich benutze gcc-3.4, weil ich ansonsten andere Fehler bekomme, muss wohl ein Bug sein:
http://bugs.gentoo.org/show_bug.cgi?id=204026
http://bugs.gentoo.org/show_bug.cgi?id=151035
http://www.google.de/search?q=iso9660.c ... =firefox-a

Vielen Dank fürs lesen und evtl. eure Hilfe,

MfG, Andi

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: make-Problem

Beitrag von gms » 04.09.2008 09:50:32

der Fehler aus dem Logfile tritt eigentlich nur auf, weil die Option "-Werror" gesetzt wurde. Daher könnte ein Workaround so ausschauen, daß du die Makfiles so modifizierst, daß diese Option nicht mehr gesetzt wird.
Ich würde aber eher versuchen den Patch von http://bugs.gentoo.org/attachment.cgi?i ... ction=view
einzuspielen, weil dieser Patch die Vermutung nahelegt, daß dieses Warning tatsächlich nicht ignoriert werden sollte.
Also zuerst versuchen ob es Konflikte gibt und im Sourceverzeichnis folgendes Kommando absetzen:

Code: Alles auswählen

patch -p1 --dry-run </path/to/patch
und nur wenn hier kein Fehler ausgegeben wurden, den Patch einspielen

Code: Alles auswählen

patch -p1 </path/to/patch
Gruß
gms

And1
Beiträge: 22
Registriert: 04.09.2008 00:39:24

Re: make-Problem

Beitrag von And1 » 04.09.2008 13:27:33

Hi,

danke für deine Antwort... ich bekomme allerdings leider doch wieder einen Fehler, bzw. es wird festgestellt, dass anscheinend vorher schon ein Patch eingespielt wurde: http://paste.lisp.org/display/66290

MfG, Andi

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: make-Problem

Beitrag von gms » 04.09.2008 14:58:40

gut, die wesentliche Änderung kannst du aber auch manuell in der Datei "fs/grub/fsys_reiserfs.c" durchführen.
Zeilen mit eine '+' am Anfang müssen in dieser Form in obige Datei reingeschrieben werden ( ohne dem '+' ), Zeilen mit einem '-' am Anfang müssen gelöscht werden, Zeilen ohne '+' und ohne '-' diienen der Orientierung:

Code: Alles auswählen

static __inline__ unsigned long
-log2 (unsigned long word)
+reiser_log2 (unsigned long word)
 {

Code: Alles auswählen

   INFO->blocksize = super.s_blocksize;
-  INFO->fullblocksize_shift = log2 (super.s_blocksize);
+  INFO->fullblocksize_shift = reiser_log2 (super.s_blocksize);
   INFO->blocksize_shift = INFO->fullblocksize_shift - SECTOR_BITS;
Hintergrund:
nachdem ich davon ausgehe, daß diese Änderungen nicht aus ästhetischen Gesichtspunkt heraus durchgeführt wurden, vermute ich, daß es hier einen Konflikt mit einer Funktion gleichen Namens gibt ( oder zumindest einer Deklaration gleichen Namens ). Das würde dann auch die Fehlermeldung ( eigentlich Warning ) die du bekommen hast erklären:

Code: Alles auswählen

fsys_reiserfs.c:371: warning: conflicting types for built-in function 'log2'

And1
Beiträge: 22
Registriert: 04.09.2008 00:39:24

Re: make-Problem

Beitrag von And1 » 04.09.2008 15:31:22

Hey gms,

funktioniert super, ich dank dir recht herzlich für deine schnelle und gute Hilfe. =)

EDIT: Huch, ich hatte ja das "-Werror" aus Testzwecken/Neugierde noch auskommentiert, wenn ich das wieder einkommentiere bekomme ich noch folgende Meldung:

Code: Alles auswählen

[...]
gcc-3.4 -O2 -g -mtune=pentium -Werror -pipe -fomit-frame-pointer -Wstrict-prototypes -I/home/and1/temp/xc25sourcecode/grub -I/home/and1/temp/xc25sourcecode/include -I/home/and1/temp/xc25sourcecode/ -I./ -I/home/and1/temp/xc25sourcecode/fs/cdrom -I/home/and1/temp/xc25sourcecode/fs/fatx -I/home/and1/temp/xc25sourcecode/fs/grub -I/home/and1/temp/xc25sourcecode/lib/eeprom -I/home/and1/temp/xc25sourcecode/lib/crypt -I/home/and1/temp/xc25sourcecode/drivers/video -I/home/and1/temp/xc25sourcecode/drivers/ide -I/home/and1/temp/xc25sourcecode/drivers/flash -I/home/and1/temp/xc25sourcecode/lib/misc -I/home/and1/temp/xc25sourcecode/boot_xbe/ -I/home/and1/temp/xc25sourcecode/fs/grub -I/home/and1/temp/xc25sourcecode/lib/font -I/home/and1/temp/xc25sourcecode/startuploader -I/home/and1/temp/xc25sourcecode/drivers/cpu -I/home/and1/temp/xc25sourcecode/lib/jpeg/ -I/home/and1/temp/xc25sourcecode/menu/actions -I/home/and1/temp/xc25sourcecode/menu/textmenu -I/home/and1/temp/xc25sourcecode/menu/iconmenu -fno-zero-initialized-in-bss -DETHERBOOT  -o /home/and1/temp/xc25sourcecode/obj/misc.o -c misc.c
misc.c:32: warning: static declaration of 'memset' follows non-static declaration
misc.c:33: warning: static declaration of 'memcpy' follows non-static declaration
make[3]: *** [misc.o] Error 1
make[3]: Leaving directory `/home/and1/temp/xc25sourcecode/lib/gzip'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/home/and1/temp/xc25sourcecode/lib/gzip'
make[1]: *** [_subdir_gzip] Error 2
make[1]: Leaving directory `/home/and1/temp/xc25sourcecode/lib'
make: *** [_dir_lib] Error 2
MfG, Andi

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: make-Problem

Beitrag von gms » 04.09.2008 15:46:16

And1 hat geschrieben:funktioniert super, ich dank dir recht herzlich für deine schnelle und gute Hilfe. =)
freut mich, wenn ich helfen konnte/kann.
Ist mir auch jetzt erst aufgefallen, daher auch noch ein verspätetes "Willkommen im Forum!
And1 hat geschrieben: EDIT: Huch, ich hatte ja das "-Werror" aus Testzwecken/Neugierde noch auskommentiert, wenn ich das wieder einkommentiere bekomme ich noch folgende Meldung:

Code: Alles auswählen

misc.c:32: warning: static declaration of 'memset' follows non-static declaration
misc.c:33: warning: static declaration of 'memcpy' follows non-static declaration
diese zwei Meldungen könntest du ruhigen Gewissens ignorieren, oder in "lib/gzip/misc.c" diese beiden Zeilen einfach rausschmeissen:

Code: Alles auswählen

-static void* memset(void *, int, size_t);
-static void* memcpy(void *, __const void *, size_t);
Gruß
gms

And1
Beiträge: 22
Registriert: 04.09.2008 00:39:24

Re: make-Problem

Beitrag von And1 » 04.09.2008 15:58:14

Hey gms, danke danke. =)

Wenn ich die beiden Zeilen entferne, bekomme ich immer noch diesen Fehler:

Code: Alles auswählen

misc.c:140: warning: static declaration of 'memset' follows non-static declaration
misc.c:150: warning: static declaration of 'memcpy' follows non-static declaration
Ich frage mich gerade, ob ich diese Zeilen hier auch noch entfernen kann:

Code: Alles auswählen

static void* memset(void* s, int c, size_t n)
{
        int i;
        char *ss = (char*)s;

        for (i=0;i<n;i++) ss[i] = c;
        return s;
}

static void* memcpy(void* __dest, __const void* __src,
                            size_t __n)
{
        int i;
        char *d = (char *)__dest, *s = (char *)__src;

        for (i=0;i<__n;i++) d[i] = s[i];
        return __dest;
}
Ich kann sie auch einfach ignorieren, allerdings weiß ich nicht, ob nach dem fixen dieses Problems noch andere Fehler/Warnungen auftauchen.

MfG, Andi

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: make-Problem

Beitrag von gms » 04.09.2008 16:06:23

And1 hat geschrieben: Ich frage mich gerade, ob ich diese Zeilen hier auch noch entfernen kann:

Code: Alles auswählen

static void* memset(void* s, int c, size_t n)
{
        int i;
        char *ss = (char*)s;

        for (i=0;i<n;i++) ss[i] = c;
        return s;
}

static void* memcpy(void* __dest, __const void* __src,
                            size_t __n)
{
        int i;
        char *d = (char *)__dest, *s = (char *)__src;

        for (i=0;i<__n;i++) d[i] = s[i];
        return __dest;
}
ja, bei dem Gentoo-Patch wurden diese Funktionen auch entfernt
And1 hat geschrieben: Ich kann sie auch einfach ignorieren, allerdings weiß ich nicht, ob nach dem fixen dieses Problems noch andere Fehler/Warnungen auftauchen.
Ich frage mich, was die Entwickler von diesem Paket hier aufgeführt haben :lol:
So gesehen ist es wahrscheinlich besser diese Warnungen ernst zu nehmen :lol:


edit: wenn das jetzt so weiter geht, dann sollten wir die Sache abkürzen: poste dann bitte die Ausgabe von "make -k" ( du kannst dafür auch NoPaste http://nopaste.debianforum.de/ ) verwenden und den Link dann hier rein kopieren.

And1
Beiträge: 22
Registriert: 04.09.2008 00:39:24

Re: make-Problem

Beitrag von And1 » 04.09.2008 16:22:02

Hey gms,

puuh zum Glück kommen jetzt keine Fehler/Warnungen mehr, `make' funktioniert nun einwandfrei, und danke für den `make -k' Tip.=)

Vielen Dank nochmal für deine Hilfe, schönen Abend wünsch ich noch,

MfG Andi

Antworten