Bug 241757

Summary: lang/python38: invalid python-config --ldflags
Product: Ports & Packages Reporter: Konstantin Belousov <kib>
Component: Individual Port(s)Assignee: Antoine Brodin <antoine>
Status: Closed Not A Bug    
Severity: Affects Only Me Flags: koobs: maintainer-feedback+
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Konstantin Belousov freebsd_committer freebsd_triage 2019-11-06 13:29:39 UTC
Compare:
solo% python3.7-config --ldflags                                              ~
 -L/usr/local/lib -lpython3.7m -lcrypt -lintl -ldl -L/usr/local/lib -lintl -lutil -lm 
solo% python3.8-config --ldflags                                              ~
 -L/usr/local/lib  -lcrypt -lintl -ldl -L/usr/local/lib -lintl -lutil -lm -lm 

This directly affects any consumer that needs to embed python interpreter.  An example is devel/talloc.

Env is poudriere jail with FreeBSD/amd64 11.3-RELEASE
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2019-11-06 14:10:55 UTC
According to https://docs.python.org/3/whatsnew/3.8.html :

To embed Python into an application, a new --embed option must be passed to python3-config --libs --embed to get -lpython3.8 (link the application to libpython). To support both 3.8 and older, try python3-config --libs --embed first and fallback to python3-config --libs (without --embed) if the previous command fails.
Comment 2 Konstantin Belousov freebsd_committer freebsd_triage 2019-11-07 14:33:40 UTC
(In reply to Antoine Brodin from comment #1)
I see, it is the problem with samba' waf.  There is one more issue with timers as well.

In other words, samba from ports cannot be built with python 3.8.  Redhat seems to have the patches, but I do not think it is worth spending efforts on importing them, instead of importing newer samba.