conda-forge / conda-forge/python-feedstock

INSTSONAME in Makefile does not point to a .so file?

未关闭
#181 13 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Shell
星标
47
派生
112
平均合并
2 天 9 小时
30 天内合并 PR
18

描述

I'm not sure if it's a python or a conda build thing, so please refer me to the right channel if this is not the right place to address this issue.

After I installed Python 3.6.5 in Linux (through conda from anaconda build hc3d631a_2) I see the following in [environment root]/lib/python3.6/config-3.6m-x86_64-linux-gnu/Makefile:

```
LIBRARY= libpython$(VERSION)$(ABIFLAGS).a
LDLIBRARY= libpython$(VERSION)$(ABIFLAGS).a
BLDLIBRARY= $(LDLIBRARY)
PY3LIBRARY=
DLLLIBRARY=
LDLIBRARYDIR=
INSTSONAME= $(LDLIBRARY)
```

Does this look odd as the INSTSONAME is not a .so? The reason for this is that I think some autoconf script (such as Vim when compiling with python support) would read the INSTSONAME from the Makefile and use that as the dynamic library name. And thus it will try to load the .a instead of .so and failed (?).

Here is the same file for Python 3.5.2 (lib/python3.5/config-3.5m):

```
LIBRARY= libpython$(VERSION)$(ABIFLAGS).a
LDLIBRARY= libpython$(LDVERSION).so
BLDLIBRARY= -L. -lpython$(LDVERSION)
PY3LIBRARY= libpython3.so
DLLLIBRARY=
LDLIBRARYDIR=
INSTSONAME= libpython$(LDVERSION).so.1.0
```

It looks like this is what the python configure.ac is setting:

https://github.com/python/cpython/blob/master/configure.ac

My question is, should the LDLIBRARY point to a .so?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。