RTT版本:4.1.0
env版本:1.2.4
问题描述
工程中想使用pahomqtt,但是menuconfig中勾选并配置完成后,使用pkgs --update下载包时却出现了如下错误
(一开始使用的env1.2.0,参照别人以及论坛给出的方法,将python2.7.10升级到2.7.13,问题仍然存在;于是我又将env更新到1.2.4,并使用了pkgs --grade更新env,问题仍然存在)
问题查找
基于以往使用软件包的经验,在选项中应该包含版本选择(因为需要根据版本选择下载地址),但是这个pahomqtt却没有这个选项,如下图
一开始我是猜测他只有唯一版本,所以把版本隐藏起来了,只有固定的一个下载地址,但当我打开.config文件查看时,也并未发现关于版本的描述(与之矛盾的是,env->packages->packages->iot->pahomqtt下的.json文件中却存在了3个版本)
到这里,就开始怀疑pahomqtt对应的kconfig文件存在问题,打开之后,发现有如下关于版本的选择的语句
(我没学过python,但以我目前写kconfig文件的经验,感觉并没有什么毛病,当前使用的python2.7.18)就是这一段存在什么问题,导致没有版本选项,也就导致pkgs --update没有下载地址而出错。
问题解决
将上图中choice endchoice(文件位于env->packages->packages->iot->pahomqtt->kconfig),全部替换成如下,再重新使用menuconfig配置好后,即可使用pkgs --update正常更新软件包
结语
本人水平有限,对于该问题的解决不一定是最优解,毕竟原本的语法看起来的确没啥毛病,如果文中有不对的地方或者有更好的解决方式,欢迎交流!