银河麒麟V10+mips64安装python3.7.4的方法

银河麒麟V10+mips64安装python3.7.4的方法

因为工作需要,要在mips64龙芯cpu上安装 python3.7.4

主要参考了这篇文章 :银河麒麟安装Python3.7.4以及升级自带OpenSSL

但在实际操作中,在configure阶段,碰到了一个问题。现将该问题的解决过程及原因记录下来。

Configure的错误

在configure报错:

checking for g++... no
configure:

  By default, distutils will build C++ extension modules with "g++".
  If this is not intended, then set CXX on the configure command line.
  
checking for the platform triplet based on compiler characteristics... mips64el-linux-gnuabi64
configure: error: internal configure error for the platform triplet, please file a bug report

解决过程

一开始以为是g++的问题。因为错误中显示checking for g++ ... no。花了很长时间在这个方向上,没有结果。但我在arm麒麟V10上做同样的操作,也是显示checking for g++ ... no。看来是找错方向了。

我直接打开configure文件,直接搜索 internal configure error for the platform triplet, please file a bug report

在5348行,找到了相关代码。

从代码中,我们可以看到,这个问题是因为$PLATFORM_TRIPLET变量 与$MULTIARCH不一致导致的。通过echo,将这两个变量打印出来,他们分别是:

PLATFORM_TRIPLET:mips64el-linux-gnuabi64;

MULTIARCH:mips64el-linux-gnu

查找这两个变量,在5337找到了PLATFORM_TRIPLET的定义。从上下文中,可以看出,该值是由conftest.out输出的,其源码是 conftest.c。

conftest.c的源码就在configure里,从5192行开始,使用cat命令,写入到conftest.c文件中。

如果直接修改这一段源码,将5271行中的内容

改为

 那这个configure错误就解决了。

成因猜测

在mips64类型的cpu编译python时,python是将其平台设置为mips64-linux-gnuabi64。

但银河麒麟提供的平台是mips64-linux-gnu。所以在configure检查时,就报了这个错。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值