我花了几天时间试图解决这个问题,所以我要为下一个人发布问题和答案。
在CentOS 7中,使用以下命令安装Windows 7共享的文件夹:
mount -t cifs //MyWindowsPC/SharedFolder $MOUNTPOINT -o user=$USER,uid=$USER,gid="`id -g "$USER"`",cache=none
使用并行make(make -j)导致输入/输出错误,但不使用顺序make。 gcc / g ++无法读取的文件随着每次尝试而改变,偶尔gcc / g ++会注意到错误不可重现。由于系统日志显示非常通用的CIFS / VFS错误,这使我陷入了疯狂的追逐。
答案 0 :(得分:0)
Windows方面存在问题。我尝试了各种网站的建议组合。我没有花时间了解解决方案,但我将其缩小到只有两个Windows注册表更改。我已经测试过,这解决了5台不同的Windows 7机器与几台不同的CentOS 7和CentOS 6.2机器共享的问题。输入/输出错误消失,访问共享的速度很快。这是解决方案:
转到“开始”并搜索“regedit”。打开它并导航到HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / services / LanmanServer / Parameters /。在该文件夹中,右键单击并选择“修改”,将“大小”参数从1更改为3。
在同一文件夹中,右键单击并选择“new-> DWORD(32位)”。将其命名为“SMB2”并确保将其设置为零(应该是默认值)。
重新启动你的Windows机器,这应解决在Windows共享中编译的问题。
我不确定这两项修改是否都是必要的,但我相信他们会共同解决这个问题。