Compileer probleem

Pagina: 1
Acties:

  • Whizzer
  • Registratie: November 2000
  • Laatst online: 06-05 12:10
Pfoe... Ik zou haast willen zeggen: Laat mij maar netwerk-man blijven....

Maarja, soms moet je dus wel eens wat meer...

Ok, verhaal + probleem:
Ik heb pas geleden een Adaptec ANA-6944A/TX gekregen. Dat is een pci quad fastethernet kaart welke tot en met de 2.2 kernel perfect werkte. Echter draai ik Redhat 7.2 met Checkpoint FW-1. Om dit te kunnen moet je de redhat rpm kernel-2.4.9-31.rpm hebben draaien. Indien je 2.4.7-10 (standaard) of 2.4.18-vanalles (nieuwere) installeert, dan start checkpoint niet meer en da's toch ook jammer.

Maar in de nieuwe 2.4 kernel zit een foutje in de tulip driver die deze kaart aanspreekt. Nu is er iemand die hier aangeeft wat je moet doen.

Ook zag ik ergens een link staan i.v.m. dit probleem naar http://www.scyld.com Deze heeft niet de tulip_core.c file, maar wel een tulip.c waar die statement in de vorige link staat, maar niet op de juiste regel.

Als ik echter wil gaan compileren zoals in de laatste paar regels van die tulip.c staat, dan krijg ik een berg foutmeldingen waar je akelig van wordt. Ik heb overigens daar deze tutorial voor gebruikt. Waarschijnlijk dus omdat ik de kernel-source rpm van die 2.4.9-31 niet heb geïnstalleerd.

Maarja, ik kan nergens meer die rpm vinden, dus die installeren lukt me niet. Hij is al weg bij rpmfind en allerlei andere sites welke rpm's hebben...

En hier stopt ook mijn kennis qua compileren/programmeren/.....

Simpel gezegd dus: Hoe kan ik dit nu het beste oplossen? Het zou toch wel erg 'nice to have' zijn om die quad-kaart draaiend te krijgen op mijn linux doos zonder dat ik dat ding mag gaan voorzien van Redhat 7.0 met 2.2 kernel...

Ik ben geweldig.. en bescheiden! En dat siert me...


Verwijderd

Een beetje zoeken met google (5 minuten werk) leverde deze werkende link op: http://mirror.dulug.duke....S/kernel-2.4.9-31.src.rpm

Trouwens wel heel erg vreemd dat checkpoint zo erg afhankelijk van de kernel versie is.

[ Voor 22% gewijzigd door Verwijderd op 11-02-2003 20:10 ]


  • Whizzer
  • Registratie: November 2000
  • Laatst online: 06-05 12:10
Hmmm, ik heb mezelf echt een breuk lopen zoeken op google, maar kon 'm niet vinden...

En tja, het is en blijft checkpoint... leuk product, maarja, altijd veel gekloot... Ik ga even kloten en of het lukt of niet, ik laat wat weten...

Ik ben geweldig.. en bescheiden! En dat siert me...


Verwijderd

en redhat 7.0 moet je sowiezo zeker NOOIT DOEN......'t is een zeeeer brakke linux versie....(o.a. foute gcc versie) 7.0 is de aller slechtste redhat versie die er is

  • Whizzer
  • Registratie: November 2000
  • Laatst online: 06-05 12:10
Daarom wil ik ook niet naar redhat 7.0... Ik zag trouwens dat balou een linkje had gegeven naar de src.rpm i.pv. normale rpms, maar die staan er gelukkig valkbij!

Ik ben geweldig.. en bescheiden! En dat siert me...


Verwijderd

Waarschijnlijk dus omdat ik de kernel-source rpm van die 2.4.9-31 niet heb geïnstalleerd.
Ik ging er door deze zin ook vanuit dat je source rpms zocht, ook omdat je zelf aan het compilen was geslagen. Anyway, je hebt toch gevonden wat je zocht.

  • Whizzer
  • Registratie: November 2000
  • Laatst online: 06-05 12:10
Sorry balou, misschien ben ik een beetje onduidelijk geweest, maar toch bedankt voor die linkjes....

Inmiddels is dit dus gelijk getrokken, maar de foutmeldingen zijn helaas niet weg... shit shit shit...

Maaaaaaaar: Alles is nu van gelijk niveau (2.4.9-31) en in de directory /usr/src/linux-2.4.9-31/drivers/net/tulip/ staat ook de tulip.c met ook hier een aanpassing die ik kan maken..

Dat heb ik nu dus gedaan, maar nu wil ik toch die module eens gaan bakken, alleen heb ik geen flauw idee hoe ik dit moet gaan doen... In die directory staat een mooie Makefile die er als volgt uit ziet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#
# Makefile for the Tulip ethernet driver
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definitions are now in the main makefile...

