ubuntu-18.04 - Ubuntu 18.04 中的 ROS Melodic 安​​装 dkms 错误 - 错误!内核 : 5. 4.0-89-generic (x86_64) 上构建的模块返回状态错误

标签 ubuntu-18.04 ros dkms

我尝试安装 ROS Melodic,并收到此错误:-

(ROSMelodic) (system) t@tsd:~/git/ROSMelodic$ sudo apt install ros-melodic-desktop-full
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ros-melodic-desktop-full is already the newest version (1.4.1-0bionic.20211216.192238).
The following packages were automatically installed and are no longer required:
  golang-docker-credential-helpers gyp libjs-async libjs-inherits <etc. etc. long list of installed packages...>

Use 'sudo apt autoremove' to remove them.
0 to upgrade, 0 to newly install, 0 to remove and 87 not to upgrade.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up darling-dkms (0.1.20200331~testing) ...

>>> DKMS: Module add, build, and install....................................................................................................................................................................................] 
darling-mach, 0.1: added

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' -C lkm/ MIGDIR=/usr/src/darling-mach-0.1/miggen MIGDIR_REL=../miggen KERNELVERSION=5.4.0-89-generic.........(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.4.0-89-generic (x86_64)
Consult /var/lib/dkms/darling-mach/0.1/build/make.log for more information.
dpkg: error processing package darling-dkms (--configure):
 installed darling-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
 darling-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)

这是 make.log 中的内容:-


(ROSMelodic) (system) t@tsd:~/git/ROSMelodic$ cat /var/lib/dkms/darling-mach/0.1/build/make.log
DKMS make.log for darling-mach-0.1 for kernel 5.4.0-89-generic (x86_64)
Mon 17 Jan 01:19:25 GMT 2022
make: Entering directory '/var/lib/dkms/darling-mach/0.1/build/lkm'
Running kernel version is 5.4.0-89-generic
rm -f darling-mach.mod.o
make -C /lib/modules/5.4.0-89-generic/build M=/var/lib/dkms/darling-mach/0.1/build/lkm modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.0-89-generic'
Running kernel version is 5.4.0-89-generic
Invoked by kernel build system, building for 5.4.0-89-generic
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_entry.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_hash.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_space.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.o
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:140:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c: In function ‘ipc_kmsg_get’:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/debug_print.h:29:55: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘mach_port_t {aka struct ipc_port *}’ [-Wformat=]

