From: Barry S. <ba...@ba...> - 2023-12-05 10:41:33
|
On 29/11/2023 11:15, Matti Viljamaa wrote: > I am attempting to build pycxx-7.1.8 for OpenBSD 7.4-current. > > I am following the Unix installation guide at: > > https://cxx.sourceforge.net/ > > The final line: > > make -f linux.mak clean test > > or > > gmake -f linux.mak clean test > > in OpenBSD > > fails to > > ... > TEST: call C++ with Python callback_bad > callback_bad with 'callback_args string' > Abort trap (core dumped) > gmake: *** [linux.mak:86: test] Error 134 > > Upon inspecting test_simple.py I've noticed that it seems to be linked > to raising ValueError, because commenting out line 31: > > raise ValueError( 'callback_bad error' ) > > in test_simple.py makes test_simple.py progress to the next test. Now > I see: > > ... > TEST: call C++ with Python callback_bad > callback_bad with 'callback_args string' > FAILED callback_bad None > TEST: call C++ with Python callback_raise_simple_error > callback_bad with 'callback_args string' > Abort trap (core dumped) > > However, since the Abort traps continue showing, I speculate that this > is about something more. Possible reasons: > > * pycxx-7.1.8 is not compatible with Python 3.10 (or a particular > subversion) I fully support python 3.10 and I assum you want to build pysvn and I also fully support on python 3.10. > * something is different in OpenBSD compared to Linux It will be this. When I'm testing I use the build-limited-api.sh and build-unlimited-api.sh scripts. You might want to use them, after you add openbsd changes (gmake vs make). If you let me know what uname prints for OpenBSD I'll commit the change for the next release. When I run ./build-unlimited-api.sh python3.10 I get this output for the callback test: ... TEST: raise user defined exception PASS SimpleError Testing simple error TEST: call C++ with Python callback_good callback_good with 'callback_args string' PASS callback_good returned 'good result' TEST: call C++ with Python callback_bad callback_bad with 'callback_args string' PASS callback_bad: error callback_bad error ... I suggest that you run the failing test under gdb so that you can find out why the abort is happening. Unhandled exception in the C++ maybe? I tried to build a VM to run this in for openbsd 7.4 but I cannot install the CD install75.iso version. I am an old OpenBSD user so the install is familiar. linux virt-manager can setup a VM but I see a ATA error part way through the install process. The VM reboots after the kernle syncs the disks but has not installed the OS. As there is not a arm64 ISO I cannot try with macOS parallels. Do you have access to a linux VM to compare against? I use Fedora 39 as by main development environment. I assume that PyCXX was working on OpenBSD 7.3? Barry |