zoukankan      html  css  js  c++  java
  • mac中安装mysqlclient出错error: command 'clang' failed with exit status 1的解决办法

    在mac中使用pip安装mysqlclient遇到了以下问题

     In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:32:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
        #error Unsupported architecture
         ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:33:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
        #error architecture not supported
         ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
        typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_dev_t;         /* dev_t */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean 'uint64_t'?
        typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/_types/_uint64_t.h:31:28: note: 'uint64_t' declared here
        typedef unsigned long long uint64_t;
                                   ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
        typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'
        typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
        typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
                ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:53:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types/_intptr_t.h:30:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
        #error architecture not supported
         ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:53:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types/_intptr_t.h:32:9: error: unknown type name '__darwin_intptr_t'
        typedef __darwin_intptr_t       intptr_t;
                ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:46:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/types.h:81:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/endian.h:37:2: error: architecture not supported
        #error architecture not supported
         ^
        fatal error: too many errors emitted, stopping now [-ferror-limit=]
        20 errors generated.
        error: command 'clang' failed with exit status 1
    
    

    解决方法

    export ARCHFLAGS="-arch x86_64"
    然后再次安装mysqlclient即可。

    原因

    可以看到最后的错误写的是clang出错,大概率是编译器的问题,中间还报错了几次,architecture not supported,我猜测应该是新版本的xcode command tool默认使用的是arm版本的编译方式,而如果是x86架构,则需要通过环境变量指定使用何种架构。

  • 相关阅读:
    Visual Studio: 一键卸载所有组件工具,彻底卸载干净。
    由于未能创建Visual C# 2015编译器,因此未能打开项目xxx。请重新安装Visual Studio。
    MySQL:ROWNUM的假实现
    mysql、MS SQL关于分页的sql查询语句 limit 和row_number() OVER函数
    Redis:默认配置文件redis.conf详解
    Redis:五种数据类型的简单增删改查
    使用控制台对Redis执行增删改查命令
    Redis:高性能文件缓存key-value储存
    redis : 桌面管理工具 redis-desktop-manager使用指南
    SqlServer :利用快捷键快速查看 字段说明查询及表结构 (小技巧)
  • 原文地址:https://www.cnblogs.com/trytoreachpeak/p/14747777.html
Copyright © 2011-2022 走看看