UniversalRobots / Universal_Robots_ROS_Driver

Universal Robots ROS driver supporting CB3 and e-Series
Apache License 2.0
758 stars 401 forks source link

Realtime Kernel build instructions not working on ubuntu 20.04. PLease help #618

Open stevensu1838 opened 1 year ago

stevensu1838 commented 1 year ago

Summary

My first question is I know if it recommended to install Realtime Kernel. But can I skip it if I can successfully control the UR5e robot with this driver? Installing the Realtime Kernel is hard for Linux beginners. Can you experts please help?

Introduction to the issue

Versions

Impact

I simply want to follow the real-time setup guide given in the Universal_Robots_ROS_Driver read me document to prepare for the driver installation

Issue details

This part is important in order to clarify the severity of the issue.

Use Case and Setup

What does the setup look like and what are the objectives?

Project status at point of discovered

When did you first observe the issue?

Steps to Reproduce

My existing kernel version is 5.15. So I've been trying to install the 5.15.94 version. I actually followed exactly the real-time setup guide and one only thing I did is to replace the number 4.14.139 in the guide to 5.15.94. I sincerely hope you experts can help me solve this issue which will benefit other users a lot, too. The exactly command lines I used was shown below:

mech1936:~$ uname -r 5.15.0-53-generic mech1936:~$ mkdir -p ${HOME}/rt_kernel_build mech1936:~$ cd ${HOME}/rt_kernel_build mech1936:~/rt_kernel_build$ wget https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.15/patch-5.15.94-rt59.patch.xz mech1936:~/rt_kernel_build$ wget https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.15/patch-5.15.94-rt59.patch.sign mech1936:~/rt_kernel_build$ wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.94.tar.xz mech1936:~/rt_kernel_build$ wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.15.94.tar.sign

mech1936:~/rt_kernel_build$ ls linux-5.15.94.tar.sign patch-5.15.94-rt59.patch.sign linux-5.15.94.tar.xz patch-5.15.94-rt59.patch.xz

To unzip the downloaded files do $ xz -dk patch-5.15.94-rt59.patch.xz $ xz -d linux-5.15.94.tar.xz

Compilation

$ tar xf linux-5.15.94.tar $ cd linux-5.15.94 linux-5.15.94$ xzcat ../patch-5.15.94-rt59.patch.xz | patch -p1

Preemption Model

  1. No Forced Preemption (Server) (PREEMPT_NONE)
    1. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
  2. Preemptible Kernel (Low-Latency Desktop) (PREEMPT)
  3. Fully Preemptible Kernel (Real-Time) (PREEMPT_RT) (NEW) choice[1-4?]: 4

