Re: Unable to build python3.11

From: TIM KELLERS <tim_at_beachpatt.com>
Date: Sat, 08 Jun 2024 18:35:48 UTC
On 6/8/24 2:32 PM, TIM KELLERS wrote:
> I'm doing the update according to UPDATING now on:
> FreeBSD beachpatt.com 13.3-STABLE FreeBSD 13.3-STABLE 
> stable/13-n257865-e5e6242f62a3 MAY7 amd64
> 
> I'm a little confused on the
> #make clean all
> 
> part you used.
> 
> 3.11 just finished without an error, using just this:
>   # sh
>   # portmaster -o lang/python311 python39
> 
> Python upgraded then I followed with:
> # pkg delete -f "*py39*"
> # portmaster $REINSTALL
> 
> The dependent ports, at this stage are compiling along with no error so 
> far.
> 
> I didn't try the
> #make clean all  approach, but that isn't part of the UPDATING procedure.
> 
> Tim
> 
> 
> 
> 
> On 6/8/24 2:08 PM, Xavier Humbert wrote:
>> Le 08/06/2024 19:33, TIM KELLERS a écrit :
>>> On 6/8/24 12:38 PM, Xavier Humbert wrote:
>>>> Hi,
>>>>
>>>> Tried to compile python 3.11 but if fails at QA and install stage 
>>>> with  :
>>>>
>>>> [root@numenor python311]# make clean all
>>>> [...]
>>>> ====> Compressing man pages (compress-man)
>>>> ====> Running Q/A tests (stage-qa)
>>>> egrep: warning: egrep is obsolescent; using /usr/local/bin/ggrep -E
>>>> Warning: you might not need LIB_DEPENDS on libreadline.so.8
>>>> readelf: Error: Not an ELF file - it has the wrong magic bytes at 
>>>> the start
>>>> Warning: 
>>>> /usr/ports/lang/python311/work/stage/usr/local/lib/libpython3.11d.so.1.0-gdb.py doesn't have a SONAME.
>>>> Warning: pkg(8) will not register it as being provided by the port.
>>>> Warning: If another port depend on it, pkg will not be able to know 
>>>> where it comes from.
>>>> Warning: It is directly in /usr/local/lib, it is probably used by 
>>>> other ports.
>>>> [root@numenor python311]# make install
>>>> ===>  Installing for python311-3.11.9
>>>> ===>  Checking if python311 is already installed
>>>> ===>   Registering installation for python311-3.11.9
>>>> pkg-static: Unable to access file 
>>>> /usr/ports/lang/python311/work/stage/usr/local/lib/python3.11/lib-dynload/_testclinic.cpython-311.so:No such file or directory
>>>> *** Error code 1
>>>>
>>>> Stop.
>>>> make[1]: stopped in /usr/ports/lang/python311
>>>> *** Error code 1
>>>>
>>>> Stop.
>>>> make: stopped in /usr/ports/lang/python311
>>>> [root@numenor python311]# make showconfig
>>>> ===> The following configuration options are available for 
>>>> python311-3.11.9:
>>>>       DEBUG=on: Build with debugging support
>>>>       IPV6=on: IPv6 protocol support
>>>>       LIBMPDEC=on: Use libmpdec from ports instead of bundled version
>>>>       LTO=on: Use Link-Time Optimization
>>>>       NLS=on: Enable gettext support for the locale module
>>>>       PYMALLOC=on: Enable specialized mallocs
>>>> ====> Hash Algorithm (PEP-456): you can only select none or one of them
>>>>       FNV=off: Modified Fowler-Noll-Vo Algorithm
>>>>       SIPHASH=on: SipHash24 Algorithm
>>>> ===> Use 'make config' to modify these settings
>>>>
>>>> My goal was to follow 20240529 entry in UPDATING
>>>>
>>>> Regards,
>>>>
>>>> Xavier
>>>>
>>>
>>>
>>> Which version and which architecture are you building on?
>>>
>>> Tim
>>
>>
>> I'm building python 3.11 on 13-STABLE/amd64
>>
>> Xavier
>>
> 
> 
Pardon the previous top post...

The exact procedure that is working is:
   # sh
   # portmaster -o lang/python311 python39
   # REINSTALL="$(pkg info -oq '*py39*')"
   # pkg delete -f "*py39*"
   # portmaster $REINSTALL


That step is still compiling the updated dependencies.

Tim