我试图在一个必须在非标准位置安装libsnapy dev的系统上安装this package,并且不知道如何在自动安装中包括正确的标志来帮助gcc找到dev文件。在
可以预见,当我试图从github安装
pip git+git://github.com/andrix/python-snappy
我得到一个编译错误,因为找不到.h文件(在非标准的地方)。在
^{pr2}$我只是一个构建软件的黑客,但我认为我需要设置LDFLAGS变量如下:
export LDFLAGS="-L/app/vendor/snappy/usr/local/lib -L/app/vendor/snappy/usr/local/include"
但是,这并不是上面列出的gcc调用。有什么办法解决这个问题吗?在
编辑:进度。分岔快换
snappymodule = Extension('_snappy',
libraries=['snappy'],
sources=['snappymodule.cc', 'crc32c.c'])
到
snappymodule = Extension('_snappy',
libraries=['snappy'],
sources=['snappymodule.cc', 'crc32c.c'],
extra_compile_args=['-L/app/vendor/snappy/usr/local/lib -L/app/vendor/snappy/usr/local/include',
'-I/app/vendor/snappy/usr/local/lib -I/app/vendor/snappy/usr/local/include'])
已将错误推进到
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/include/python2.7 -c snappymodule.cc -o build/temp.linux-x86_64-2.7/snappymodule.o -L/app/vendor/snappy/usr/local/lib -L/app/vendor/snappy/usr/local/include -I/app/vendor/snappy/usr/local/lib -I/app/vendor/snappy/usr/local/include
意味着我们至少可以传递旗帜。仍在试图找出正确的标志是什么。手动检查仍然可以确认snappy.h在附近。在
~/vendor/snappy/usr/local/include $ pwd
/app/vendor/snappy/usr/local/include
~/vendor/snappy/usr/local/include $ ls
snappy-c.h snappy.h snappy-sinksource.h snappy-stubs-public.h
目前没有回答
相关问题 更多 >
编程相关推荐