[MEGOLDVA] Decklink kártya driver fordítási hiba

Fórumok

Sziasztok!

Egy 4.6.3-es kernellel rendelkező Debian 8-as gépre kellene egy decklink kártyát feltelepítenem, de már a driver fordításánál elhasal a dolog.


root@headend:~/install/decklink/Blackmagic_Desktop_Video_Linux_10.6.8/deb/amd64# dpkg -i desktopvideo_10.6.8a2_amd64.deb
(Reading database ... 65130 files and directories currently installed.)
Preparing to unpack desktopvideo_10.6.8a2_amd64.deb ...
Stopping systemd services...
  DesktopVideoHelper
Disabling systemd services...
  DesktopVideoHelper
Unloading modules...
Removing old drivers...
  blackmagic
  blackmagic-io
Unpacking desktopvideo (10.6.8a2) over (10.6.8a2) ...
Setting up desktopvideo (10.6.8a2) ...
Preparing new blackmagic driver for 4.6.3 kernel...
  Adding to DKMS
  Building (failed)
Preparing new blackmagic-io driver for 4.6.3 kernel...
  Adding to DKMS
  Building (failed)
Loading modules...
Enabling systemd services...
  DesktopVideoHelper
Starting systemd services...
  DesktopVideoHelper
********************************************************************************
Failed to build driver(s)

Possible causes:
 1. Driver is incompatible with your kernel version
 2. Kernel headers/gcc/make/etc. is not installed
 3. Kernel header version does not match the running kernel (4.6.3)

Error messages:
dkms build -m blackmagic -v 10.6.8a2
---

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=4.6.3 KERNELRELEASE=4.6.3....(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.6.3 (x86_64)
Consult /var/lib/dkms/blackmagic/10.6.8a2/build/make.log for more information.

dkms build -m blackmagic-io -v 10.6.8a2
---

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=4.6.3 KERNELRELEASE=4.6.3....(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.6.3 (x86_64)
Consult /var/lib/dkms/blackmagic-io/10.6.8a2/build/make.log for more information.


********************************************************************************
Processing triggers for man-db (2.7.0.2-5) ...
Processing triggers for systemd (215-17+deb8u4) ...
Processing triggers for libc-bin (2.19-18+deb8u4) ...
root@headend:~/install/decklink/Blackmagic_Desktop_Video_Linux_10.6.8/deb/amd64#

A log tartalma:

root@headend:~/install/decklink/Blackmagic_Desktop_Video_Linux_10.6.8/deb/amd64# cat /var/lib/dkms/blackmagic-io/10.6.8a2/build/make.log
DKMS make.log for blackmagic-io-10.6.8a2 for kernel 4.6.3 (x86_64)
Tue Jun 28 15:42:22 CEST 2016
make -C /lib/modules/4.6.3/build M=/var/lib/dkms/blackmagic-io/10.6.8a2/build
make[1]: Entering directory '/usr/src/linux-4.6.3'
  LD      /var/lib/dkms/blackmagic-io/10.6.8a2/build/built-in.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bmio_client.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bmio_dev.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bmio_device.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bmio_driver.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bmio_serial.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bmio_export.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bmio_pci_ids.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_locks.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.o
/var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c: In function 'bm_get_user_pages':
/var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:113:24: warning: passing argument 1 of 'get_user_pages' makes integer from pointer without a cast
   ret = get_user_pages(task, task->mm, (unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
                        ^
In file included from /var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:27:0:
include/linux/mm.h:1266:6: note: expected 'long unsigned int' but argument is of type 'struct task_struct *'
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
/var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:113:30: warning: passing argument 2 of 'get_user_pages' makes integer from pointer without a cast
   ret = get_user_pages(task, task->mm, (unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
                              ^
In file included from /var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:27:0:
include/linux/mm.h:1266:6: note: expected 'long unsigned int' but argument is of type 'struct mm_struct *'
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
/var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:113:9: error: incompatible type for argument 5 of 'get_user_pages'
   ret = get_user_pages(task, task->mm, (unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
         ^
In file included from /var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:27:0:
include/linux/mm.h:1266:6: note: expected 'struct page **' but argument is of type 'bool'
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
/var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:113:9: error: too many arguments to function 'get_user_pages'
   ret = get_user_pages(task, task->mm, (unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
         ^
In file included from /var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.c:27:0:
include/linux/mm.h:1266:6: note: declared here
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
scripts/Makefile.build:291: recipe for target '/var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.o' failed
make[2]: *** [/var/lib/dkms/blackmagic-io/10.6.8a2/build/bm_mm.o] Error 1
Makefile:1429: recipe for target '_module_/var/lib/dkms/blackmagic-io/10.6.8a2/build' failed
make[1]: *** [_module_/var/lib/dkms/blackmagic-io/10.6.8a2/build] Error 2
make[1]: Leaving directory '/usr/src/linux-4.6.3'
Makefile:47: recipe for target 'all' failed
make: *** [all] Error 2
root@headend:~/install/decklink/Blackmagic_Desktop_Video_Linux_10.6.8/deb/amd64#

Ha a 'gyári' 3.16.0-ás kernellel indítom a rendszert és úgy próbálom telepíteni akkor hiba nélkül lefordul.
Mit rontottam el?

----
A megoldás: 4.5.7-es kernellel lefordul és működik is.
A végleges megoldás az lesz amikor javítják magát a drivert is.

Hozzászólások

Változott a kernel api. Semmi különös, használd a gyári kernelt...

Vagy javítsd ki a kódot...

Ha csak emiatt hasal el annyira lehet nem bonyi:

Volt:


long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
                     unsigned long start, unsigned long nr_pages,
                     int write, int force, struct page **pages,
                     struct vm_area_struct **vmas);

Lett:


long get_user_pages(unsigned long start, unsigned long nr_pages,
                             int write, int force, struct page **pages,
                             struct vm_area_struct **vmas);

Azaz az első két paraméter már nem kell neki.

Kicsit régebbi 4.5.7-es kernellel lefordult, és elsőre működik is. A gyártó felé jeleztem a problémát, tehát elvileg lesz újabb verzió.
-------------------
http://streamstat.hu/ - A legtöbb magyar rádió és TV egy helyen!