desktopvideo_10.7a18_amd64.deb wont build on 4.6 kernel

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

Dave Anderson

  • Posts: 2
  • Joined: Sun Jul 03, 2016 4:29 pm

desktopvideo_10.7a18_amd64.deb wont build on 4.6 kernel

PostSun Jul 03, 2016 4:44 pm

Hello,
trying to install desktopvideo_10.7a18_amd64.deb on a Debian Sid box with current Liquorix kernel 4.6-2.dmz.2-liquorix-amd64. Cannot get it to build module. Doesn't work on current debian vanilla kernel 4.6.0-1-amd64 either..

See attached log file

any help appreciated...

Code: Select all
DKMS make.log for blackmagic-io-10.7a18 for kernel 4.6-2.dmz.2-liquorix-amd64 (x86_64)
Sun Jul  3 11:22:01 CDT 2016
make -C /lib/modules/4.6-2.dmz.2-liquorix-amd64/build M=/var/lib/dkms/blackmagic-io/10.7a18/build
make[1]: Entering directory '/usr/src/linux-headers-4.6-2.dmz.2-liquorix-amd64'
  LD      /var/lib/dkms/blackmagic-io/10.7a18/build/built-in.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_client.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_dev.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_device.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_driver.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_serial.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_export.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_pci_ids.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bm_locks.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bmio_audio.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bm_util.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bm_pci.o
  CC [M]  /var/lib/dkms/blackmagic-io/10.7a18/build/bm_mm.o
/var/lib/dkms/blackmagic-io/10.7a18/build/bm_mm.c: In function ‘bm_get_user_pages’:
/var/lib/dkms/blackmagic-io/10.7a18/build/bm_mm.c:113:24: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
   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.7a18/build/bm_mm.c:27:0:
include/linux/mm.h:1288: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.7a18/build/bm_mm.c:113:30: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
   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.7a18/build/bm_mm.c:27:0:
include/linux/mm.h:1288: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.7a18/build/bm_mm.c:113:90: 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.7a18/build/bm_mm.c:27:0:
include/linux/mm.h:1288:6: note: expected ‘struct page **’ but argument is of type ‘bool {aka _Bool}’
 long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^
/var/lib/dkms/blackmagic-io/10.7a18/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.7a18/build/bm_mm.c:27:0:
include/linux/mm.h:1288: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.7a18/build/bm_mm.o' failed
make[2]: *** [/var/lib/dkms/blackmagic-io/10.7a18/build/bm_mm.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:1446: recipe for target '_module_/var/lib/dkms/blackmagic-io/10.7a18/build' failed
make[1]: *** [_module_/var/lib/dkms/blackmagic-io/10.7a18/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.6-2.dmz.2-liquorix-amd64'
Makefile:47: recipe for target 'all' failed
make: *** [all] Error 2
Offline

Nicholas Gill

Blackmagic Design

  • Posts: 169
  • Joined: Mon May 04, 2015 10:28 pm

Re: desktopvideo_10.7a18_amd64.deb wont build on 4.6 kernel

PostThu Jul 07, 2016 6:03 am

Hi Dave,

Thanks for providing the DKMS build logs.

The errors shown match an existing ticket which describes issues building the DeckLink modules on Linux 4.6+, and a correction for this issue will be available in a future Desktop Video release.

While this issue is addressed I recommend using an earlier kernel version in order to continue using the DeckLink devices.

Sincerely,

-nick
Offline

Dave Anderson

  • Posts: 2
  • Joined: Sun Jul 03, 2016 4:29 pm

Re: desktopvideo_10.7a18_amd64.deb wont build on 4.6 kernel

PostSat Jul 09, 2016 4:24 am

Thank You, Sir!
Offline

Klee Dienes

  • Posts: 1
  • Joined: Sat Aug 13, 2016 3:44 pm

Re: desktopvideo_10.7a18_amd64.deb wont build on 4.6 kernel

PostSat Aug 13, 2016 3:48 pm

The following patch has worked for my use cases:

Code: Select all
diff --git a/usr/src/blackmagic-10.7.1a9/blackmagic_lib.c b/usr/src/blackmagic-10.7.1a9/blackmagic_lib.c
index 8505259..4886c4e 100644
--- a/usr/src/blackmagic-10.7.1a9/blackmagic_lib.c
+++ b/usr/src/blackmagic-10.7.1a9/blackmagic_lib.c
@@ -55,6 +55,11 @@
 #include <asm/io.h>
 #include <asm/uaccess.h>
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+#define get_user_pages get_user_pages_remote
+#define page_cache_release put_page
+#endif
+
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
        #include <asm/fpu/api.h>
 #else
diff --git a/usr/src/blackmagic-io-10.7.1a9/bm_mm.c b/usr/src/blackmagic-io-10.7.1a9/bm_mm.c
index b6b1453..6c85aa9 100644
--- a/usr/src/blackmagic-io-10.7.1a9/bm_mm.c
+++ b/usr/src/blackmagic-io-10.7.1a9/bm_mm.c
@@ -34,6 +34,11 @@
 #include "bm_mm.h"
 #include "bm_util.h"
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+#define get_user_pages get_user_pages_remote
+#define page_cache_release put_page
+#endif
+
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0)
        #include <asm/smap.h>
 #else

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 12 guests