我买了一个触摸屏显示器,想将驱动程序安装到我的 Ubuntu 20.04 上。驱动程序软件是 TouchKit。在安装指南中,是这样写的:
Rebuild the TouchKit driver.
3.1) Locate the extracted directory. And go to the subdirectory
/touchkit/include then type make new
3.2) change the directory to /touchkit then type make all
The touchKit driver will be rebuild. ( Some packages must be
installed and well configured ).
3.3) type make install to begin to install at the same directory /touchkit
在步骤3.1时,出现以下错误:
rm -f configSTR.h configSTR.mak configINT.h configINT.mak touch.tcl
tclsh ../utility/tcl2h.tcl configSTR.tcl > configSTR.h
/bin/sh: 1: tclsh: not found
make: *** [Makefile:20: configSTR.h] Error 127
这个错误是由于我的 Ubuntu 上的安装软件或其他原因造成的吗?我已经给卖家发了电子邮件,但我也想在这里问一下。
更新:这是Makefile
我假设在运行时执行的文件make new
TCL = tclsh
TCL2H = ../utility/tcl2h.tcl
TCL2SH = ../utility/tcl2sh.tcl
TCL2MAK = ../utility/tcl2mak.tcl
INI2TCL = ../utility/ini2tcl.tcl
TARGET = configSTR.h configSTR.mak \
configINT.h configINT.mak \
touch.tcl
all auto rebuild: $(TARGET)
new: clean all
clean:
rm -f $(TARGET)
%.h: %.tcl $(TCL2H)
$(TCL) $(TCL2H) $< > $@
%.sh: %.tcl $(TCL2SH)
$(TCL) $(TCL2SH) $< > $@
%.mak: %.tcl $(TCL2MAK)
$(TCL) $(TCL2MAK) $< > $@
%.tcl: %.ini $(INI2TCL)
$(TCL) $(INI2TCL) $< > $@
如果有人能告诉我其中哪些内容是 Ubuntu 独有的,或者哪些内容与驱动软件相关,或者能给我指明某个方向,那谢谢了。
更新:我已经弄清楚并通过了步骤 3.1。在步骤 3.2,我收到以下错误:
make[3]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by 'arch/x86/tools/relocs_32.o'. Stop.
make[2]: *** [arch/x86/Makefile:232: archscripts] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-5.4.0-58-generic'
make[1]: *** [Makefile:25: build_module] Error 2
make[1]: Leaving directory '/home/userxxx/touchscreen/Ubuntu6.06/touchkit/usb'
make: *** [Makefile:57: all] Error 1
以下是Makefile
步骤 3.2:
# SPDX-License-Identifier: GPL-2.0
PHONY += posttest
ifeq ($(KBUILD_VERBOSE),1)
posttest_verbose = -v
else
posttest_verbose =
endif
ifeq ($(CONFIG_64BIT),y)
posttest_64bit = -y
else
posttest_64bit = -n
endif
reformatter = $(srctree)/arch/x86/tools/objdump_reformat.awk
chkobjdump = $(srctree)/arch/x86/tools/chkobjdump.awk
quiet_cmd_posttest = TEST $@
cmd_posttest = ($(OBJDUMP) -v | $(AWK) -f $(chkobjdump)) || $(OBJDUMP) -d -j .text $(objtree)/vmlinux | $(AWK) -f $(reformatter) | $(obj)/insn_decoder_test $(posttest_64bit) $(posttest_verbose)
quiet_cmd_sanitytest = TEST $@
cmd_sanitytest = $(obj)/insn_sanity $(posttest_64bit) -m 1000000
posttest: $(obj)/insn_decoder_test vmlinux $(obj)/insn_sanity
$(call cmd,posttest)
$(call cmd,sanitytest)
hostprogs-y += insn_decoder_test insn_sanity
# -I needed for generated C source and C source which in the kernel tree.
HOSTCFLAGS_insn_decoder_test.o := -Wall -I$(objtree)/arch/x86/lib/ -I$(srctree)/arch/x86/include/uapi/ -I$(srctree)/arch/x86/include/ -I$(srctree)/arch/x86/lib/ -I$(srctree)/include/uapi/
HOSTCFLAGS_insn_sanity.o := -Wall -I$(objtree)/arch/x86/lib/ -I$(srctree)/arch/x86/include/ -I$(srctree)/arch/x86/lib/ -I$(srctree)/include/
# Dependencies are also needed.
$(obj)/insn_decoder_test.o: $(srctree)/arch/x86/lib/insn.c $(srctree)/arch/x86/lib/inat.c $(srctree)/arch/x86/include/asm/inat_types.h $(srctree)/arch/x86/include/asm/inat.h $(srctree)/arch/x86/include/asm/insn.h $(objtree)/arch/x86/lib/inat-tables.c
$(obj)/insn_sanity.o: $(srctree)/arch/x86/lib/insn.c $(srctree)/arch/x86/lib/inat.c $(srctree)/arch/x86/include/asm/inat_types.h $(srctree)/arch/x86/include/asm/inat.h $(srctree)/arch/x86/include/asm/insn.h $(objtree)/arch/x86/lib/inat-tables.c
HOST_EXTRACFLAGS += -I$(srctree)/tools/include
hostprogs-y += relocs
relocs-objs := relocs_32.o relocs_64.o relocs_common.o
PHONY += relocs
relocs: $(obj)/relocs
@:
有人知道这个错误意味着什么吗?