51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

MariaDB编译报错ambiguous python shebang...

本文基于RHEL8.x系统,mariadb-10.4.32版本,理论适用于RockyLinux8.x、AlmaLinux8.x等其它8.x相关衍生版本。

在该系统编译MariaDB10.4.32版本,接近完成时报错,报错内容如下:
*** ERROR: ambiguous python shebang in /usr/local/mysql/bin/myrocks_hotbackup: #!/usr/bin/env python. Change it to python3 (or python2) explicitly.

|---|--------------------------------------------------------------------------------------------------------------------------------------------------------| | 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

将查找到的内容
SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang") MARK_AS_ADVANCED(PYTHON_SHEBANG)

|-----|----------------------------------------------------------------------------------------------------------| | 1 2 | SET(PYTHON_SHEBANG "/usr/bin/env python" CACHE STRING "python shebang") MARK_AS_ADVANCED(PYTHON_SHEBANG) |

修改为,如下
SET(PYTHON_SHEBANG "/usr/bin/env python3" 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) |

保存后重新编译即可。

注意:重新编译时需清理缓存后再重新编译。

如果你不会清理编译缓存,建议直接删除编译的目录,重新解压缩源码包,在进行编译。

赞(0)
未经允许不得转载:工具盒子 » MariaDB编译报错ambiguous python shebang...