dkms build error for Blackmagic driver at openSUSE Leap 15.1

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

Kai Berg

  • Posts: 1
  • Joined: Mon Oct 14, 2019 7:46 pm
  • Real Name: Kai Berg

dkms build error for Blackmagic driver at openSUSE Leap 15.1

PostMon Oct 14, 2019 9:13 pm

Hello everyone,

I would like to use a DeckLink Mini Recorder on my PC with openSUSE Leap 15.1.

Kernel is "4.12.14-lp151.28.20-default".

The PCIe DeckLink Mini Recorder was found:
Code: Select all
# lspci | grep Blackmagic
03:00.0 Multimedia video controller: Blackmagic Design DeckLink Mini Recorder


I installed Desktop Video 11.4 using desktopvideo-11.4a14.x86_64.rpm and desktopvideo-gui-11.4a14.x86_64.rpm. GUI program Desktop Video Setup starts but don't detect any device.

The driver was not loaded: # lsmod | grep blackmagic gives no output.
The dkms status gives the following outputs:
Code: Select all
# dkms status -m blackmagic -k `uname -r`
blackmagic, 11.4a14: added
# dkms status -m blackmagic-io -k `uname -r`
blackmagic-io, 11.4a14: added


But the build failed:
Code: Select all
# dkms build -m blackmagic -v 11.4a14

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.12.14-lp151.28.20-default KERNELRELEASE=4.12.14-lp151.28.20-default...(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.12.14-lp151.28.20-default (x86_64)
Consult /var/lib/dkms/blackmagic/11.4a14/build/make.log for more information.


(Same for blackmagic-io.)

Here is the /var/lib/dkms/blackmagic/11.4a14/build/make.log:
Code: Select all
DKMS make.log for blackmagic-11.4a14 for kernel 4.12.14-lp151.28.20-default (x86_64)
So 13. Okt 17:33:39 CEST 2019
make -C /lib/modules/4.12.14-lp151.28.20-default/build M=/var/lib/dkms/blackmagic/11.4a14/build
make[1]: Verzeichnis „/usr/src/linux-4.12.14-lp151.28.20-obj/x86_64/default“ wird betreten
  LD      /var/lib/dkms/blackmagic/11.4a14/build/built-in.o
  CC [M]  /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_serial.o
  CC [M]  /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_core.o
  CC [M]  /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_lib.o
  CC [M]  /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_dma.o
  CC [M]  /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.o
  SHIPPED /var/lib/dkms/blackmagic/11.4a14/build/bmd-support.o
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:91:2: error: unknown type name ‘wait_queue_t’
  wait_queue_t  wait;
  ^~~~~~~~~~~~
In file included from /usr/src/linux-4.12.14-lp151.28.20/include/linux/mmzone.h:9:0,
                 from /usr/src/linux-4.12.14-lp151.28.20/include/linux/gfp.h:5,
                 from /usr/src/linux-4.12.14-lp151.28.20/include/linux/slab.h:14,
                 from /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:32:
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c: In function ‘dl_gate_sleep’:
/usr/src/linux-4.12.14-lp151.28.20/include/linux/wait.h:1002:9: error: request for member ‘private’ in something not a structure or union
   (wait)->private = current;     \
         ^
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:301:2: note: in expansion of macro ‘init_wait’
  init_wait(&waiter.wait);
  ^~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/wait.h:1003:9: error: request for member ‘func’ in something not a structure or union
   (wait)->func = autoremove_wake_function;   \
         ^
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:301:2: note: in expansion of macro ‘init_wait’
  init_wait(&waiter.wait);
  ^~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/wait.h:1004:25: error: request for member ‘entry’ in something not a structure or union
   INIT_LIST_HEAD(&(wait)->entry);     \
                         ^
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:301:2: note: in expansion of macro ‘init_wait’
  init_wait(&waiter.wait);
  ^~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/wait.h:1005:9: error: request for member ‘flags’ in something not a structure or union
   (wait)->flags = 0;      \
         ^
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:301:2: note: in expansion of macro ‘init_wait’
  init_wait(&waiter.wait);
  ^~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:322:14: error: request for member ‘flags’ in something not a structure or union
   waiter.wait.flags &= ~WQ_FLAG_EXCLUSIVE;
              ^
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:327:30: error: request for member ‘task_list’ in something not a structure or union
   if (list_empty(&waiter.wait.task_list))
                              ^
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:328:4: error: implicit declaration of function ‘__add_wait_queue_tail’; did you mean ‘__add_wait_queue’? [-Werror=implicit-function-declaration]
    __add_wait_queue_tail(&event->wqh, &waiter.wait);
    ^~~~~~~~~~~~~~~~~~~~~
    __add_wait_queue
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:349:35: error: passing argument 2 of ‘__remove_wait_queue’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  __remove_wait_queue(&event->wqh, &waiter.wait);
                                   ^
In file included from /usr/src/linux-4.12.14-lp151.28.20/include/linux/mmzone.h:9:0,
                 from /usr/src/linux-4.12.14-lp151.28.20/include/linux/gfp.h:5,
                 from /usr/src/linux-4.12.14-lp151.28.20/include/linux/slab.h:14,
                 from /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:32:
/usr/src/linux-4.12.14-lp151.28.20/include/linux/wait.h:181:1: note: expected ‘struct wait_queue_entry *’ but argument is of type ‘int *’
 __remove_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
 ^~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:30:0:
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c: In function ‘dl_gate_wakeup’:
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:383:43: error: ‘wait_queue_head_t {aka struct wait_queue_head}’ has no member named ‘task_list’
  list_for_each_safe(tmp, next, &event->wqh.task_list)
                                           ^
/usr/src/linux-4.12.14-lp151.28.20/include/linux/list.h:472:14: note: in definition of macro ‘list_for_each_safe’
  for (pos = (head)->next, n = pos->next; pos != (head); \
              ^~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/list.h:472:25: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  for (pos = (head)->next, n = pos->next; pos != (head); \
                         ^
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:383:2: note: in expansion of macro ‘list_for_each_safe’
  list_for_each_safe(tmp, next, &event->wqh.task_list)
  ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:383:43: error: ‘wait_queue_head_t {aka struct wait_queue_head}’ has no member named ‘task_list’
  list_for_each_safe(tmp, next, &event->wqh.task_list)
                                           ^
/usr/src/linux-4.12.14-lp151.28.20/include/linux/list.h:472:50: note: in definition of macro ‘list_for_each_safe’
  for (pos = (head)->next, n = pos->next; pos != (head); \
                                                  ^~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:389:3: error: unknown type name ‘wait_queue_t’; did you mean ‘wait_event’?
   wait_queue_t* curr = list_entry(tmp, wait_queue_t, task_list);
   ^~~~~~~~~~~~
   wait_event
In file included from /usr/src/linux-4.12.14-lp151.28.20/include/linux/linkage.h:4:0,
                 from /usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:6,
                 from /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:28:
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:389:40: error: ‘wait_queue_t’ undeclared (first use in this function); did you mean ‘wait_queue_head’?
   wait_queue_t* curr = list_entry(tmp, wait_queue_t, task_list);
                                        ^
/usr/src/linux-4.12.14-lp151.28.20/include/linux/compiler.h:540:19: note: in definition of macro ‘__compiletime_assert’
   bool __cond = !(condition);    \
                   ^~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/compiler.h:563:2: note: in expansion of macro ‘_compiletime_assert’
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
  ^~~~~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/build_bug.h:44:37: note: in expansion of macro ‘compiletime_assert’
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^~~~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:891:2: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
  ^~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:891:20: note: in expansion of macro ‘__same_type’
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                    ^~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/list.h:395:2: note: in expansion of macro ‘container_of’
  container_of(ptr, type, member)
  ^~~~~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:389:24: note: in expansion of macro ‘list_entry’
   wait_queue_t* curr = list_entry(tmp, wait_queue_t, task_list);
                        ^~~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:389:40: note: each undeclared identifier is reported only once for each function it appears in
   wait_queue_t* curr = list_entry(tmp, wait_queue_t, task_list);
                                        ^
/usr/src/linux-4.12.14-lp151.28.20/include/linux/compiler.h:540:19: note: in definition of macro ‘__compiletime_assert’
   bool __cond = !(condition);    \
                   ^~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/compiler.h:563:2: note: in expansion of macro ‘_compiletime_assert’
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
  ^~~~~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/build_bug.h:44:37: note: in expansion of macro ‘compiletime_assert’
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^~~~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:891:2: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
  ^~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:891:20: note: in expansion of macro ‘__same_type’
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                    ^~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/list.h:395:2: note: in expansion of macro ‘container_of’
  container_of(ptr, type, member)
  ^~~~~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:389:24: note: in expansion of macro ‘list_entry’
   wait_queue_t* curr = list_entry(tmp, wait_queue_t, task_list);
                        ^~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:891:48: error: expected expression before ‘)’ token
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                                                ^
/usr/src/linux-4.12.14-lp151.28.20/include/linux/compiler.h:540:19: note: in definition of macro ‘__compiletime_assert’
   bool __cond = !(condition);    \
                   ^~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/compiler.h:563:2: note: in expansion of macro ‘_compiletime_assert’
  _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
  ^~~~~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/build_bug.h:44:37: note: in expansion of macro ‘compiletime_assert’
 #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                     ^~~~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:891:2: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
  ^~~~~~~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:891:20: note: in expansion of macro ‘__same_type’
  BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
                    ^~~~~~~~~~~
/usr/src/linux-4.12.14-lp151.28.20/include/linux/list.h:395:2: note: in expansion of macro ‘container_of’
  container_of(ptr, type, member)
  ^~~~~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:389:24: note: in expansion of macro ‘list_entry’
   wait_queue_t* curr = list_entry(tmp, wait_queue_t, task_list);
                        ^~~~~~~~~~
In file included from /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:28:0:
/usr/src/linux-4.12.14-lp151.28.20/include/linux/kernel.h:894:10: error: expected expression before ‘)’ token
  ((type *)(__mptr - offsetof(type, member))); })
          ^
