在构建 rPython 包时,我在 R 中遇到了一个错误,特别是链接到 libpython2.7 的部分:
gcc -std=gnu99 -I/foo/bar/R-3.1.1/lib64/R/include -DNDEBUG -I/usr/local/include \
-I/foo/bar/Python-2.7.6/include/python2.7 -I/foo/bar/Python-2.7.6/include/python2.7 \
-D PYTHONLIBFILE=libpython2.7.so -fpic -g -O2 -c pycall.c -o pycall.o
gcc -std=gnu99 -shared -L/usr/local/lib64 -o rPython.so pycall.o \
-lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic
/usr/bin/ld: error: cannot find -lpython2.7
问题似乎是,虽然 R(或 rPython)理解使用我的 Python 安装编译哪些 -I 规则,但它没有添加相应的链接器标志。不知道为什么,估计是bug。