macports 2.3.1 安装mysql 报错_error: command 'gcc' failed with exit status 1

在MacOS上安装MySQL-Python时遇到编译错误,提示gcc缺少limits.h头文件。解决方法包括安装MacPorts,更新到最新版本,安装gcc7,并解决Xcode版本问题。通过执行一系列命令,成功更新gcc并解决了报错。
摘要由CSDN通过智能技术生成

MacOS下想安装MySQL-Python,执行语句:

sudo pip install MySQL-Python

遇到了如下错误信息:

/Users/kaitlyn/anaconda3/envs/env2.7/lib/gcc/x86_64-apple-darwin11.4.2/4.8.5/include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directory

#include_next   /* recurse down to the real one */

^

compilation terminated.

error: command 'gcc' failed with exit status 1

可以看到gcc缺少头文件limit.h,google上看到有一个人遇到了相同的问题,他更新了新版本的gcc,问题得以解决。

解决方案是:更新gcc

1、下载适用于你的系统的MacPort,地址为https://www.macports.org/install.php

我的系统是macOS Mojave,所以下载安装了macOS Mojave v10.14

2、更新MacPort版本,确保是最新版,在命令行输入:

sudo port selfupdate

3、安装gcc,在命令行输入:

sudo port install gcc7

然后等待安装,过程可能比较慢。我安装的是gcc7,如果想安装任意别的版本,比如版本x,可以输入gccx。

在执行这条语句时这里遇到一个问题:

Warning: xcodebuild exists but failed to execute

Warning: Xcode does not appear to be installed; most ports will likely fail to build.

原因是从xcode4.3之前的版本更新之后,xcode-select依然指向旧版的xcode,需要在命令行输入:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

这个办法我是参考的链接https://trac.macports.org/wiki/ProblemHotlist,finish这条命令以后再sudo port install gcc7安装一下。

4、我使用下面的命令更新了gcc7的最新版,当然这一步你也可以跳过

sudo port -n upgrade --force gcc7

(env2.7) Kaitlyns-Mac:lib kaitlyn$ sudo port -n upgrade --force gcc7

--->  Fetching archive for gcc7

--->  Attempting to fetch gcc7-7.4.0_0.darwin_18.x86_64.tbz2 from https://pek.cn.packages.macports.org/macports/packages/gcc7

--->  Attempting to fetch gcc7-7.4.0_0.darwin_18.x86_64.tbz2.rmd160 from https://pek.cn.packages.macports.org/macports/packages/gcc7

--->  Computing dependencies for gcc7

--->  Deactivating gcc7 @7.4.0_0

--->  Cleaning gcc7

--->  Uninstalling gcc7 @7.4.0_0

--->  Cleaning gcc7

--->  Computing dependencies for gcc7

--->  Installing gcc7 @7.4.0_0

--->  Activating gcc7 @7.4.0_0

--->  Cleaning gcc7

--->  Scanning binaries for linking errors

--->  No broken files found.

--->  No broken ports found.

5、安装完成以后,输入gcc -version查看现在的版本,发现依然是以前的旧版本4.8.5,而不是我安装的新版本7。

(env2.7) Kaitlyns-Mac:lib kaitlyn$ gcc --version

gcc (GCC) 4.8.5

Copyright (C) 2015 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

这是因为原始默认版本就是4.8.5,需要切换版本。

切换版本:你可以下面的语句查看MacPort管理所有版本。以mp作为前缀开头的是MacPort自己管理的版本,而gcc7和IIvm-gcc7是Xcode管理的。

port select --list gcc

(env2.7) Kaitlyns-Mac:bin kaitlyn$ port select --list gcc

Available versions for gcc:

mp-gcc7

none (active)

可以看见我安装新版mp-gcc7

设置它为默认:

sudo port select --set gcc mp-gcc7

(env2.7) Kaitlyns-Mac:bin kaitlyn$ sudo port select --set gcc mp-gcc7

Password:

Selecting 'mp-gcc7' for 'gcc' succeeded. 'mp-gcc7' is now active.

再查看:

gcc --version

(env2.7) Kaitlyns-Mac:bin kaitlyn$ gcc --version

gcc (MacPorts gcc7 7.4.0_0) 7.4.0

Copyright (C) 2017 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.  There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

可以看到现在为gcc7.4.0了。

pip error: command 'gcc' failed with exit status 1

SWIG/_m2crypto_wrap.c:127:20: 致命错误:Python.h:没有那个文件或目录     #include                   ...

【centos】 error: command 'gcc' failed with exit status 1

原文连接http://blog.csdn.net/fenglifeng1987/article/details/38057193 用安装Python模块出现error: command 'gcc' f ...

python安装模块的时候报错error: command 'gcc' failed with exit status 1

[情况] 在写Python代码的时候,需要用到psutil模块,需要安装. 但是在安装时,报错:error: command 'gcc' failed with exit status 1 [解决步骤 ...

pip安装模块时:error: command 'gcc' failed with exit status 1

用安装python模块出现error: command 'gcc' failed with exit status 1 问题: gcc编译缺少模块 解决方法: yum install gcc libf ...

python psutil 编译中断。 error: command 'gcc' failed with exit status 1

error info [root@chenbj psutil-2.0.0]# python setup.py install running install running bdist_egg run ...

pycuda installation error: command 'gcc' failed with exit status 1

原文:python采坑之路 Setup script exited with error: command 'gcc' failed with exit status 1 伴随出现"cuda ...

随机推荐

【BZOJ】3505: [Cqoi2014]数三角形

题意 \(n * m(1 \le n, m \le 1000)\)的网格,求顶点在格点上三角形的个数. 分析 假设\(n \le m\) \(ans = \binom{(n+1) * (m+1)}{3 ...

LintCode Merge Sorted Array

两个排好序的数组, A有m个数, 长度够长, B有n个数, 长度为n, 将B放到A里, 不用buffer数组(临时数组), 就用A将两个合在一起, 同时排好序. 方法: 从右边将两个数组里最大的数取出 ...

WCF 4.0 使用说明

WCF 4.0开发说明,工具VS2013 ,IIS,使用http协议 打开VS2013,新建项目Visual C#>Web>Asp.NET Web应用程序,添加相关引用: System.S ...

ANDROID与.Net之间JSON实践

Asp.Net端: JsonHelper.cs using System.Runtime.Serialization.Json; using System.IO; using System.Text; ...

HTML5 web开发时遇到的一个奇葩问题。

昨天做了一个手机端的H5 页面. 首先就是各种兼容测试,调整修复..一系列操作之后,拿过来N多手机神马华为.小米.三星.水果5.6.plus,一番测试之后.嗯,还不错,稍作等待之后就上线了. 这是分割 ...

分享一些免费的,开源的邮件server软件

因为企业的须要,我们非常可能须要架设一个邮件server,微软的Exchange太复杂?GOOGLE出来的又收费!头大了吧,OK,贾芸斐在这里给大家分享推荐几个免费的开源的邮件server软件.希望你 ...

Js表单验证控件(使用方便,无需编码)-01使用说明

演示地址:http://weishakeji.net/Utility/Verify/Index.htm    开源地址:https://github.com/weishakeji/Verify_Js ...

最火移动端跨平台方案盘点:React Native、weex、Flutter

1.前言 跨平台一直是老生常谈的话题,cordova.ionic.react-native.weex.kotlin-native.flutter等跨平台框架的百花齐放,颇有一股推倒原生开发者的势头. ...

原生js实现返回顶部特效

index.html

&l ...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值