O_TARGET := tulip.o

obj-y   := eeprom.o interrupt.o media.o \
           timer.o tulip_core.o         \
           21142.o pnic.o
obj-m   := $(O_TARGET)

include $(TOPDIR)/Rules.make


Dan begint ie te zeggen ddat ie TOPDIR niet kan vinden en daar kan ik dan nog best inkomen. Blijkbaar staat Rules.make in /usr/src/linux-2.4.9-31/ en heb dus even die "include $(TOPDIR)/Rules.make" vervangen door "include /usr/src/linux-2.4.9-31/Rules.make". Dan is dat probleem over, maar zijn de meldingen nog echt niet over... Een kleine greep:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
eeprom.c:139: dereferencing pointer to incomplete type
eeprom.c:141: `u16' undeclared (first use in this function)
eeprom.c:141: parse error before `)'
eeprom.c:145: parse error before string constant
eeprom.c:153: parse error before string constant
eeprom.c:161: parse error before `media'
eeprom.c:164: dereferencing pointer to incomplete type
eeprom.c:171: `KERN_WARNING' undeclared (first use in this function)
eeprom.c:171: parse error before string constant
eeprom.c:171: dereferencing pointer to incomplete type
eeprom.c:171: parse error before `)'
eeprom.c:176: sizeof applied to an incomplete type
eeprom.c:176: sizeof applied to an incomplete type
eeprom.c:177: `GFP_KERNEL' undeclared (first use in this function)
eeprom.c:180: dereferencing pointer to incomplete type
eeprom.c:181: dereferencing pointer to incomplete type
eeprom.c:182: dereferencing pointer to incomplete type
eeprom.c:183: dereferencing pointer to incomplete type
eeprom.c:184: dereferencing pointer to incomplete type


Moet ik nu de hele kernel opnieuw compileren? Of is er een mogelijkheid dat ik alleen deze module compileer??? Zoals ik al zei ben ik hier niet echt (lees: echt niet) een held in...

Uhm... Help?

[ Voor 58% gewijzigd door Whizzer op 11-02-2003 21:11 ]

Ik ben geweldig.. en bescheiden! En dat siert me...


Verwijderd

welke kernel versie draai je nu op die machine? Kun je controleren met uname -a

Heb je ook wel een symlink aangemaakt van /usr/src/linux naar de dir waar je kernelsource staat? (/usr/src/linux-2.4.9-31/ in jouw geval). Kan ook zijn dat Redhat een symlink vereist van linux-2.4 naar je kernel dir, maar dat weet ik niet meer zeker. Standaard is het altijd linux.

[ Voor 65% gewijzigd door Verwijderd op 11-02-2003 21:24 ]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:50
Je gaat dus een oude redhat draaien met een stokoude kernel met brakke VM om een commerciele firewall te draaien :?

Dat checkpoint is echt stokoud aan de system requirements te zien: Win2K SP2, Redhat 6.2,7.0 of 7.2... :X

Persoonlijk zou ik naar iets nieuwers stappen dan 2.4.9 en gewoon met iptables zelf gaan klussen.

  • Wilke
  • Registratie: December 2000
  • Laatst online: 22:17
_JGC_ schreef op 11 February 2003 @ 21:43:
Je gaat dus een oude redhat draaien met een stokoude kernel met brakke VM om een commerciele firewall te draaien :?

Dat checkpoint is echt stokoud aan de system requirements te zien: Win2K SP2, Redhat 6.2,7.0 of 7.2... :X

Persoonlijk zou ik naar iets nieuwers stappen dan 2.4.9 en gewoon met iptables zelf gaan klussen.


* Wilke kon het er niet meer mee eens zijn.

Er zijn op internet wel 'standaard' scripts te vinden om te firewallen/routen/bridgen, als het je te ingewikkeld is om helemaal zelf uit te vogelen. Of heeft Checkpoint specifieke features die jullie nodig hebben ofzo?

  • Whizzer
  • Registratie: November 2000
  • Laatst online: 06-05 12:10
code:
1
2
3
4
5
6
7
8
[root@tommie /]# uname -a
Linux tommie.sesamstraat.intra 2.4.9-31 #1 Tue Feb 26 06:53:37 EST 2002 i686 unknown
[root@tommie /]# ls -l /usr/src
total 8
lrwxrwxrwx    1 root     root           14 Feb 12 10:21 linux -> linux-2.4.9-31
lrwxrwxrwx    1 root     root           14 Feb 11 20:58 linux-2.4 -> linux-2.4.9-31
drwxr-xr-x   16 root     root         4096 Feb 12 10:21 linux-2.4.9-31
drwxr-xr-x    7 root     root         4096 Feb 11 19:05 redhat


