[devel] /usr/lib64/python2.7/config/libpython2.7.a is WRONG
Dmitry V. Levin
ldv на altlinux.org
Пн Апр 16 13:57:22 MSK 2012
On Mon, Apr 16, 2012 at 09:01:21AM +0400, Vitaly Kuznetsov wrote:
> On Sun, 15 Apr 2012 20:13:37 +0400, Yuri N. Sedunov wrote:
[...]
> >И здесь надо исправить.
> >$ python-config --ldflags
> >-L/usr/lib/python2.7/config -lpthread -ldl -lutil -lm -lpython2.7
> >-Xlinker -export-dynamic
>
> Не нравится -l или -L? Или обе? :)
Тут много чего не нравится.
-L не нужен просто потому, что в /usr/lib/python2.7/config нет никаких
библиотек.
-lpthread -ldl -lutil -lm -lpython2.7 не нравится, потому что --ldflags
это не --libs.
Но это именно не нравится, эти лишние -L и -l хотя бы ничего не ломают.
> Захакать, конечно, можно, но от этого
> могут сломаться те, кому действительно
> надо линковаться с libpython. В debian, чей
> подход к сборке python мы в том или ином виде
> пытаемся повторить
Не понимаю, зачем мы пытаемся этот подход повторить. Он, в отличие от
традиционного, будет постоянно создавать нам проблемы.
> в /usr/lib{,64}/python2.x/config/ лежат:
> файлы пакета python-dev:
> libpython2.x.a
> libpython2.x-pic.a
> файл пакета libpython:
> libpython2.x.so -> ../../libpython2.x.so.1
У нас всего этого нагромождения нет, и не надо.
> python-config --ldflags:
> -L/usr/lib/python2.x/config -lpthread -ldl -lutil -lm -lpython2.x
>
> В python-config логика следующая:
> libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
> libs.append('-lpython'+pyver)
> # add the prefix/lib/pythonX.Y/config dir, but only if there is
> no
> # shared library in prefix/lib/.
> if opt == '--ldflags':
> if not getvar('Py_ENABLE_SHARED'):
> libs.insert(0, '-L' + getvar('LIBPL'))
> libs.extend(getvar('LINKFORSHARED').split())
> print ' '.join(libs)
>
> т.е. -lpython2.x добавляется всегда,
> -L/usr/lib{,64}/python2.x/config добавляется в случае
> статической линковки интерпретатора с
> libpython. У нас, насколько я понимаю,
> пользователей статической libpython2.x.a нет,
У нас есть python-devel-static, и его для потенциальных пользователей
libpython2.7.a вполне достаточно.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20120416/a9de4260/attachment-0001.bin>
Подробная информация о списке рассылки Devel