dav*_*one 2 python wxpython virtualenv python-2.7 ubuntu-14.10
以下过程失败.我错过了什么吗?
wxPython-src-3.0.1.1/testtestvirtualenv在终端,来自wxPython-src-3.0.1.1/:
./configure --prefix=/home/username/.virtualenvs/test --with-gtk2 --enable-unicode --with-opengl
#lots of output, confirms "Configured wxWidgets 3.0.1 for `x86_64-unknown-linux-gnu'"
make install
#lots of output, confirms:
# The installation of wxWidgets is finished. On certain
# platforms (e.g. Linux) you'll now have to run ldconfig
# if you installed a shared library and also modify the
# LD_LIBRARY_PATH (or equivalent) environment variable.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.virtualenvs/test/lib
# don't run ldconfig since that is a system tool, not appropriate for virtualenv?
cd wxPython
python setup.py install
# lots of output, starting:
# WARNING: WXWIN not set in environment. Assuming '..'
# Found wx-config: /home/username/.virtualenvs/test/bin/wx-config
# Using flags: --toolkit=gtk2 --unicode=yes --version=3.0
# Preparing CORE...
# Preparing STC...
# Preparing GLCANVAS...
# Preparing GIZMOS...
# running install
# etc
Run Code Online (Sandbox Code Playgroud)最终命令失败:
src/gtk/_core_wrap.cpp:20407:7: note: ‘arg3’ was declared here
int arg3 ;
^
src/gtk/_core_wrap.cpp: In function ‘PyObject* _wrap_Image_SetAlphaBuffer(PyObject*, PyObject*, PyObject*)’:
src/gtk/_core_wrap.cpp:3747:13: warning: ‘arg3’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (ALPHASIZE != self->GetWidth() * self->GetHeight()) {
^
src/gtk/_core_wrap.cpp:20474:7: note: ‘arg3’ was declared here
int arg3 ;
^
cc1plus: some warnings being treated as errors
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我曾经python setup.py install &> ~/error.txt把错误消息传递给知识渊博的同事,后者发现C编译正在使用该-Werror=format-security标志.此版本的wxPython(可能还有其他版本)无法使用该标志进行编译.
我$CPPFLAGS和$CFLAGS环境变量都是空的.事实证明,此标志由hardening-wrapper触发.
所以,我通过调用如下的最后一步来覆盖标志,并成功安装了wxPython:
CFLAGS=-Wno-error=format-security CPPFLAGS=-Wno-error=format-security python setup.py install
Run Code Online (Sandbox Code Playgroud)