不确定这是关于什么的?

 # define debug_msg(fmt, ...) if (debug_output) printk("\0015Darling Mach: <%d> " fmt, linux_current->pid, ##__VA_ARGS__)
                                                       ^
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:1597:5: note: in expansion of macro ‘debug_msg’
     debug_msg( "- ikm_header->msgh_size: %d, bits: 0x%x rport: 0x%x, lport: 0x%x, reserved: 0x%x, id: %d\n",
     ^~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:1597:67: note: format string is defined here
     debug_msg( "- ikm_header->msgh_size: %d, bits: 0x%x rport: 0x%x, lport: 0x%x, reserved: 0x%x, id: %d\n",
                             

这是关于什么的?

                                    ~^
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:140:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/debug_print.h:29:55: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 6 has type ‘mach_port_t {aka struct ipc_port *}’ [-Wformat=]
 # define debug_msg(fmt, ...) if (debug_output) printk("\0015Darling Mach: <%d> " fmt, linux_current->pid, ##__VA_ARGS__)
                                                       ^
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:1597:5: note: in expansion of macro ‘debug_msg’
     debug_msg( "- ikm_header->msgh_size: %d, bits: 0x%x rport: 0x%x, lport: 0x%x, reserved: 0x%x, id: %d\n",
     ^~~~~~~~~

嗯,对此不太确定

/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:1597:80: note: format string is defined here
     debug_msg( "- ikm_header->msgh_size: %d, bits: 0x%x rport: 0x%x, lport: 0x%x, reserved: 0x%x, id: %d\n",
                                                                               ~^
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c: In function ‘ipc_kmsg_copyin’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:3228:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if ((kmsg->ikm_header->msgh_bits & MACH_MSGH_BITS_COMPLEX) == 0)
     ^~
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_kmsg.c:3231:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  mr = ipc_kmsg_copyin_body( kmsg, space, map);
  ^~
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_notify.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_object.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_pset.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_table.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.o
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.c: In function ‘ipc_get_pthpriority_from_kmsg_voucher’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.c:2636:2: warning: ISO C90 forbids variable length array ‘content_data’ [-Wvla]
  uint8_t content_data[content_size];
  ^~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.c: In function ‘ipc_execute_voucher_recipe_command’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.c:1509:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (MACH_VOUCHER_ATTR_KEY_ALL == key) {
      ^

这是关于什么的?

/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.c:1550:2: note: here
  default:
  ^~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.c: In function ‘iv_dedup’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_voucher.c:1760:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mig_log.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_port.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_msg.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_debug.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_kernelrpc.o
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_kernelrpc.c: In function ‘host_create_mach_voucher_trap’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_kernelrpc.c:446:3: warning: ISO C90 forbids variable length array ‘krecipes’ [-Wvla]
   uint8_t krecipes[args->recipes_size];
   ^~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_kernelrpc.c: In function ‘mach_voucher_extract_attr_recipe_trap’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/mach_kernelrpc.c:501:3: warning: ISO C90 forbids variable length array ‘krecipe’ [-Wvla]
   uint8_t krecipe[sz];
   ^~~~~~~
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_init.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_right.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_mqueue.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/ipc/ipc_port.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/sync_sema.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/darling/down_interruptible.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/darling/traps.o
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct.h:112:0,
                 from /var/lib/dkms/darling-mach/0.1/build/lkm/darling/traps.c:20:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct__pre_xnu_types.h:101:33: warning: ‘struct xnu_rlimit’ declared inside parameter list will not be visible outside of this definition or declaration
 #define rlimit                  xnu_rlimit
                                 ^
./include/linux/sched/mm.h:137:14: note: in expansion of macro ‘rlimit’
       struct rlimit *rlim_stack);
              ^~~~~~

不确定这个

/var/lib/dkms/darling-mach/0.1/build/lkm/darling/traps.c: In function ‘handle_to_path_entry’:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/traps.c:1779:10: warning: return makes integer from pointer without a cast [-Wint-conversion]
   return ERR_PTR(-LINUX_EBADF);
          ^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/traps.c:1842:1: warning: the frame size of 4208 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^
  CC [M]  /var/lib/dkms/darling- etc...
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c: In function ‘evpsetfd_read’:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:202:9: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
    addr = process_data;
         ^

有趣


In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:37:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c: In function ‘knote’:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/debug_print.h:29:55: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘struct xnu_klist *’ [-Wformat=]
 # define debug_msg(fmt, ...) if (debug_output) printk("\0015Darling Mach: <%d> " fmt, linux_current->pid, ##__VA_ARGS__)
                                                       ^
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:359:5: note: in expansion of macro ‘debug_msg’
     debug_msg("knote() on list 0x%x called with hint=0x%x\n", list, hint);
     ^~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:359:35: note: format string is defined here
     debug_msg("knote() on list 0x%x called with hint=0x%x\n", list, hint);
                                  ~^
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:37:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/debug_print.h:29:55: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long int’ [-Wformat=]
 # define debug_msg(fmt, ...) if (debug_output) printk("\0015Darling Mach: <%d> " fmt, linux_current->pid, ##__VA_ARGS__)
                                                       ^
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:359:5: note: in expansion of macro ‘debug_msg’
     debug_msg("knote() on list 0x%x called with hint=0x%x\n", list, hint);
     ^~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:359:57: note: format string is defined here
     debug_msg("knote() on list 0x%x called with hint=0x%x\n", list, hint);
                                                        ~^

                                                        %lx
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:37:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/debug_print.h:29:55: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘wait_queue_head_t * {aka struct wait_queue_head *}’ [-Wformat=]
 # define debug_msg(fmt, ...) if (debug_output) printk("\0015Darling Mach: <%d> " fmt, linux_current->pid, ##__VA_ARGS__)
                                                       ^
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:368:3: note: in expansion of macro ‘debug_msg’
   debug_msg("knote() is waking up a Linux wait queue 0x%x\n", &kn->wait_queue);
   ^~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:368:57: note: format string is defined here
   debug_msg("knote() is waking up a Linux wait queue 0x%x\n", &kn->wait_queue);
                                                        ~^
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:37:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c: In function ‘knote_attach_evpset’:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/debug_print.h:29:55: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘struct xnu_klist *’ [-Wformat=]
 # define debug_msg(fmt, ...) if (debug_output) printk("\0015Darling Mach: <%d> " fmt, linux_current->pid, ##__VA_ARGS__)
                                                       ^
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:381:2: note: in expansion of macro ‘debug_msg’
  debug_msg("Attaching to klist 0x%x\n", list);
  ^~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:381:35: note: format string is defined here
  debug_msg("Attaching to klist 0x%x\n", list);
                                  ~^

写了

In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:37:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c: In function ‘knote_detach_evpset’:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/debug_print.h:29:55: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘struct xnu_klist *’ [-Wformat=]
 # define debug_msg(fmt, ...) if (debug_output) printk("\0015Darling Mach: <%d> " fmt, linux_current->pid, ##__VA_ARGS__)
                                                       ^
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:388:2: note: in expansion of macro ‘debug_msg’
  debug_msg("Detaching from klist 0x%x\n", list);
  ^~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/evpsetfd.c:388:37: note: format string is defined here
  debug_msg("Detaching from klist 0x%x\n", list);
                                    ~^

这些

  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/darling/pthread_kill.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/darling/psynch_support.o
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/psynch_support.c: In function ‘kwq_handle_unlock’:
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/psynch_support.c:3510:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
    longreadset = 1;
    ~~~~~~~~~~~~^~~
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/psynch_support.c:3512:3: note: here
   case PTH_RW_TYPE_READ: {
   ^~~~
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/darling/foreign_mm.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/darling/continuation.o
  AS [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/darling/continuation-asm.o
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/continuation-asm.S:6:16: warning: extra tokens at end of #ifndef directive
 #ifndef ENDPROC(name)
                ^

单词

/var/lib/dkms/darling-mach/0.1/build/lkm/darling/continuation-asm.o: warning: objtool: cont_setjmp()+0x23: indirect jump found in RETPOLINE build
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/continuation-asm.o: warning: objtool: cont_longjmp()+0x2a: indirect jump found in RETPOLINE build
/var/lib/dkms/darling-mach/0.1/build/lkm/darling/continuation-asm.o: warning: objtool: cont_setjmp()+0x23: sibling call from callable instruction with modified stack frame
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/darling_xnu_init.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_atomic.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_ipc_pset.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_clock.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_debug.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_kalloc.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_printf.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_startup.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_sysctl.o
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_task.o
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct.h:112:0,
                 from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_task.c:36:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct__pre_xnu_types.h:101:33: warning: ‘struct xnu_rlimit’ declared inside parameter list will not be visible outside of this definition or declaration
 #define rlimit                  xnu_rlimit
                                 ^

./include/linux/sched/mm.h:137:14: note: in expansion of macro ‘rlimit’
       struct rlimit *rlim_stack);
              ^~~~~~
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_thread_act.o
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct.h:112:0,
                 from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_thread_act.c:36:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct__pre_xnu_types.h:101:33: warning: ‘struct xnu_rlimit’ declared inside parameter list will not be visible outside of this definition or declaration
 #define rlimit                  xnu_rlimit
                                 ^

中断

./include/linux/sched/mm.h:137:14: note: in expansion of macro ‘rlimit’
       struct rlimit *rlim_stack);
              ^~~~~~
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_thread.o
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_thread.c: In function ‘duct_thread_bootstrap’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_thread.c:207:2: warning: #warning Init thread initialization disabled! [-Wcpp]
 #warning Init thread initialization disabled!
  ^~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_thread.c: In function ‘duct_thread_create_internal’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_kern_thread.c:273:2: warning: #warning compat_uthread disabled [-Wcpp]
 #warning compat_uthread disabled
  ^~~~~~~

向上

etc...
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct.h:112:0,
                 from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_vm_user.c:35:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct__pre_xnu_types.h:101:33: warning: ‘struct xnu_rlimit’ declared inside parameter list will not be visible outside of this definition or declaration
 #define rlimit                  xnu_rlimit
                                 ^

./include/linux/sched/mm.h:137:14: note: in expansion of macro ‘rlimit’
       struct rlimit *rlim_stack);
              ^~~~~~
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_arm_locks_arm.o
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_arm_locks_arm.h:44:0,
                 from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/duct/duct_arm_locks_arm.c:36:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/i386/lock.h:72:2: warning: #warning This header is deprecated. Use <kern/locks.h> instead. [-Wcpp]
 #warning This header is deprecated. Use <kern/locks.h> instead.
  ^~~~~~~

日志

etc...
mach/0.1/build/lkm/osfmk/kern/host.o
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/host.c: In function ‘host_statistics64’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/host.c:562:23: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
    stat->active_count = totalram_pages - stat->free_count;
                       ^

所以

etc...
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/locks.o
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/locks.c:801:1: warning: ‘lck_mtx_clear_promoted’ defined but not used [-Wunused-function]
 lck_mtx_clear_promoted (
 ^~~~~~~~~~~~~~~~~~~~~~

etc...
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/waitq.o
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/waitq.c:63:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/backtrace.h:51:2: warning: ‘not_tail_called’ attribute directive ignored [-Wattributes]
  __attribute__((noinline,not_tail_called));
  ^~~~~~~~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/waitq.c: In function ‘wq_prepost_alloc’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/waitq.c:829:1: warning: label ‘out’ defined but not used [-Wunused-label]
 out:
 ^~~

通过

/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/waitq.c: In function ‘waitq_alloc_prepost_reservation’:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/waitq.c:4452:1: warning: label ‘do_alloc’ defined but not used [-Wunused-label]
 do_alloc:
 ^~~~~~~~
At top level:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/waitq.c:692:13: warning: ‘wq_prepost_refill_cpu_cache’ defined but not used [-Wunused-function]
 static void wq_prepost_refill_cpu_cache(uint32_t nalloc)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-locks.o
In file included from /var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-locks.c:76:0:
/var/lib/dkms/darling-mach/0.1/build/lkm/osfmk/kern/lock.h:71:2: warning: #warning This header is deprecated. Use <kern/locks.h> instead. [-Wcpp]
 #warning This header is deprecated. Use <kern/locks.h> instead.
  ^~~~~~~
/var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-locks.c:113:2: warning: #warning Implement locks? [-Wcpp]
 #warning Implement locks?
  ^~~~~~~

对于

  CC [M]  /var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-misc.o
/var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-misc.c: In function ‘mach_memory_info’:
/var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-misc.c:234:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^

堆栈溢出提交

cc1: some warnings being treated as errors
scripts/Makefile.build:270: recipe for target '/var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-misc.o' failed
make[2]: *** [/var/lib/dkms/darling-mach/0.1/build/lkm/duct/osfmk/dummy-misc.o] Error 1
Makefile:1762: recipe for target '/var/lib/dkms/darling-mach/0.1/build/lkm' failed
make[1]: *** [/var/lib/dkms/darling-mach/0.1/build/lkm] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-89-generic'
Makefile:325: recipe for target 'default' failed
make: *** [default] Error 2
make: Leaving directory '/var/lib/dkms/darling-mach/0.1/build/lkm'
(ROSMelodic) (system) t@tsd:~/git/ROSMelodic$

想知道我需要做什么才能在我的 Ubuntu 18.04 机器上安装 ROS Melodic

尝试 Pedros 建议:-

(ROSMelodic) (system) t@tsd:~/git/ROSMelodic$ sudo apt remove darling-dkms # remove faulty package
[sudo] password for t: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  golang-docker-credential-helpers ... etc...

Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED
  darling-dkms
0 to upgrade, 0 to newly install, 1 to remove and 85 not to upgrade.
1 not fully installed or removed.
After this operation, 63.5 MB disk space will be freed.
Do you want to continue? [Y/n] Y

(Reading database ... 426334 files and directories currently installed.)...] 
Removing darling-dkms (0.1.20200331~testing) ...
>>> DKMS: Module uninstall
darling-mach, 0.1: added

------------------------------
Deleting module version: 0.1
completely from the DKMS tree.
------------------------------
Done.

(ROSMelodic) (system) timur@tsd:~/git/ROSMelodic$ sudo apt update && sudo apt upgrade
etc.
Hit:38 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64  InRelease                                  
Err:39 https://dl.bintray.com/rabbitmq-erlang/debian bionic InRelease                                       
  502  Bad Gateway [IP: 52.39.229.247 443]
Get:40 http://gb.archive.ubuntu.com/ubuntu bionic-updates/main amd64 DEP-11 Metadata [294 kB]
Err:41 https://dl.bintray.com/rabbitmq/debian bionic InRelease                              
  502  Bad Gateway [IP: 52.39.229.247 443]
Get:42 http://gb.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [300 kB]
Get:43 http://gb.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2,468 B]
Get:44 http://gb.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [9,272 B]
Reading package lists... Done                                             
E: The repository 'http://ppa.launchpad.net/nemonein/ksnip/ubuntu bionic Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:56 and /etc/apt/sources.list.d/docker.list:1
W: Target Packages (stable/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:56 and /etc/apt/sources.list.d/docker.list:1
W: Target Translations (stable/i18n/Translation-en_GB) is configured multiple times in /etc/apt/sources.list:56 and /etc/apt/sources.list.d/docker.list:1
W: Target Translations (stable/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:56 and /etc/apt/sources.list.d/docker.list:1
W: Target DEP-11 (stable/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:56 and /etc/apt/sources.list.d/docker.list:1

sudo apt install darling-dkms

E: Unable to locate package darling-dkms

最佳答案

第一个问题可能导致所有其他错误消息出现,可能检查 darling-dkms。

sudo apt remove darling-dkms # remove faulty package
sudo apt update && sudo apt upgrade # update & upgrade packages. This should also upgrade your kernel to a newer version (for me, this was 5.10.0-1051-oem)
sudo apt install darling-dkms

您安装的是哪一个以及所需的版本是什么?

另外,您是否检查过安装指南: http://wiki.ros.org/melodic/Installation/Ubuntu

有一些预安装步骤:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

还有:

sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

关于ubuntu-18.04 - Ubuntu 18.04 中的 ROS Melodic 安​​装 dkms 错误 - 错误!内核 : 5. 4.0-89-generic (x86_64) 上构建的模块返回状态错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70739750/

相关文章:

GStreamer 版本不匹配

ssl - Certbot 域身份验证失败

django - ubuntu18.04中无法通过url连接mongodb

c - 禁用 -dkms 错误

linux - 如何使用 DKMS 构 build 备树覆盖?

Ubuntu '-bash: nano: command not found'

c++ - 将 tf::transform 对象写入文件

c++ - 在ROS中用c++比较两个字符串

c++ - 如何解决访问不同函数的 "nonstatic member reference must be relative to a specific object"

linux - 使用 dkms 修补现有内核模块