/usr/src/linux-4.12.14-lp151.28.20/include/linux/list.h:395:2: note: in expansion of macro ‘container_of’
  container_of(ptr, type, member)
  ^~~~~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:389:24: note: in expansion of macro ‘list_entry’
   wait_queue_t* curr = list_entry(tmp, wait_queue_t, task_list);
                        ^~~~~~~~~~
/var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.c:395:11: error: request for member ‘func’ in something not a structure or union
   if (curr->func(curr, TASK_NORMAL, 0, NULL))
           ^~
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/linux-4.12.14-lp151.28.20/scripts/Makefile.build:323: /var/lib/dkms/blackmagic/11.4a14/build/blackmagic_gate.o] Fehler 1
make[3]: *** [/usr/src/linux-4.12.14-lp151.28.20/Makefile:1569: _module_/var/lib/dkms/blackmagic/11.4a14/build] Fehler 2
make[2]: *** [Makefile:152: sub-make] Fehler 2
make[1]: *** [Makefile:24: __sub-make] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-4.12.14-lp151.28.20-obj/x86_64/default“ wird verlassen
make: *** [Makefile:43: all] Fehler 2


What I have noticed: There ist an error for "blackmagic_gate.c" in the log. And there are all the *.o files in /var/lib/dkms/blackmagic/11.4a14/build/ but not the "blackmagic_gate.o"!

I myself can't interpret the errors. Is there anyone have a thought to get the driver module working?

Thank you in advance,
Kai
Offline

tashi.hope

  • Posts: 3
  • Joined: Thu Jul 07, 2022 12:04 pm
  • Real Name: Tashi Hope

Re: dkms build error for Blackmagic driver at openSUSE Leap

PostMon Jul 11, 2022 10:08 pm

Did ya ever figure this out?

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 13 guests