背景
周末编译MindSpore源码,由于没有Ubuntu设备,所以在Mac OS下通过Virtualbox安装了18.04版本的Ubuntu系统。为了主机虚拟机更好的共享文件,所以直接将源码放到共享文件夹中。
问题
在编译过程中主要遇到了两个问题,一是报了解压缩的错误,二是报了python的一个引用库找不到的错误。
定位
解压缩的问题,本以为是第三方依赖的git资源有问题,跟踪一段时间发现没有多少关系。后手动在共享文件夹中解压,发现也会解压失败。手动解压失败原因更详细,是因为压缩包中有一个link创建失败。遂想到可能与共享文件夹有关。将源码copy到linux自有目录下重新编译,果然问题得到解决。
python引用库找不到的错误,报错No module named '_ctypes'。按照网上的解决办法安装了需要的libffi-dev,重新make依然报该错误。由于python源码也是放在共享文件夹中编译的,考虑到问题一的情况,就将python源码也move到linux自有文件目录下重新编译安装。最后不出所料问题也得到了解决。
结论
回过头来看遇到的问题基本都是自己挖的坑,都是与虚拟机的共享文件夹有关。切记在共享文件夹中编译代码,要考虑两个系统是否有不兼容的文件管理规则。当然为了减少麻烦,以后还是打算老老实实的减少这种引入问题的使用场景。。。