【发布时间】:2014-06-13 05:01:58
【问题描述】:
我正在尝试在 heroku 上安装 reportlab 2.7,但编译失败。
我用远程外壳生成了一台机器并尝试编译它。我启动python setup.py build 时遇到的错误如下
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DRENDERPM_FT -DLIBART_COMPILATION -DLIBART_VERSION="2.3.12" -I/app/reportlab-2.7/src/rl_addons/renderPM -I/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl -I/app/reportlab-2.7/src/rl_addons/renderPM/gt1 -I/usr/include -I/usr/include/freetype2 -I/app/.heroku/python/include/python2.7 -c /app/reportlab-2.7/src/rl_addons/renderPM/gt1/gt1-region.c -o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/gt1/gt1-region.o
gcc -pthread -shared build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/_renderPM.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_vpath_bpath.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_rgb_pixbuf_affine.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_rgb_svp.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_svp.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_svp_vpath.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_svp_vpath_stroke.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_svp_ops.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_vpath.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_vpath_dash.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_affine.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_rect.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_rgb_affine.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_rgb_affine_private.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_rgb.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_rgb_rgba_affine.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_svp_intersect.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_svp_render_aa.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/libart_lgpl/art_misc.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/gt1/gt1-parset1.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/gt1/gt1-dict.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/gt1/gt1-namecontext.o build/temp.linux-x86_64-2.7/app/reportlab-2.7/src/rl_addons/renderPM/gt1/gt1-region.o -L/usr/local/lib -L/usr/lib -L/app/.heroku/python/lib -L/app/.heroku/python/lib -lfreetype -lpython2.7 -o build/lib.linux-x86_64-2.7/_renderPM.so
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
为什么会失败?我一年前创建的另一个应用程序从来没有遇到过这个问题。
我怀疑 buildpack 已更改,但我不明白其中的差异,也不知道如何修复它。
【问题讨论】:
-
其他人在安装依赖于 PIL/Pillow 的库时遇到类似的问题
-
我也遇到了同样的问题,求大神帮忙!
-
我在heroku上开了一张票,看看会发生什么
-
我在使用 Pillow 时遇到了这种构建问题。我在2.2.2。将我的 requirements.txt 更改为使用 2.4.0 解决了它。
-
看看我对类似问题的回答:stackoverflow.com/questions/24143783/…