Page 1 of 1
Fehlermeldung beim kompilieren
Posted: 2007-01-20 18:04
by sledge0303
Hallo,
ich erhalte beim kompilieren seit neustem immer diese Fehlermeldung. Selbst bei Kernel die ich vor Wochen schon einmal selbstgebaut habe mit der selben Config:
Code: Select all
kernel/posix-cpu-timers.c:110: error: redefinition of 'cputime_div_non_zero'
kernel/posix-cpu-timers.c:97: error: previous definition of 'cputime_div_non_zero' was here
make[2]: *** [kernel/posix-cpu-timers.o] Fehler 1
make[1]: *** [kernel] Fehler 2
make[1]: Leaving directory `/usr/src/linux-2.6.16.33'
make: *** [debian/stamp-build-kernel] Fehler 2
Ich hatte letztens wegen mir unerklärlicher Fehlermeldungen den Server auf einen technischen defekt der Hardware (RAM, Prozessor etc) prüfen lassen.
Gestern erhielt ich vom Support eine Meldung, der Server/Prozessor hätte thermische Probleme gehabt die inzwischen behoben sein sollen.
Was meint ihr, kann die Meldung etwas damit zu tun haben?
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-20 18:56
by Roger Wilco
Hast du vorher mal `make clean` ausgeführt? Hast du irgendeinen Patch eingespielt?
Mit thermischen Problemen hat das IMHO nichts zu tun. Die würden sich eher durch sporadische Abstürze oder Segfaults äußern.
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-20 19:11
by sledge0303
Roger Wilco wrote:Hast du vorher mal `make clean` ausgeführt? Hast du irgendeinen Patch eingespielt?
Mit thermischen Problemen hat das IMHO nichts zu tun. Die würden sich eher durch sporadische Abstürze oder Segfaults äußern.
Ich habe make clean sowie make mrproper vorher ausgeführt. Patches wurden nicht eingespielt (bei dem Kernel 2.6.16.33).
Der 2.6.19.2, wo diese Meldung ebenfalls auftrat, wurde mit grsec gepatcht.
Hab den Kernel 2.6.19.2+grsec kompiliert vorzuliegen, hab es nur testweise versucht mit gleichen Einstellungen... Resultat: negativ.
An der OVH Testkiste scheint das eine oder andere faul zu sein.
Vor allem dürfte in den Sourcen der 2.6.16.33 der VIA Treiber für
Code: Select all
IDE interface: VIA Technologies, Inc. VT8251 AHCI/SATA 4-Port
enthalten sein. Trotzdem fährt die Kiste damit nicht hoch und einen Patch aus der 2.6.18.X Serie kann ich ja nicht nehmen...
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-20 20:11
by Roger Wilco
Hast du nach dem `make mrproper` die Konfiguration neu erstellt?
Was steht eigentlich kernel/posix-cpu-timers.c in Zeile 97 und 110?
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-20 20:32
by sledge0303
Roger Wilco wrote:Hast du nach dem `make mrproper` die Konfiguration neu erstellt?
ja.
Roger Wilco wrote:
Was steht eigentlich kernel/posix-cpu-timers.c in Zeile 97 und 110?
Da steht außer einer geschweiften Klammern nichts '{' natürlich ohne '
Die Strings innerhalb der Klammern sehen so aus:
Code: Select all
Zeile 97 beginnend:
{
cputime_t res = cputime_div(time, div);
return max_t(cputime_t, res, 1);
}
Zeile 110 beginnend:
{
cputime_t res = cputime_div(time, div);
return max_t(cputime_t, res, 1);
}
Das ist ja das merkwürdige...
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-22 07:32
by captaincrunch
Ich hab mir die Sache gerade kurz angesehen:
static inline cputime_t cputime_div_non_zero(cputime_t time, unsigned long div) beginnt bei beiden, mit vorliegenden (von von de.kernel.org gezogenen) Sourcen auf Zeile 86, und kommt danach auch nicht mehr vor. Sicher, dass da nicht doch irgendwas beim patchen schief gelaufen ist? Woher hast du die Sourcen?
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-22 11:23
by sledge0303
Hi CC,
ich habe den 2.6.16.33 von Kernel.org gezogen, entpackt und
nicht gepatcht. Zumindest bei diesem genannten Fall nicht. Habe nach dem ersten Fehlschlag die entpackten Source gelöscht und anschließend wieder neu entpackt.
Gut, der 2.6.16.33 würde auf dem Kimsufi nicht laufen wegen dem VIA Treiber, siehe Unterschied:
Code: Select all
SCSI low-level drivers
[Y] Serial ATA (SATA) support (CONFIG_SCSI_SATA) tristate (Help)
[N] VIA SATA support (CONFIG_SCSI_SATA_VIA) tristate (Help)
Das wird der "verantwortliche" Treiber sein, wenn schon nicht der da oben
alleine ausreicht...:
Serial ATA (prod) and Parallel ATA (experimental) drivers
[Y] ATA device support (CONFIG_ATA) tristate (Help)
[Y] VIA SATA support (CONFIG_SATA_VIA) tristate (Help)
(Vergleich 2.6.19 und 2.6.16
Ich wollte eigentlich versuchen beide Treiber aus dem 2.6.19 in die Sourcen des 2.6.16 einzubinden. Wenn die Fehlermeldung diesbezüglich gewesen wäre, hätte ich ja einen Anhaltspunkt gehabt.
Muss aber gestehen sowas hab ich bisher noch nicht versucht und weiss auch nicht ob das so klappen würde wie gedacht...
Gruss Thomas
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-22 11:30
by captaincrunch
ich habe den 2.6.16.33 von Kernel.org gezogen, entpackt und nicht gepatcht.
...und trotzdem die o.g. Fehlermeldung? Zeig uns bitte mal Zeilen 84-120 des betreffenden Files.
Dein Vorhaben bzgl. der VIA-Module ist...sportlich. ;) Eifnaches rüberkopieren wird da mit ziemlich großer Sicherheit nicht klappen.
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-22 13:18
by sledge0303
/usr/src/linux-2.6.16.33/kernel/posix-cpu-timers.c
84-120
Code: Select all
84 } else {
85 a.cpu = cputime_sub(a.cpu, b.cpu);
86 }
87 return a;
88 }
89
90 /*
91 * Divide and limit the result to res >= 1
92 *
93 * This is necessary to prevent signal delivery starvation, when the result of
94 * the division would be rounded down to 0.
95 */
96 static inline cputime_t cputime_div_non_zero(cputime_t time, unsigned long div)
97 {
98 cputime_t res = cputime_div(time, div);
99
100 return max_t(cputime_t, res, 1);
101 }
102
103 /*
104 * Update expiry time from increment, and increase overrun count,
105 * given the current clock sample.
106 */
107 static void bump_cpu_timer(struct k_itimer *timer,
108 union cpu_time_count now)
109 {
110 int i;
111
112 if (timer->it.cpu.incr.sched == 0)
113 return;
114
115 if (CPUCLOCK_WHICH(timer->it_clock) == CPUCLOCK_SCHED) {
116 unsigned long long delta, incr;
117
118 if (now.sched < timer->it.cpu.expires.sched)
119 return;
120 incr = timer->it.cpu.incr.sched;
Ich brauche diesen Kernel für Xen 3.0.4. Habe aus den Debian Etch Paketen installiert und da sind mir einige ungereimtheiten vorgekommen:
Die domU befindet sich in einem Loopback (per dd angelegt). Ist ja eh nur zum testen gedacht, deswegen keine LVM2 Devices (vorerst) eingerichtet.
Die domU läßt sich BIS zu einem reboot jederzeit starten, stoppen usw...
Führe ich ein reboot aus, bei Nutzung des gleichen Imagescripts, gibt es eine Fehlermeldung dass das Device nicht gefunden wurde (Fehlercode 2049)
Mounte ich aber zuerst das Image mit anschließendem umount, fährt auch dieses Image mit dem Xen Initscript für dieses domU hoch...
Frag mich aber bitte nicht warum.
Würde das nicht alles so vorkommen, würde ich mir den Gedanken mit VIA Zeugs für den 2.6.16er niemals machen ... :roll:
EDIT: modprobe loop beseitigt wenigstens das letzte Problem.../EDIT
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-24 07:50
by sledge0303
Roger Wilco wrote:
Mit thermischen Problemen hat das IMHO nichts zu tun. Die würden sich eher durch sporadische Abstürze oder Segfaults äußern.
Jetzt stürzt die Kiste sporadisch und unmotiviert ab. Seit gestern Abend ab 18 Uhr bis z.Z. 7:32Uhr insgesamt 9x.
Jetzt gerade zum 10. mal ... 7:43 :roll:
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-24 10:30
by Joe User
Wenn die Logs unauffällig sind, solltest Du Dir mal mit lm_sensors die Spannungswerte des Netzteils über einen längeren Zeitraum ansehen. Jeweils eine Stunde ohne Last und unter Last im 2 Minuten-Takt sollte ausreichen. Wenn die Werte stark schwanken, ist entweder das Netzteil oder das Motherboard hinüber beziehungsweise die Kabelkontakte suboptimal. Bei mir war es das Netzteil...
Re: Fehlermeldung beim kompilieren
Posted: 2007-01-24 15:56
by sledge0303
Nein, weder noch. Ich hatte Xen aus den Etch Sourcen installiert. Da Xen standardmäßig über eine Bridge mit seinen VMs kommuniziert, ich nur eine IP Adresse habe, muss diese Bridge deaktiviert werden. Bei OVH gleicht der Switch die MAC Adressen ab und Xen erstellt eine xenbr0 sowie peth0 Schnittstelle. Über letztgenanntes Interface hat der Server versucht sich über den DNS von OVH mit dem Internet zu verbinden. MAC Adresse war dem Switch nicht bekannt und hat den Server deswegen fortlaufend aus dem Netz geschmissen.
Kleiner Flüchtigkeitsfehler - große Wirkung :roll: