【问题标题】:Oursql install : error: command 'x86_64-linux-gnu-gcc' failed with exit status 1Oursql 安装:错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1
【发布时间】:2016-08-27 15:50:10
【问题描述】:

我已经解决了之前的大部分错误,并且已经安装在 python 3.5 virtualenv 中: python3-dev libmysqlclient-dev libmariadb-client-lgpl-dev libmariadb-client-lgpl-dev-compat

但是

sudo pip install oursql

仍然出现此错误:

Installing collected packages: oursql
  Running setup.py install for oursql ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-

build-fHedbn/oursql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r

\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-V5ljoT-record/install-record.txt --single-

version-externally-managed --compile:
    cython not found, using previously-cython'd .c file.
    running install
    running build
    running build_ext
    building 'oursql' extension
    mysql_config --cflags
    creating build
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/oursqlx
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing 

-Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -

I/usr/include/python2.7 -c oursqlx/oursql.c -o build/temp.linux-x86_64-2.7/oursqlx/oursql.o -

I/usr/include/mysql -fabi-version=2 -fno-omit-frame-pointer
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/oursql.c:235:
    /usr/include/mysql/mysql/client_plugin.h:97:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/oursql.c:235:
    /usr/include/mysql/mysql/client_plugin.h:107:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    oursqlx/oursql.c: In function ‘__pyx_pf_6oursql_6Cursor_4callproc’:
    oursqlx/oursql.c:16330:13: warning: variable ‘__pyx_v_params’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_params = 0;
                 ^
    oursqlx/oursql.c:16329:13: warning: variable ‘__pyx_v_procname’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_procname = 0;
                 ^
    oursqlx/oursql.c: In function ‘__pyx_pf_6oursql_6Cursor_14setoutputsize’:
    oursqlx/oursql.c:18140:13: warning: variable ‘__pyx_v_column’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_column = 0;
                 ^
    oursqlx/oursql.c:18139:13: warning: variable ‘__pyx_v_size’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_size = 0;
                 ^
    oursqlx/oursql.c: In function ‘__pyx_pf_6oursql_6Cursor_16__exit__’:
    oursqlx/oursql.c:18245:13: warning: variable ‘__pyx_v_tb’ set but not used [-Wunused-but-set-variable]
       PyObject *__pyx_v_tb = 0;
                 ^
    oursqlx/oursql.c:18244:13: warning: variable ‘__pyx_v_value’ set but not used [-Wunused-but-set-

variable]
       PyObject *__pyx_v_value = 0;
                 ^
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing 

-Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -

I/usr/include/python2.7 -c oursqlx/compat.c -o build/temp.linux-x86_64-2.7/oursqlx/compat.o -

I/usr/include/mysql -fabi-version=2 -fno-omit-frame-pointer
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/compat.c:1:
    /usr/include/mysql/mysql/client_plugin.h:97:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    In file included from /usr/include/mysql/mysql.h:64:0,
                     from oursqlx/compat.h:13,
                     from oursqlx/compat.c:1:
    /usr/include/mysql/mysql/client_plugin.h:107:3: warning: function declaration isn’t a prototype [-

Wstrict-prototypes]
       MYSQL_CLIENT_PLUGIN_HEADER
       ^
    In file included from oursqlx/compat.c:55:0:
    oursqlx/_exceptions.c: In function ‘_oursqlx_exc_from_errno’:
    oursqlx/_exceptions.c:620:24: error: ‘ER_ERROR_FIRST’ undeclared (first use in this function)
                 if (err >= ER_ERROR_FIRST && err <= ER_ERROR_LAST)
                            ^
    oursqlx/_exceptions.c:620:24: note: each undeclared identifier is reported only once for each function 

it appears in
    oursqlx/_exceptions.c:620:49: error: ‘ER_ERROR_LAST’ undeclared (first use in this function)
                 if (err >= ER_ERROR_FIRST && err <= ER_ERROR_LAST)
                                                     ^
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-

fHedbn/oursql/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', 

'\n'), __file__, 'exec'))" install --record /tmp/pip-V5ljoT-record/install-record.txt --single-version-

externally-managed --compile" failed with error code 1 in /tmp/pip-build-fHedbn/oursql/

非常感谢任何帮助!

【问题讨论】:

    标签: python python-3.x python-3.5 oursql


    【解决方案1】:

    通常,该错误消息意味着主机级别缺少包。

    基于:error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    尝试:

    sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev
    

    【讨论】:

      【解决方案2】:

      这可能是由于 MySQL 5.7 的更新。删除了一些破坏oursql 构建的常量。看到这个pull request in oursql。

      升级到oursql &gt;= 0.9.3.2 应该可以解决这个问题。

      请注意,尽管此 0.9.3.2 无法使用 MariaDB 10 构建。在那里你必须使用0.9.3.1。

      【讨论】:

      • 围绕这个问题找了几分钟,这是唯一对我构建 docker 映像有用的解决方案,非常感谢!
      【解决方案3】:

      最近,改用 pymysql 效果很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-08
        • 2017-05-20
        • 1970-01-01
        • 2016-04-18
        • 2014-11-21
        • 1970-01-01
        • 2015-01-23
        • 1970-01-01
        相关资源
        最近更新 更多