Following are sys.base_prefix and sys.path under my build environment.
sys.base_prefix:/var/pkg
sys.path:['/var/pkg/work/lang/python39/work/Python-3.9.12', '/var/pkg/lib/python39.zip', '/var/pkg/work/lang/python39/work/Python-3.9.12/Lib', '/var/pkg/work/lang/python39/work/Python-3.9.12/build/lib.linux-x86_64-3.9', '/var/pkg/lib/python3.9/site-packages']
My PREFIX is /var/pkg and WRKOBJDIR is /var/pkg/work.
The patched operation "sys.path = [p for p..." removes all the sys.path members.
It seems that the patched operation should keep paths under WRKOBJDIR in sys.path.
When I disabled WRKOBJDIR setting, the build finished without problem.
Best regards,
Yosuke
The following reply was made to PR pkg/56785; it has been noted by GNATS.
From: David Holland <dholland-pbugs%netbsd.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: pkg/56785: Python 3.9 build fails with pkgsrc-2022Q1 on Linux
Date: Thu, 21 Apr 2022 02:50:06 +0000
On Sun, Apr 10, 2022 at 12:35:00AM +0000, you.kawasaki%gmail.com@localhost wrote:
> I found commenting out the following line from patch/patch-setup is effective in completing the build.
>
> +sys.path = [p for p in sys.path if not re.compile('^' + sys.base_prefix + '/').match(p)]
>
> Under my environment, this line makes the sys.path an empty list.
> Moreover, it worked fine if I change "if not" to "if".
What's in sys.base_prefix? Sounds like it's got some characters in it
that make Python think it's an invalid regexp.
There should probably be some kind of quoting operation on there to
protect it.
--
David A. Holland
dholland%netbsd.org@localhost
--