Python34 include directory problems

Joshua Root jmr at macports.org
Mon Jul 6 10:51:56 PDT 2015


On 2015-7-7 03:19 , Michael Dickens wrote:
> Even something as minimal as making the default checked directory on
> python34 end with "m" works for me; it's probably not the ideal
> solution, but it's better than what we have right now. - MLD
> 
> {{{
> Index: _resources/port1.0/group/python-1.0.tcl
> ===================================================================
> --- _resources/port1.0/group/python-1.0.tcl     (revision 138364)
> +++ _resources/port1.0/group/python-1.0.tcl     (working copy)
> @@ -229,7 +229,11 @@
>              }
>          }
>          include {
> -            set inc_dir
> "${python.prefix}/include/python${python.branch}"
> +            if {${python.version} < 30} {
> +                set inc_dir
> "${python.prefix}/include/python${python.branch}"
> +            } else {
> +                set inc_dir
> "${python.prefix}/include/python${python.branch}m"
> +            }
>              if {[file exists ${inc_dir}]} {
>                  return ${inc_dir}
>              } else {
> }}}

For background, you introduced the current behaviour in
<https://trac.macports.org/changeset/105101>. The reason for the
globbing is that various abiflags [1] may be present in the directory
name depending on configure-time options.

I don't think we would ever be building without pymalloc, and we never
enable pydebug. That leaves --with-wide-unicode as enabled by +ucs4,
which is a hugely problematic variant (as well as breaking binary
compatibility, it also broke pyobjc last I heard) and has been removed
from later python versions' ports.

So, standardising on pymalloc only is probably right.

I'm not sure why you're seeing a python 3.x include dir without the m
suffix though. That sounds like a bug in whatever is installing the
files in there.

- Josh

[1] https://www.python.org/dev/peps/pep-3149/#proposal


More information about the macports-dev mailing list