Hallo zusammen,
ich bin seit ca. 2 Tagen dabei und versuche den DVB Treiber auf meinem frisch installierten und up2date gemachten RH9.0 System (22.4.20-20.9custom) zu compilieren. Irgendwie treibts mich aufgrund meiner eigenen blödheit offenbar zum wahnsinn.
Nun habe ich alles zusammengebastelt und diverse versuche mit änderungen an den Makefiles durchgeführt, bin aber zu keinem vernünftigen Ergebniss gekommen. Los ging es nach dem ich den Makefile aufgerufen habe mit
[root@dvbsvr linux-dvb.2003-09-05]# make
cat: CVS/Root: No such file or directory
(cd driver; make)
make[1]: Entering directory `/usr/local/src/linux-dvb.2003-09-05/driver'
Makefile:102: /lib/modules/2.4.20-20.9custom/build/Rules.make: No such file or directory
make[1]: *** No rule to make target `/lib/modules/2.4.20-20.9custom/build/Rules.make'. Stop.
make[1]: Leaving directory `/usr/local/src/linux-dvb.2003-09-05/driver'
make: *** [dvb] Error 2
soweit noch nachvollziehbar, da ja in INSTALL steht das der Pfad an die Kernel-Location angepasst werden muß...
aaaalllsoooo...
im Makefile unter ./driver folgendes gebastelt
export KERNEL_LOCATION = /lib/modules/linux-$(KERNEL_VERSION)/build
ersetzt gegen:
export KERNEL_LOCATION = /usr/src/linux
nun aber nach erneutem make zwar ein Stück weiter aber nicht auf den Hund gekommen. der Symlink /usr/src/linux zeigt natürlich auf /usr/src/linux-2.4.20-20.9custom.
Ergebnis nun:
[root@dvbsvr driver]# make
/usr/src/linux/scripts/pathdown.sh: line 4: TOPDIR: parameter null or not set
DIR=`pwd`; (cd /usr/src/linux; make SUBDIRS=$DIR modules)
make[1]: Entering directory `/usr/src/linux-2.4.20-20.9custom'
make -r -f tmp_include_depends all
make[2]: Entering directory `/usr/src/linux-2.4.20-20.9custom'
make[2]: *** No rule to make target `/usr/src/linux-2.4.20-20.9/include/linux/stddef.h', needed by `/usr/src/linux-2.4.20-20.9/include/linux/posix_types.h'. Stop.
make[2]: Leaving directory `/usr/src/linux-2.4.20-20.9custom'
make[1]: *** [tmp_include_depends] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.20-20.9custom'
make: *** [here] Error 2
Nun auch noch nachvollziehbar, aber langsam steige ich aus klar das er "/usr/src/linux-2.4.20-20.9/include/linux/stddef.h" nicht finden kann. Also nächster Symlink:
Jetzt wirds insofern lustig, da ich jetzt unter /usr/src erstmal ein linux-2.4.20-20.9 directory anlegen müßte
um dann irgendwann mal mir alle möglichen Symlinks zusammenzubasteln. Um die riesen geschichte hierbei kurz zu machen scheitert selbst dieser versuch beim 3. Schritt, nämlich wenn ich versuche mit die stringify,h herzulinken - die gibt es nämlich auf meinem system zwar und sie wird von spinlock.h gewollt
also der nächste Schuß in die Sch...e: ln -s ... und so weiter bis ich endlich unter /usr/src/linux-2.4-20-20-9 den gesymlinkten kram von linux-2.4.20-20.9custom abgebildet habe.
Somit dann gleich der bruteforce angriff: ln -s /usr/src/linux-2.4.20-20.9custom /usr/src/linux-2.4.20-20.9.
Das hilft dann scheinbar, scheinbar weils bis dahin kommt:
In file included from saa7146_core.c:37:
../compat.h:37:1: warning: "video_usercopy" redefined
In file included from /usr/src/linux-2.4.20-20.9custom/include/linux/modversions.h:302,
from <command line>:1:
/usr/src/linux-2.4.20-20.9custom/include/linux/modules/videodev.ver:10:1: warning: this is the location of the previous definition
In file included from saa7146_core.c:37:
../compat.h:62:1: warning: "video_devdata" redefined
In file included from /usr/src/linux-2.4.20-20.9custom/include/linux/modversions.h:302,
from <command line>:1:
/usr/src/linux-2.4.20-20.9custom/include/linux/modules/videodev.ver:8:1: warning: this is the location of the previous definition
saa7146_core.c: In function `saa7146_core_command':
saa7146_core.c:378: warning: passing arg 1 of `remap_page_range_Rc414bdc2' makes pointer from integer without a cast
saa7146_core.c:378: incompatible type for argument 4 of `remap_page_range_Rc414bdc2'
saa7146_core.c:378: too few arguments to function `remap_page_range_Rc414bdc2'
make[4]: *** [saa7146_core.o] Error 1
make[4]: Leaving directory `/usr/local/src/linux-dvb.2003-09-05/driver/av7110'
make[3]: *** [_modsubdir_av7110] Error 2
make[3]: Leaving directory `/usr/local/src/linux-dvb.2003-09-05/driver'
make[2]: *** [_mod_/usr/local/src/linux-dvb.2003-09-05/driver] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.20-20.9custom'
make[1]: *** [here] Error 2
make[1]: Leaving directory `/usr/local/src/linux-dvb.2003-09-05/driver'
make: *** [dvb] Error 2
Nun hoffe ich das mich alle auslachen und wünsche aufrichtig viel Spass dabei, aber vielleicht ist da ja einer dabei der eine gewisse liebe zur Menschheit entwickelt hat, was zugegebenermaßen schwer genug ist, und hilft mir auf die Sprünge.
Mit besten Grüßen,
cdjw