Can't compile blackmagic module on kernel 6.13

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

goldyfruit

  • Posts: 45
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Can't compile blackmagic module on kernel 6.13

PostWed Jan 29, 2025 2:04 pm

Hi,

I installed Desktop Video 14.4.1 on openSUSE Tumbleweeb but it doesn't compile the module on kernel 6.13. Kernel 6.12 was working fine.

Here is the log of DKMS.

Code: Select all
> cat /var/lib/dkms/blackmagic/14.4.1a4/build/make.log
DKMS make.log for blackmagic/14.4.1a4 for kernel 6.13.0-1-default (x86_64)
Wed Jan 29 09:02:33 AM EST 2025
touch .bmd-support.o.cmd
make -C /lib/modules/6.13.0-1-default/build M=/var/lib/dkms/blackmagic/14.4.1a4/build
make[1]: Entering directory '/usr/src/linux-6.13.0-1-obj/x86_64/default'
make[2]: Entering directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
  CC [M]  blackmagic_serial.o
  CC [M]  blackmagic_core.o
  CC [M]  blackmagic_lib.o
  CC [M]  blackmagic_dma.o
make[4]: *** No rule to make target 'bmd-support.o', needed by 'blackmagic.o'.  Stop.
make[4]: *** Waiting for unfinished jobs....
  CC [M]  blackmagic_gate.o
blackmagic_gate.c:107:25: warning: no previous prototype for ‘dl_alloc_gate’ [-Wmissing-prototypes]
  107 | struct blackmagic_gate *dl_alloc_gate(void)
      |                         ^~~~~~~~~~~~~
