如何在出现此错误后安装aggdraw?
我正在尝试安装aggdraw这个Python库,目的是为了创建高质量的图形,但我一直遇到这个错误:
agg22/include/agg_array.h: In member function `agg::int8u*
有什么解决办法吗?我该怎么安装它呢?
2 个回答
3
(是的,我是在回答我自己的问题)
经过在网上大量搜索,我发现这样做
export CFLAGS="-fpermissive"
在用 python setup.py build_ext -i
命令构建扩展之前,似乎能解决问题。
10
你应该按照这个链接中的说明来修补AGG,而不是仅仅让编译器允许不兼容64位的代码编译。这个链接是:http://www.pocketuniverse.ca/archive/2008/december/11/pil-and-aggdraw/
下面是你可以在命令行中执行的一种方法:
cd /tmp
svn co http://svn.effbot.org/public/tags/aggdraw-1.2a3-20060212
cd aggdraw-1.2a3-20060212
patch -p0 <<EOF
Index: agg2/include/agg_array.h
===================================================================
--- agg2/include/agg_array.h (revision 532)
+++ agg2/include/agg_array.h (working copy)
@@ -520,7 +520,7 @@
int8u* ptr = m_buf_ptr;
if(alignment > 1)
{
- unsigned align = (alignment - unsigned(ptr) % alignment) % alignment;
+ unsigned align = (alignment - (unsigned long)(ptr) % alignment) % alignment;
size += align;
ptr += align;
if(size <= m_rest)
EOF
python setup.py build_ext -i
python selftest.py
sudo python setup.py install