Dat lijkt mij redelijk in orde.... Maar het lukt dus niet...

_JGC_ : Checkpoint is niet echt bepaald stokoud, sterker nog, de versie die ik heb draaien is slechts 2 maanden uit ofzo.... Dat Checkpoint nog niet op 8.0 gesupport wordt wil nog niet zeggen dat het een oud product is, echter wordt het ontwikkeld op Solaris (9 werd al na 2 maanden gesupport) en wordt geport naar andere omgevingen. Geloof mij maar, het is echt geen oud product...

O en Wilke, Checkpoint heeft inderdaad features die wij nodig hebben...

Ik ben geweldig.. en bescheiden! En dat siert me...


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 07:50
Whizzer schreef op 12 February 2003 @ 10:27:
code:
1
2
3
4
5
6
7
8
[root@tommie /]# uname -a
Linux tommie.sesamstraat.intra 2.4.9-31 #1 Tue Feb 26 06:53:37 EST 2002 i686 unknown
[root@tommie /]# ls -l /usr/src
total 8
lrwxrwxrwx    1 root     root           14 Feb 12 10:21 linux -> linux-2.4.9-31
lrwxrwxrwx    1 root     root           14 Feb 11 20:58 linux-2.4 -> linux-2.4.9-31
drwxr-xr-x   16 root     root         4096 Feb 12 10:21 linux-2.4.9-31
drwxr-xr-x    7 root     root         4096 Feb 11 19:05 redhat


Dat lijkt mij redelijk in orde.... Maar het lukt dus niet...

_JGC_ : Checkpoint is niet echt bepaald stokoud, sterker nog, de versie die ik heb draaien is slechts 2 maanden uit ofzo.... Dat Checkpoint nog niet op 8.0 gesupport wordt wil nog niet zeggen dat het een oud product is, echter wordt het ontwikkeld op Solaris (9 werd al na 2 maanden gesupport) en wordt geport naar andere omgevingen. Geloof mij maar, het is echt geen oud product...

O en Wilke, Checkpoint heeft inderdaad features die wij nodig hebben...
Redhat 7.3 wordt anders nog niet ondersteund, toch ook al een bejaarde distro.

Wat heb je precies allemaal nodig van dat Checkpoint?

  • Whizzer
  • Registratie: November 2000
  • Laatst online: 06-05 12:10
Het VPN gedeelte... gaat namelijk tussen een paar checkpoints onderling....

Die Checkpoint kan er gewoonweg niet tussenuit... Liever m'n quadkaart niet gebruiken dan die Checkpoint ertussenuit...

Redhat 7.3 gaat ook niet gesupport worden overigens....

Maar volgens mij is dit een heel andere discussie, ik wil gewoon die module compileren, maar dat lukt me niet... :(

Ik ben geweldig.. en bescheiden! En dat siert me...


Verwijderd

Ok, ik heb gezien dat je dezelfde versie kernel draait. Ligt het er nog even aan of je die kernel via een rpm hebt geinstalleerd of al eerder vanaf source hebt gecompiled.

Ik denk dat je hem via een rpm hebt geinstalleerd en dat houdt dat in dat je source nog geen bijgewerkte kernel config heeft voor jouw configuratie. In dat geval wordt het dus eerst menuconfig draaien en alle kernel opties goed instellen. Daarna: make dep && make clean bzImage modules modules_install.
Vervolgens de kernel installeren door eerst eventueel een oude bzImage uit /boot te hernoemen (anders overschrijf je de oude kernel!) naar bijvoorbeeld bzImage.orig en dan met cp /usr/src/linux/arch/i386/boot/bzImage /boot de nieuwe kernel op zijn plaats te zetten. Sommige distro's verwachten de kernel ook in /, maar dat moet je zelf maar even bekijken.
Vervolgens je bootloader config editten. Geen idee of je grub of lilo gebruikt. Als dan alles goed staat rebooten. (laat ook zeker je oude kernel als boot optie staan mocht je nieuwe kernel niet booten!!!)

Optie 2 is als je kernel al wel goed geconfigureerd is. Dan hoef je alleen de betreffende module in de kernel aan te zetten. Config saven en een make modules && make modules_install draaien. Dan depmod draaien en met modprobe <module naam> de module laden.

Bij beide opties moet je ook nog /etc/modules.conf aanpassen zodat de module ook bij boot wordt geladen.

Dit is even een snelle handleiding. Hier en daar kan Redhat ietsje afwijken. Kijk maar hoever je hiermee komt en als je nog vragen hebt dan horen we het wel.

[ Voor 5% gewijzigd door Verwijderd op 12-02-2003 12:03 ]

Pagina: 1