mech1936:~/rt_kernel_build/linux-5.15.94$ make -j getconf _NPROCESSORS_ONLN deb-pkg`

Expected Behavior

I expect no errors and successful installation

Actual Behavior

It throws the following errors: mech1936:~/rt_kernel_build/linux-5.15.94$ make -j getconf _NPROCESSORS_ONLN deb-pkg UPD include/config/kernel.release make clean sh ./scripts/package/mkdebian TAR linux-upstream.tar.gz origversion=$(dpkg-parsechangelog -SVersion |sed 's/-[^-]$//');\ mv linux-upstream.tar.gz ../linux-upstream_${origversion}.orig.tar.gz dpkg-buildpackage -r"fakeroot -u" -a$(cat debian/arch) -i.git -us -uc dpkg-buildpackage: info: source package linux-upstream dpkg-buildpackage: info: source version 5.15.94-rt59-1 dpkg-buildpackage: info: source distribution focal dpkg-buildpackage: info: source changed by ysu66 ysu66@mech1936 dpkg-buildpackage: info: host architecture amd64 dpkg-source -i.git --before-build . debian/rules clean rm -rf debian/tmp debian/files make clean dpkg-source -i.git -b . dpkg-source: info: using source format '1.0' dpkg-source: warning: source directory 'linux-5.15.94' is not - 'linux-upstream-5.15.94-rt59' dpkg-source: warning: .orig directory name linux-5.15.94.orig is not - (wanted linux-upstream-5.15.94-rt59.orig) dpkg-source: info: building linux-upstream using existing linux-upstream_5.15.94-rt59.orig.tar.gz dpkg-source: info: building linux-upstream in linux-upstream_5.15.94-rt59-1.diff.gz dpkg-source: warning: ignoring deletion of file .scmversion dpkg-source: warning: the diff modifies the following upstream files: .clang-format .cocciconfig .get_maintainer.ignore .mailmap CREDITS MAINTAINERS README dpkg-source: info: use the '3.0 (quilt)' format to have separate and documented changes to upstream files, see dpkg-source(1) dpkg-source: info: building linux-upstream in linux-upstream_5.15.94-rt59-1.dsc dpkg-source: warning: missing information for output field Standards-Version debian/rules binary make KERNELRELEASE=5.15.94-rt59 ARCH=x86 KBUILD_BUILD_VERSION=1 -f ./Makefile WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h WRAP arch/x86/include/generated/uapi/asm/errno.h HOSTCC scripts/basic/fixdep UPD include/generated/uapi/linux/version.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h WRAP arch/x86/include/generated/uapi/asm/ioctl.h WRAP arch/x86/include/generated/uapi/asm/fcntl.h WRAP arch/x86/include/generated/uapi/asm/ioctls.h WRAP arch/x86/include/generated/uapi/asm/ipcbuf.h WRAP arch/x86/include/generated/uapi/asm/param.h WRAP arch/x86/include/generated/uapi/asm/resource.h WRAP arch/x86/include/generated/uapi/asm/poll.h WRAP arch/x86/include/generated/uapi/asm/socket.h WRAP arch/x86/include/generated/uapi/asm/termbits.h WRAP arch/x86/include/generated/uapi/asm/sockios.h WRAP arch/x86/include/generated/uapi/asm/termios.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h WRAP arch/x86/include/generated/uapi/asm/types.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/include/generated/asm/unistd_32_ia32.h DESCEND objtool SYSHDR arch/x86/include/generated/asm/unistd_64_x32.h SYSTBL arch/x86/include/generated/asm/syscalls_32.h WRAP arch/x86/include/generated/asm/early_ioremap.h SYSTBL arch/x86/include/generated/asm/syscalls_64.h WRAP arch/x86/include/generated/asm/export.h SYSTBL arch/x86/include/generated/asm/syscalls_x32.h DESCEND bpf/resolve_btfids HYPERCALLS arch/x86/include/generated/asm/xen-hypercalls.h WRAP arch/x86/include/generated/asm/mcs_spinlock.h WRAP arch/x86/include/generated/asm/irq_regs.h UPD include/generated/utsrelease.h WRAP arch/x86/include/generated/asm/local64.h WRAP arch/x86/include/generated/asm/kmap_size.h WRAP arch/x86/include/generated/asm/mmiowb.h WRAP arch/x86/include/generated/asm/module.lds.h WRAP arch/x86/include/generated/asm/rwonce.h WRAP arch/x86/include/generated/asm/unaligned.h MKDIR /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids//libbpf MKDIR /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids//libsubcmd HOSTCC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/fixdep.o

:1:10: fatal error: libelf.h: No such file or directory compilation terminated. GEN /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/bpf_helper_defs.h HOSTCC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/fixdep.o HOSTCC arch/x86/tools/relocs_32.o HOSTCC arch/x86/tools/relocs_64.o HOSTCC arch/x86/tools/relocs_common.o MKDIR /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/ MKDIR /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/ CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/nlattr.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/bpf.o HOSTLD /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/fixdep-in.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/btf.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf_errno.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/str_error.o LINK /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/fixdep HOSTCC scripts/genksyms/genksyms.o HOSTLD /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/fixdep-in.o LINK /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/fixdep btf.c:18:10: fatal error: gelf.h: No such file or directory 18 | #include | ^~~~~~~~ compilation terminated. make[7]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:97: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/btf.o] Error 1 make[7]: *** Waiting for unfinished jobs.... YACC scripts/genksyms/parse.tab.[ch] HOSTCC scripts/kallsyms libbpf.c:47:10: fatal error: libelf.h: No such file or directory 47 | #include | ^~~~~~~~~~ compilation terminated. HOSTCC scripts/bin2c make[7]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:96: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf.o] Error 1 HOSTCC scripts/selinux/genheaders/genheaders LEX scripts/genksyms/lex.lex.c CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/arch/x86/special.o In file included from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/objtool.h:13, from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/arch.h:11, from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/check.h:11, from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/special.h:10, from arch/x86/special.c:4: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/elf.h:10:10: fatal error: gelf.h: No such file or directory 10 | #include | ^~~~~~~~ compilation terminated. make[7]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:97: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/arch/x86/special.o] Error 1 make[7]: *** Waiting for unfinished jobs.... MKDIR /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/arch/x86/lib/ CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/weak.o GEN /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/arch/x86/lib/inat-tables.c CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/check.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/special.o In file included from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/objtool.h:13, from weak.c:10: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/elf.h:10:10: fatal error: gelf.h: No such file or directory 10 | #include | ^~~~~~~~ compilation terminated. make[6]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:97: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/weak.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[6]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:139: arch/x86] Error 2 HOSTCC scripts/sorttable CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/exec-cmd.o In file included from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/objtool.h:13, from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/arch.h:11, from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/check.h:11, from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/special.h:10, from special.c:16: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/elf.h:10:10: fatal error: gelf.h: No such file or directory 10 | #include | ^~~~~~~~ compilation terminated. HOSTCC scripts/selinux/mdp/mdp In file included from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/objtool.h:13, from /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/arch.h:11, from check.c:14: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/include/objtool/elf.h:10:10: fatal error: gelf.h: No such file or directory 10 | #include | ^~~~~~~~ compilation terminated. make[6]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:97: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/check.o] Error 1 CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/help.o make[6]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:97: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/special.o] Error 1 make[5]: *** [Makefile:56: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/objtool-in.o] Error 2 make[5]: *** Waiting for unfinished jobs.... CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/pager.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/parse-options.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/exec-cmd.o HOSTLD arch/x86/tools/relocs CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/run-command.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/help.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/sigchain.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/subcmd-config.o HOSTCC scripts/genksyms/parse.tab.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/pager.o HOSTCC scripts/asn1_compiler CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/parse-options.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/main.o HOSTCC scripts/sign-file CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/rbtree.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/run-command.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/zalloc.o main.c:55:10: fatal error: libelf.h: No such file or directory 55 | #include | ^~~~~~~~~~ compilation terminated. make[6]: *** [/home/ysu66/rt_kernel_build/linux-5.15.94/tools/build/Makefile.build:97: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/main.o] Error 1 make[6]: *** Waiting for unfinished jobs.... CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/sigchain.o CC /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/subcmd-config.o HOSTCC scripts/genksyms/lex.lex.o make[6]: *** [Makefile:158: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf-in.o] Error 2 make[5]: *** [Makefile:48: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids//libbpf/libbpf.a] Error 2 make[5]: *** Waiting for unfinished jobs.... HOSTCC scripts/extract-cert HOSTCC scripts/insert-sys-cert make[5]: *** [Makefile:62: /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids//resolve_btfids-in.o] Error 2 LD /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/libsubcmd-in.o AR /home/ysu66/rt_kernel_build/linux-5.15.94/tools/objtool/libsubcmd.a make[4]: *** [Makefile:69: objtool] Error 2 make[3]: *** [Makefile:1406: tools/objtool] Error 2 make[3]: *** Waiting for unfinished jobs.... LD /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/libsubcmd-in.o AR /home/ysu66/rt_kernel_build/linux-5.15.94/tools/bpf/resolve_btfids/libsubcmd/libsubcmd.a make[4]: *** [Makefile:72: bpf/resolve_btfids] Error 2 make[3]: *** [Makefile:1406: tools/bpf/resolve_btfids] Error 2 HOSTLD scripts/genksyms/genksyms make[2]: *** [debian/rules:7: build-arch] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 make[1]: *** [scripts/Makefile.package:77: deb-pkg] Error 2 make: *** [Makefile:1611: deb-pkg] Error 2
xiaomengfang commented 1 year ago

Hi, @stevensu1838 , I met the same issue, have you solved it? Could you please share your solution?

shuobh commented 1 year ago

You would need to install some additional libraries manually using sudo apt get. From my log history, I've installed dwarves zstd flex bison libelf-dev libncurses-dev libssl-dev resolvconf. Most of the time you have to do a full cleanup and rebuild from scratch.