本文基于RHEL8.x系统,mariadb-10.4.32版本,理论适用于RockyLinux8.x、AlmaLinux8.x等其它8.x相关衍生版本。
在该系统编译MariaDB10.4.32版本,接近完成时报错,报错内容如下:
1 |
*** ERROR: ambiguous python shebang in /usr/local/mysql/bin/myrocks_hotbackup: #!/usr/bin/env python. Change it to python3 (or python2) explicitly. |
错误提示指出该脚本的shebang使用了模糊的写法,即#!/usr/bin/env python,系统无法确定应该使用哪个版本的Python,所以需要手动将shebang修改为明确指定使用的Python版本。
解决办法:
在mariadb的源码包中,找到CMakeLists.txt文件,在该文件中查找关键词python
将查找到的内容
1 2 |
SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang") MARK_AS_ADVANCED(PYTHON_SHEBANG) |
修改为,如下
1 2 |
SET(PYTHON_SHEBANG "/usr/bin/env python3" CACHE STRING "python shebang") MARK_AS_ADVANCED(PYTHON_SHEBANG) |
保存后重新编译即可。
注意:重新编译时需清理缓存后再重新编译。
如果你不会清理编译缓存,建议直接删除编译的目录,重新解压缩源码包,在进行编译。
原文链接:MariaDB编译报错ambiguous python shebang...,转载请注明来源!