[PyQt] pyqtdeploy, Ubuntu and dynamically loading modules...

Robert Kent rob at gulon.co.uk
Thu Mar 10 12:19:10 GMT 2016


Genius, thank you Ilya! I owe you beer :)

Phil, I'm using pyqtdeploycli to configure my static Python. What is 
there a correct way to pass options for pyconfig.h (WANT_SIGFPE_HANDLER 
in this case) or should I just patch it before running make?

Cheers, Rob

On 10/03/2016 11:57, Ilya Kulakov wrote:
> Check that Python is compiled with the WANT_SIGFPE_HANDLER flag.
>
>> On 10 Mar 2016, at 17:55, Robert Kent <rob at gulon.co.uk> wrote:
>>
>> Sorry, typo, should have been PyFPE_jbuf (just for the record).
>>
>> Will do, thanks,
>> Rob
>>
>> On 10/03/2016 11:53, Ilya Kulakov wrote:
>>> PyPFE_jbuf isn't from cpython.
>>>
>>> I'd try to find which binary lists that symbol.
>>>
>>>> On 10 Mar 2016, at 17:44, Robert Kent <rob at gulon.co.uk> wrote:
>>>>
>>>> Thanks for that Ilya,
>>>>
>>>> I've got passed that error by, as you suggested, adding -export-dynamic to the linker flags. It now fails a bit further on with the following:
>>>>
>>>>   File ":/imp.py", line 243, in load_module
>>>> ImportError: numpy.random.mtrand.so: undefined symbol: PyPFE_jbuf
>>>>
>>>> Am I naïve for thinking that if this issue is the same as the first then it too should have been solved?
>>>>
>>>> Thanks again, Rob
>>>>
>>>> On 09/03/2016 05:22, Ilya Kulakov wrote:
>>>>> Maybe there was a missing flag when main executable (with python interpreter) was compiled?
>>>>>
>>>>> The error suggests that PyExc_SystemError is hidden from numpy's extension library. Ensure that the `-export-dynamic` was used by the linker.
>>>>>
>>>>>> On 9 марта 2016 г., at 0:49, Robert Kent <rob at gulon.co.uk> wrote:
>>>>>>
>>>>>> Hi Phil,
>>>>>>
>>>>>> After successfully creating a build of my application with MacOSX and Windows using pyqtdeploy I am now onto the final candidate, namely Linux (Ubuntu to be precise). I have successfully got my application to build, but when I come to run it and load modules dynamically I run into the following error:
>>>>>>
>>>>>> ...
>>>>>>   File ":/imp.py", line 243, in load_module
>>>>>> ImportError: numpy.core.multiarray.so: undefined symbol: PyExc_SystemError
>>>>>>
>>>>>> I am using the exact same mechanism and layout that I used (sucessfully) on MacOSX, i.e. numpy.core.multiarray.so is placed alongside my exectuable, so I'm not sure where I'm going wrong. Google seems to think that it may be because numpy was built with/for the (static?) system Python and this maybe some kind of issue (I actually installed it via pip). If this is the case, how do I go about rebuilding it from source as the deployed python is a library, not an exe?
>>>>>>
>>>>>> My setup is as follows:
>>>>>>
>>>>>> Ubuntu 15.04 64bit
>>>>>> pyqtdeploy 1.2
>>>>>> Python 3.4.3
>>>>>> PyQt 5.4.2
>>>>>> Qt 5.4.2
>>>>>>
>>>>>> Any thoughts, advice or suggestions would be thoroughly appreciated!
>>>>>>
>>>>>> Thanks, Rob
>>>>>> _______________________________________________
>>>>>> PyQt mailing list    PyQt at riverbankcomputing.com
>>>>>> https://www.riverbankcomputing.com/mailman/listinfo/pyqt



More information about the PyQt mailing list