ERROR: unsafe header/library path used in cross-compilation: '-I/usr/include
似乎已启用 oldincludedir 导出非gnu工具链,因此在配置过程中会产生此包含。
一旦buildroot项目添加了偏执的不安全路径检查选项,问题似乎很常见,如here所述:
>> >> This error appear if one of the following paths is used during the
>> >> cross-compilation:
>> >> "/lib"
>> >> "/usr/include"
>> >> "/usr/lib"
>> >> "/usr/local/include"
>> >> "/usr/local/lib"
如何在configure中排除 oldincludedir 生成或如何更改其值而不是
oldincludedir='/usr/include'
配置类似于 includedir 变量:
includedir='${prefix}/include'
答案 0 :(得分:1)
有关发现偏执不安全路径检查的详细解释here但该链接似乎非常临时,因此副本也会在此答案中发布:
toolchain-external:用于警告不安全路径的仪器包装
CodeSourcery工具链有一个非常有趣的功能:他们警告说 使用不安全的头或库路径时的用户,即路径 这将导致主机头或库泄漏到构建中。
此提交在我们的外部工具链中添加了类似的功能 包装器,以便它可以与所有外部工具链一起使用,并且可以 也可以根据需要进行调整。默认情况下,外部工具链包装器 现在发出警告,如:
arm-linux-gcc: WARNING: unsafe header/library path used in cross-compilation: '-I /usr/foo'
arm-linux-gcc: WARNING: unsafe header/library path used in cross-compilation: '-L /usr/bleh'
但编译继续成功。然后可以很容易地进行grep 在他的构建日志中搜索此消息的出现。
可选地,如果 BR_COMPILER_PARANOID_UNSAFE_PATH 在 环境到非空值,外部包装器将改为 错误输出并中止编译。