On Wed, Dec 20, 2017 at 09:21:23AM +0300, Alexei Mezin wrote: > 19.12.2017 17:47, Dmitry V. Levin пишет: > > > Это неправильно, в --ldflags не должно быть никаких -l, только -L. > > Для -l есть --libs. > > Однако в python-config --ldflags есть аж 4 штуки -l и ни одной -L. > > Верно ли я понял, что правильным путем выхода из ситуации будет > объяснение сборочным скриптам, что опции линковки для приложений, > которым действительно нужна libpython, надо брать из python-config > --libs? В данный момент это окажется всего одна опция -lpython2.7. $ python2.7-config --ldflags -lpthread -ldl -lutil -lm -Xlinker -export-dynamic $ python2.7-config --libs -lpthread -ldl -lutil -lm -lpython2.7 В нормальной ситуации --ldflags должен выводить опции, --libs библиотеки, использовать надо обе так, как это принято. Но python2.7-config не следует этим правилам, там всё перепутано. python3.5-config немного лучше в этом плане: $ python3.5-config --ldflags -L/usr/lib64/python3.5/config-3.5m -lpython3.5m -lpthread -ldl -lutil -lm -Xlinker -export-dynamic $ python3.5-config --libs -lpython3.5m -lpthread -ldl -lutil -lm -- ldv