blackmagic_gate.c:130:6: warning: no previous prototype for ‘dl_free_gate’ [-Wmissing-prototypes]
  130 | void dl_free_gate(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~
blackmagic_gate.c:135:6: warning: no previous prototype for ‘dl_gate_set_device’ [-Wmissing-prototypes]
  135 | void dl_gate_set_device(struct blackmagic_gate *gate, void *dev)
      |      ^~~~~~~~~~~~~~~~~~
blackmagic_gate.c:175:14: warning: no previous prototype for ‘dl_gate_lock’ [-Wmissing-prototypes]
  175 | void __sched dl_gate_lock(struct blackmagic_gate *gate)
      |              ^~~~~~~~~~~~
blackmagic_gate.c:184:6: warning: no previous prototype for ‘dl_gate_lock_interrupt’ [-Wmissing-prototypes]
  184 | bool dl_gate_lock_interrupt(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_gate.c:241:6: warning: no previous prototype for ‘dl_gate_unlock’ [-Wmissing-prototypes]
  241 | void dl_gate_unlock(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~
blackmagic_gate.c:295:5: warning: no previous prototype for ‘dl_gate_sleep’ [-Wmissing-prototypes]
  295 | int dl_gate_sleep(struct blackmagic_gate *gate, void* key)
      |     ^~~~~~~~~~~~~
blackmagic_gate.c:366:6: warning: no previous prototype for ‘dl_gate_wakeup’ [-Wmissing-prototypes]
  366 | void dl_gate_wakeup(struct blackmagic_gate *gate, void* key)
      |      ^~~~~~~~~~~~~~
blackmagic_serial.c:374:6: warning: no previous prototype for ‘blackmagic_serial_tx_interrupt’ [-Wmissing-prototypes]
  374 | void blackmagic_serial_tx_interrupt(void *driver, int continue_tx)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:97:1: warning: no previous prototype for ‘blackmagic_find_device_by_minor’ [-Wmissing-prototypes]
   97 | blackmagic_find_device_by_minor(int minor)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:116:1: warning: no previous prototype for ‘blackmagic_find_device_by_id’ [-Wmissing-prototypes]
  116 | blackmagic_find_device_by_id(int id)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:134:27: warning: no previous prototype for ‘blackmagic_find_device_by_ptr’ [-Wmissing-prototypes]
  134 | struct blackmagic_device *blackmagic_find_device_by_ptr(void *ptr)
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:573:5: warning: no previous prototype for ‘blackmagic_serial_probe’ [-Wmissing-prototypes]
  573 | int blackmagic_serial_probe(struct blackmagic_device *ddev, struct device *dev)
      |     ^~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:608:6: warning: no previous prototype for ‘blackmagic_serial_remove’ [-Wmissing-prototypes]
  608 | void blackmagic_serial_remove(struct blackmagic_device *ddev)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:616:12: warning: no previous prototype for ‘blackmagic_serial_init’ [-Wmissing-prototypes]
  616 | int __init blackmagic_serial_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:661:13: warning: no previous prototype for ‘blackmagic_serial_exit’ [-Wmissing-prototypes]
  661 | void __exit blackmagic_serial_exit(void)
      |             ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:373:1: warning: no previous prototype for ‘blackmagic_create_device’ [-Wmissing-prototypes]
  373 | blackmagic_create_device(struct pci_dev *pdev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:439:1: warning: no previous prototype for ‘blackmagic_destroy_device’ [-Wmissing-prototypes]
  439 | blackmagic_destroy_device(struct blackmagic_device *ddev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_lib.c:569:5: warning: no previous prototype for ‘dl_thread_wrapper’ [-Wmissing-prototypes]
  569 | int dl_thread_wrapper(void *data)
      |     ^~~~~~~~~~~~~~~~~
make[3]: *** [/usr/src/linux-6.13.0-1/Makefile:2012: .] Error 2
make[2]: *** [/usr/src/linux-6.13.0-1/Makefile:251: __sub-make] Error 2
make[2]: Leaving directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
make[1]: *** [../../../linux-6.13.0-1/Makefile:251: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-6.13.0-1-obj/x86_64/default'
make: *** [Makefile:44: all] Error 2
Offline

goldyfruit

  • Posts: 45
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostTue Feb 04, 2025 12:29 pm

Installing the `kernel-longterm` package on openSUSE Tumbleweed re-installed kernel 6.12 which means I can compile the modules until a fix for kernel 6.13 is released.
Offline

omahaprogrammer

  • Posts: 2
  • Joined: Thu Feb 06, 2025 4:30 pm
  • Real Name: Jonathan Paz

Re: Can't compile blackmagic module on kernel 6.13

PostThu Feb 06, 2025 4:56 pm

I am on Arch Linux and I get the same problem with the 6.13 kernel. I have attached the DKMS make.log file as well in case a new example is helpful.

Code: Select all
DKMS (dkms-3.1.5) make.log for blackmagic/14.4.1a4 for kernel 6.13.1-arch1-1 (x86_64)
Thu Feb  6 10:47:54 AM CST 2025
Cleaning build area
# command: make clean
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions built-in.o Module.symvers Module.markers modules.order

# exit code: 0
# elapsed time: 00:00:00
Building module(s)
# command: make -j16 KERNELRELEASE=6.13.1-arch1-1 KERNELRELEASE=6.13.1-arch1-1
touch .bmd-support.o.cmd
make -C /lib/modules/6.13.1-arch1-1/build M=/var/lib/dkms/blackmagic/14.4.1a4/build
make[1]: Entering directory '/usr/lib/modules/6.13.1-arch1-1/build'
make[2]: Entering directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
  CC [M]  blackmagic_serial.o
  CC [M]  blackmagic_core.o
  CC [M]  blackmagic_lib.o
make[4]: *** No rule to make target 'bmd-support.o', needed by 'blackmagic.o'.  Stop.
make[4]: *** Waiting for unfinished jobs....
  CC [M]  blackmagic_dma.o
  CC [M]  blackmagic_gate.o
blackmagic_core.c:97:1: warning: no previous prototype for ‘blackmagic_find_device_by_minor’ [-Wmissing-prototypes]
   97 | blackmagic_find_device_by_minor(int minor)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:116:1: warning: no previous prototype for ‘blackmagic_find_device_by_id’ [-Wmissing-prototypes]
  116 | blackmagic_find_device_by_id(int id)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:134:27: warning: no previous prototype for ‘blackmagic_find_device_by_ptr’ [-Wmissing-prototypes]
  134 | struct blackmagic_device *blackmagic_find_device_by_ptr(void *ptr)
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:373:1: warning: no previous prototype for ‘blackmagic_create_device’ [-Wmissing-prototypes]
  373 | blackmagic_create_device(struct pci_dev *pdev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:439:1: warning: no previous prototype for ‘blackmagic_destroy_device’ [-Wmissing-prototypes]
  439 | blackmagic_destroy_device(struct blackmagic_device *ddev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:374:6: warning: no previous prototype for ‘blackmagic_serial_tx_interrupt’ [-Wmissing-prototypes]
  374 | void blackmagic_serial_tx_interrupt(void *driver, int continue_tx)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:573:5: warning: no previous prototype for ‘blackmagic_serial_probe’ [-Wmissing-prototypes]
  573 | int blackmagic_serial_probe(struct blackmagic_device *ddev, struct device *dev)
      |     ^~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:608:6: warning: no previous prototype for ‘blackmagic_serial_remove’ [-Wmissing-prototypes]
  608 | void blackmagic_serial_remove(struct blackmagic_device *ddev)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:616:12: warning: no previous prototype for ‘blackmagic_serial_init’ [-Wmissing-prototypes]
  616 | int __init blackmagic_serial_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:661:13: warning: no previous prototype for ‘blackmagic_serial_exit’ [-Wmissing-prototypes]
  661 | void __exit blackmagic_serial_exit(void)
      |             ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_lib.c:569:5: warning: no previous prototype for ‘dl_thread_wrapper’ [-Wmissing-prototypes]
  569 | int dl_thread_wrapper(void *data)
      |     ^~~~~~~~~~~~~~~~~
blackmagic_gate.c:107:25: warning: no previous prototype for ‘dl_alloc_gate’ [-Wmissing-prototypes]
  107 | struct blackmagic_gate *dl_alloc_gate(void)
      |                         ^~~~~~~~~~~~~
blackmagic_gate.c:130:6: warning: no previous prototype for ‘dl_free_gate’ [-Wmissing-prototypes]
  130 | void dl_free_gate(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~
blackmagic_gate.c:135:6: warning: no previous prototype for ‘dl_gate_set_device’ [-Wmissing-prototypes]
  135 | void dl_gate_set_device(struct blackmagic_gate *gate, void *dev)
      |      ^~~~~~~~~~~~~~~~~~
blackmagic_gate.c:175:14: warning: no previous prototype for ‘dl_gate_lock’ [-Wmissing-prototypes]
  175 | void __sched dl_gate_lock(struct blackmagic_gate *gate)
      |              ^~~~~~~~~~~~
blackmagic_gate.c:184:6: warning: no previous prototype for ‘dl_gate_lock_interrupt’ [-Wmissing-prototypes]
  184 | bool dl_gate_lock_interrupt(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_gate.c:241:6: warning: no previous prototype for ‘dl_gate_unlock’ [-Wmissing-prototypes]
  241 | void dl_gate_unlock(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~
blackmagic_gate.c:295:5: warning: no previous prototype for ‘dl_gate_sleep’ [-Wmissing-prototypes]
  295 | int dl_gate_sleep(struct blackmagic_gate *gate, void* key)
      |     ^~~~~~~~~~~~~
blackmagic_gate.c:366:6: warning: no previous prototype for ‘dl_gate_wakeup’ [-Wmissing-prototypes]
  366 | void dl_gate_wakeup(struct blackmagic_gate *gate, void* key)
      |      ^~~~~~~~~~~~~~
make[3]: *** [/usr/lib/modules/6.13.1-arch1-1/build/Makefile:1989: .] Error 2
make[2]: *** [/usr/lib/modules/6.13.1-arch1-1/build/Makefile:251: __sub-make] Error 2
make[2]: Leaving directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
make[1]: *** [Makefile:251: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.13.1-arch1-1/build'
make: *** [Makefile:44: all] Error 2

# exit code: 2
# elapsed time: 00:00:01
Offline

omahaprogrammer

  • Posts: 2
  • Joined: Thu Feb 06, 2025 4:30 pm
  • Real Name: Jonathan Paz

Re: Can't compile blackmagic module on kernel 6.13

PostThu Feb 06, 2025 6:03 pm

I noticed this line in make.log when compiling against the 6.12 kernel:
Code: Select all
  COPY    /var/lib/dkms/blackmagic/14.4.1a4/build/bmd-support.o


Adding this to the module Makefile seems to work. I don't know why the normal copy behavior simply doesn't anymore, but I'm not a C developer and don't know make that well:
Code: Select all
bmd-support.o:
        cp bmd-support.o_shipped bmd-support.o
Offline

goldyfruit

  • Posts: 45
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostFri Feb 07, 2025 2:25 am

omahaprogrammer wrote:I noticed this line in make.log when compiling against the 6.12 kernel:
Code: Select all
  COPY    /var/lib/dkms/blackmagic/14.4.1a4/build/bmd-support.o


Adding this to the module Makefile seems to work. I don't know why the normal copy behavior simply doesn't anymore, but I'm not a C developer and don't know make that well:
Code: Select all
bmd-support.o:
        cp bmd-support.o_shipped bmd-support.o

Indeed its working for the "blackmagic" module but not the "blackmagic-io" one.
Offline

goldyfruit

  • Posts: 45
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostFri Feb 07, 2025 3:22 am

So it compiled but by card is not detected.

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 9 guests