> On Aug 31, 2022, at 3:18 AM, Pascal <p....@orange.fr> wrote:
> 
>> 
>> Le 30 août 2022 à 18:18, john <jra...@ceridwen.us> a écrit :
>> 
>>> On Aug 30, 2022, at 8:31 AM, Pascal <p....@orange.fr> wrote:
>>> 
>>>> Le 16 août 2022 à 22:11, John Ralls <jra...@ceridwen.us> a écrit :
>>>> 
>>>>> On Aug 16, 2022, at 1:03 PM, Pascal <p....@orange.fr> wrote:
>>>>> 
>>>>>> Le 16 août 2022 à 02:09, john <jra...@ceridwen.us> a écrit :
>>>>>> 
>>>>>>> On Aug 15, 2022, at 9:13 AM, Pascal <p....@orange.fr> wrote:
>>>>>>> 
>>>>>>> Hello,
>>>>>>> 
>>>>>>> I've made a fresh gtk-osx install with:
>>>>>>> jhbuild bootstrap-gtk-osx
>>>>>>> jhbuild build pygments
>>>>>>> jhbuild build meta-gtk-osx-bootstrap
>>>>>>> 
>>>>>>> I've got this error:
>>>>>>> 
>>>>>>> *** Configuring libxml2 *** [5/9]
>>>>>>> ...
>>>>>>> /Users/me/2022a/src-2022/libxml2-2.9.12/configure --prefix 
>>>>>>> /Users/me/2022a/xnadalib-2022 --libdir="$JHBUILD_LIBDIR" --with-python  
>>>>>>> --with-python-install-dir=/Users/me/2022a/xnadalib-2022/lib/python3.10/site-packages
>>>>>>> ...
>>>>>>> *** Configuring itstool *** [7/9]
>>>>>>> ...
>>>>>>> checking whether 
>>>>>>> /Users/me/2022a/src-2022/.new_local/share/virtualenvs/etc-Mg3srn31/bin/python3
>>>>>>>  version is >= 2.6... yes
>>>>>>> ...
>>>>>>> checking for python module libxml2... 
>>>>>>> /Users/me/2022a/src-2022/itstool-2.0.6/configure: line 2604: 59919 Done 
>>>>>>>                    echo "import $py_module"
>>>>>>> 59920 Segmentation fault: 11  | $PYTHON - >&/dev/null
>>>>>>> not found
>>>>>>> configure: error: Python module libxml2 is needed to run this package
>>>>>>> *** Error during phase configure of itstool: ########## Error running 
>>>>>>> /Users/me/2022a/src-2022/itstool-2.0.6/configure --prefix 
>>>>>>> /Users/me/2022a/xnadalib-2022 *** [7/9]
>>>>>>> 
>>>>>>> itstool configure is unfortunately using $PYTHON:
>>>>>>>   if test -n "$PYTHON"; then
>>>>>>> # If the user set $PYTHON, use it and don't search something else.
>>>>>>> 
>>>>>>> which is set to (in jhbuild env):
>>>>>>> PYTHON=/Users/me/2022a/src-2022/.new_local/share/virtualenvs/etc-Mg3srn31/bin/python3
>>>>>>> 
>>>>>>> This PYTHON variable wasn't set in January'22 the last time I ran 
>>>>>>> jhbuild.
>>>>>>> Thus itstool was built ok.
>>>>>>> 
>>>>>>> What could be a workaround?
>>>>>> 
>>>>>> 
>>>>>> The most straightforward is to add
>>>>>> module_extra_env['itstool'] = ('PYTHON' : os.env.path(prefix, 'bin', 
>>>>>> 'python3'))
>>>>>> to your jhbuildrc-custom.
>>>>> 
>>>>> Thanks John for your quick answer,
>>>>> 
>>>>> My thinking was erroneous, sorry, the error is not that python doesn't 
>>>>> find libxml2 like:
>>>>> ModuleNotFoundError: No module named 'libxml2'
>>>>> 
>>>>> Whatever the PYTHON value is, as PYTHONPATH is set with 
>>>>> ${prefix}/lib/python3.10/site-packages then libxml2 is successfully found 
>>>>> but provoques a Segmentation fault.
>>>>> 
>>>>> It was ok last time with python 3.9:
>>>>> bld% ./xnadalib-2021/bin/python            
>>>>> Python 3.9.2 (default, Jan  9 2022, 11:56:26) 
>>>>> [Clang 13.0.0 (clang-1300.0.29.3)] on darwin
>>>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>>>> import libxml2
>>>>>>>> 
>>>>> 
>>>>> But not with python 3.10:
>>>>> bld% ./xnadalib-2022/bin/python3
>>>>> Python 3.10.2 (main, Aug 15 2022, 12:49:45) [Clang 13.1.6 
>>>>> (clang-1316.0.21.2.5)] on darwin
>>>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>>>> import libxml2
>>>>> zsh: segmentation fault  ./xnadalib-2022/bin/python3
>>>>> 
>>>>> Both built libxml2 have same version.
>>>>> 
>>>>> I don't find any relevant help on Google.
>>>>> libxml2 is a too long story :-( sorry to bother you with that.
>>>> 
>>>> Not quite enough information there, but as a guess you didn't rebuild 
>>>> libxml2 with the new python so it's linked to libpython3.9.dylib instead 
>>>> of libpython3.10.dylib.
>>> 
>>> Hello John,
>>> 
>>> I ran again all the installation (2022b) from the beginning but I got the 
>>> same error.
>>> My configuration:
>>> Prefix is /Users/me/2022b/xnadalib-2022
>>> % uname -v           
>>> Darwin Kernel Version 21.6.0: Wed Aug 10 14:25:27 PDT 2022; 
>>> root:xnu-8020.141.5~2/RELEASE_X86_64
>>> % xcodebuild -version 
>>> Xcode 13.4.1
>>> Build version 13F100
>>> % java -version      
>>> java version "14" 2020-03-17
>>> Java(TM) SE Runtime Environment (build 14+36-1461)
>>> Java HotSpot(TM) 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)
>>> 
>>> The offending file si libxml2mod.so imported by libxml2.py:
>>> % ls ./xnadalib-2022/lib/python3.10/site-packages
>>> Pygments-2.9.0-py3.10.egg-info/ libxml2mod.a
>>> README.txt                      libxml2mod.so*
>>> __pycache__/                    pkg_resources/
>>> _distutils_hack/                pygments/
>>> distutils-precedence.pth        setuptools/
>>> drv_libxml2.py                  setuptools-58.1.0.dist-info/
>>> libxml2.py
>>> 
>>> % ./xnadalib-2022/bin/python3
>>> Python 3.10.2 (main, Aug 30 2022, 11:48:18) [Clang 13.1.6 
>>> (clang-1316.0.21.2.5)] on darwin
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import libxml2mod
>>> zsh: segmentation fault  ./xnadalib-2022/bin/python3
>>> 
>>> But this file is well bound against Python 3.10:
>>> % otool -L ./xnadalib-2022/lib/python3.10/site-packages/libxml2mod.so
>>> ./xnadalib-2022/lib/python3.10/site-packages/libxml2mod.so:
>>>     /Users/me/2022b/xnadalib-2022/lib/libxml2.2.dylib (compatibility 
>>> version 12.0.0, current version 12.12.0)
>>>     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
>>> version 1311.100.3)
>>>     /Users/me/2022b/xnadalib-2022/lib/libz.1.dylib (compatibility version 
>>> 1.0.0, current version 1.2.12)
>>>     /Users/me/2022b/xnadalib-2022/lib/liblzma.5.dylib (compatibility 
>>> version 8.0.0, current version 8.5.0)
>>>     /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 
>>> 7.0.0)
>>>     /Users/me/2022b/xnadalib-2022/lib/libpython3.10.dylib (compatibility 
>>> version 3.10.0, current version 3.10.0)
>>>     /Users/me/2022b/xnadalib-2022/lib/libintl.8.dylib (compatibility 
>>> version 11.0.0, current version 11.0.0)
>>>     
>>> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
>>>  (compatibility version 150.0.0, current version 1858.112.0)
>>> 
>>> I provide these details in case that they might help.
>>> Else what could help?
>> 
>> I sure hope that java doesn't have anything to do with anything!
>> 
>> There should be a crash report in Console with what segfaulted and a stack 
>> trace. What does that say?
> 
> Nothing relevant in the console but some lldb gives:
> 
> % lldb ./xnadalib-2022/bin/python3
> (lldb) target create "./xnadalib-2022/bin/python3"
> Current executable set to '/Users/me/2022b/xnadalib-2022/bin/python3' 
> (x86_64).
> (lldb) run
> Process 12477 launched: '/Users/me/2022b/xnadalib-2022/bin/python3' (x86_64)
> Python 3.10.2 (main, Aug 30 2022, 11:48:18) [Clang 13.1.6 
> (clang-1316.0.21.2.5)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import libxml2
> libpython3.10.dylib was compiled with optimization - stepping may behave 
> oddly; variables may not be available.
> Process 12477 stopped
> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS 
> (code=1, address=0x10)
>    frame #0: 0x00000001039359ab libpython3.10.dylib`PyModule_Create2 
> [inlined] _PyInterpreterState_GET at pycore_pystate.h:117:20 [opt]
>   114         #ifdef Py_DEBUG
>   115             _Py_EnsureTstateNotNULL(tstate);
>   116         #endif
> -> 117            return tstate->interp;
>   118         }
>   119         
>   120         
> Target 0: (python3) stopped.
> (lldb) frame variable 
> (PyThreadState *) tstate = NULL
> (lldb) bt
> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS 
> (code=1, address=0x10)
>  * frame #0: 0x00000001039359ab libpython3.10.dylib`PyModule_Create2 
> [inlined] _PyInterpreterState_GET at pycore_pystate.h:117:20 [opt]
>    frame #1: 0x000000010393599d 
> libpython3.10.dylib`PyModule_Create2(module=0x000000010313c110, 
> module_api_version=1013) at moduleobject.c:176:34 [opt]
>    frame #2: 0x00000001031059d9 libxml2mod.so`PyInit_libxml2mod + 25
>    frame #3: 0x00000001006d8b72 
> libpython3.10.dylib`_PyImport_LoadDynamicModuleWithSpec + 530
> 
> What would you advice to go further?


Pascal,

Not The Console, /Applications/Utilities/Console.app. Select Crash Reports from 
the sidebar. You'll find a list of programs that have crashed. Double click one 
and it will display a nice report with a stack trace.

But you got there with lldb, so that's OK.

You could rebuild python with --with-pydebug. That will enable that 
_Py_EnsureTstateNotNULL function call and presumably avoid the crash. It might 
also provide some info about why tstate was NULL and lead to either a solution 
or at least something that you can feed back to the libxml2 folks.

Regards,
John Ralls

_______________________________________________
gtk-osx-users-list mailing list
gtk-osx-users-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-osx-users-list

Reply via email to