Found a solution myself. It looks like you have to explicitly link python with
libgcc_s during build time to solve this problem. This looks like a uClibc bug
Regards,Alex
среда, 28 января 2015 19:44 Alex Potapenko
писал(а):
I run Python on an arm-brcm-linux-uclibcgnueabi router. Python was
cross-compiled using hndtools-arm-linux-2.6.36-uclibc-4.5.3 toolchain. While
trying to use deluge, I realised that there's something wrong with handling C++
exceptions in C++ extension modules: they're not being caught at all. I tested
whether C++ exception handling works on my system in general, and concluded it
does work fine. I then wrote a simple C++ extension module with a try-catch
block in the init function, that has a "throw 1" in the try section and a
"catch (...)" section (see module.cpp), and I got "terminate called after
throwing an instance of 'int'" when trying to load the module. Tested this with
Python 2.7.9 and 3.4.2, however I had similar issues with other versions, such
as 2.7.3 and 2.6.9.
Does anyone happen to know what I can try here? Any help is greatly appreciated!
Thanks in advance,
Alex
--
https://mail.python.org/mailman/listinfo/python-list