1. 问题现象
在 Ubuntu 上编译某些驱动代码,由于环境的差异,有些驱动存在 "Argument list too long" 错误,具体如下所示:
2. 问题分析
上述问题存在的原因是:Make的时候,后面跟的参数太长了,使用getconf ARG_MAX命令可以查看系统配置,值为:2097152
3. 解决方法
想要解决如上问题,需要修改编译机器Linux内核的 MAX_ARG_STRLEN 宏的大小,具体如下所示,修改完相关代码后,重新编译和安装内核即可解决此问题。
在 Ubuntu 上编译某些驱动代码,由于环境的差异,有些驱动存在 "Argument list too long" 错误,具体如下所示:
上述问题存在的原因是:Make的时候,后面跟的参数太长了,使用getconf ARG_MAX命令可以查看系统配置,值为:2097152
想要解决如上问题,需要修改编译机器Linux内核的 MAX_ARG_STRLEN 宏的大小,具体如下所示,修改完相关代码后,重新编译和安装内核即可解决此问题。