安装libmemcached时gcc失败,退出状态为1

2024-05-17 04:34:07 发布

您现在位置:Python中文网/ 问答频道 /正文

在尝试遵循http://code.google.com/p/python-libmemcached/上的python libmemcached指令时,我在第3步遇到了麻烦(“python设置.py安装“)

    (gigmash_venv)m:python-libmemcached matthewparrilla$ python setup.py build
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.3-fat-2.7
    copying cmemcached.py -> build/lib.macosx-10.3-fat-2.7
    running build_ext
    building 'cmemcached_imp' extension
    creating build/temp.macosx-10.3-fat-2.7
    gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c cmemcached_imp.c -o build/temp.macosx-10.3-fat-2.7/cmemcached_imp.o
    powerpc-apple-darwin9-gcc-4.0.1: cmemcached_imp.c: No such file or directory
    powerpc-apple-darwin9-gcc-4.0.1: no input files
    i686-apple-darwin9-gcc-4.0.1: cmemcached_imp.c: No such file or directory
    i686-apple-darwin9-gcc-4.0.1: no input files
    lipo: can't figure out the architecture type of: /var/folders/0o/0oHT3RmJF80rpIJtdbegzE+++TI/-Tmp-//cc9xQqQ6.out
    error: command 'gcc-4.0' failed with exit status 1

我几乎不知道这意味着什么,也不知道该怎么做。我的comp上有多个gcc版本(4.0和4.2),并且从google上搜集到了足够多的gcc版本。否则就完全输了。在

提前谢谢。在

[编辑:遵照@phihag的指示]

我现在收到了一个完全不同但仍然令人困惑的错误:

^{pr2}$

Tags: pybuildcreatingapplelibgooglefattemp
1条回答
网友
1楼 · 发布于 2024-05-17 04:34:07

发生此错误是因为文件cmemcached_imp.c不存在,但必须在此步骤中进行编译。在

首先,编辑文件cmemcached_imp.pyx,并修复第506行中的打字错误。而不是

sys.stderr.write("[cmemcached]%s only support string: %s" % (cmd, key))

,应该说

^{pr2}$

然后,安装cython并执行

$ cython cmemcached_imp.pyx

cython应该静默地生成文件cmemcached_imp.c。在

虽然这将修复即时错误,但您可能还需要替换

ext_modules=[Extension('cmemcached_imp',
            ['cmemcached_imp.pyx', 'split_mc.c'],

setup.py

ext_modules=[Extension('cmemcached_imp',
            ['cmemcached_imp.c', 'split_mc.c'],

针对编辑:

如果您逐字遵循说明,您还需要在本地目录中缓存libmemcached。执行

$ ln -s $(pwd)/../libmemcached-0.40/libmemcached

在python libmemcached中实现。在

相关问题 更多 >