ls: cannot access './hiwork/osdrvhi3518e.C01': No such file or directory

ls: cannot access ‘./hiwork/osdrvhi3518e.C01’: No such file or directory问题解决

每次编译执行make 和 make clean的时候都会报出上面题目中的问题,虽然并不影响编译,但是强迫症禁不住啊。于是彻底解决了一下,问题就出在mpp目录下的那个Makefile.param里。

# Allocated the linux position
ifneq ($(shell ls $(HIWORK_PATH)/osdrv/$(HIARCH)$(CVER)), )
	ifeq ($(HIARCH),hi3519)
		export LINUX_ROOT?=$(HIWORK_PATH)/osdrv$(HIARCH)$(CVER)/$(CPU_TYPE)/opensource/kernel/$(KERNEL_NAME)		
	else
		export LINUX_ROOT?=$(HIWORK_PATH)/osdrv$(HIARCH)$(CVER)/opensource/kernel/$(KERNEL_NAME)
	endif	
else
	export LINUX_ROOT?=$(SDK_PATH)/osdrv/opensource/kernel/$(KERNEL_NAME)
endif

就是这一段ifneq里的,首先由问题:ls: cannot access ‘./hiwork/osdrvhi3518e.C01’: No such file or directory可以判断出ifneq里第1个参数是不存在的,也就是说这个参数为空等于第二个,所以这个ifneq是不成立的!所以应该执行下面第二个else里的内容。
其实由实际情况可以知道不一定要判断,因为肯定走第二个else而且第二个else其实也就一条路可以走,所以我直接把这段内容除了第二个else这条路的其他都删除掉了,也就是整段只保留了下面这一句:

export LINUX_ROOT?=$(SDK_PATH)/osdrv/opensource/kernel/$(KERNEL_NAME)

而实际按照这个LINUX_ROOT走下去查看目录发现,kernel也确实就是在这个目录的。
综上,问题解决!

你可能感兴趣的:(个人遇到的问题记录,海思)