[PyQt] Dynamic loading and pyqtdeplot and iOS
Robert Kent
rob at gulon.co.uk
Wed May 4 17:29:11 BST 2016
Linking against my libpython3.4.a gets me a step further and a more
exciting error!
Fatal Python error: PyThreadState_Get: no current thread
Process 500 stopped
* thread #1: tid = 0x11bcb, 0x24e04c84
libsystem_kernel.dylib`__pthread_kill + 8, queue =
'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x24e04c84 libsystem_kernel.dylib`__pthread_kill + 8
libsystem_kernel.dylib`__pthread_kill:
-> 0x24e04c84 <+8>: blo 0x24e04c9c ; <+32>
0x24e04c88 <+12>: ldr r12, [pc, #0x4] ; <+24>
0x24e04c8c <+16>: ldr r12, [pc, r12]
0x24e04c90 <+20>: b 0x24e04c98 ; <+28>
Any thoughts on this one Phil?! It doesnt actually kill the application,
it just hangs at the launch screen!
Cheers, Rob
On 04/05/2016 17:17, Robert Kent wrote:
> Hi David,
>
> Great minds think alike, I just actually took a step further by
> codesigning the module! Now I get a new error!
>
> File ":/imp.py", line 243, in load_module
> ImportError:
> dlopen(/var/mobile/Containers/Bundle/Application/E6DF5582-0426-4D83-815B-4862ABDACCB9/SpruceApp.app/numpy.core.multiarray.so,
> 2): Symbol not found: _PyBool_Type
> 15B-4862ABDACCB9/SpruceApp.app/numpy.core.multiarray.so
> Expected in: flat namespace
> in
> /var/mobile/Containers/Bundle/Application/E6DF5582-0426-4D83-815B-4862ABDACCB9/SpruceApp.app/numpy.core.multiarray.so
> Process 492 exited with status = 1 (0x00000001)
>
> This looks like I failed to link something...
>
> Anyway, I tried the static method and failed miserably, as in I
> managed to compile NumPy and make a libnumpy.a which I then linked
> against the application (via the LIBS variable in the .pro file), but
> python couldn't find (or didin't try to load/know about) the module. I
> would really appreciate a write up of this as I think this may very
> well be the answer for me too, thank you.
>
> I'm doing this with NumPy 1.9.3 as well, also manually patched.
>
> Thanks you very much indeed,
>
> Rob
>
> On 04/05/2016 17:11, David Morris wrote:
>> Rob,
>>
>> While iOS does support dynamic modules as of version 8, that support
>> is extremely limited compared to most platforms. I have not
>> experimented with it yet, however my understanding that dynamic
>> modules must be compiled as a framework (not just a shared library)
>> and must be properly signed, just like an app.
>>
>> For myself, I just compile NumPy as a static library compiled
>> directly into the executable. I can write up a description of how I
>> did this if you are interested ....
>>
>> Out of curiosity, are you using the latest version of NumPy? (1.11)
>> What did it take to get it compiled for iOS? I am running version
>> 1.9.3, but had to patch a few files. I haven't looked into more
>> recent versions yet, but suspect patching is necessary still ... ?
>>
>> David
>>
>> On Wed, May 4, 2016 at 10:56 PM, Robert Kent <rob at gulon.co.uk
>> <mailto:rob at gulon.co.uk>> wrote:
>>
>> So, here I go again!
>>
>> Having successfully built my app and NumPy and (bits of) SciPy
>> for Android, I am now trying it on iOS... And having my usual
>> struggle with understanding how to build/load extension modules.
>> I have managed to compile NumPy for iOS and have the necessary
>> .so files. I add them to the bundle and then run the app and I
>> get the following traceback:
>>
>> File ":/imp.py", line 243, in load_module
>> ImportError:
>> dlopen(/var/mobile/Containers/Bundle/Application/9AA43814-71DA-4544-993B-B783D83CB5B1/TestApp.app/numpy.core.multiarray.so
>> <http://numpy.core.multiarray.so>, 2): no suitable image found.
>> Did find:
>> 5B1/TestApp.app/numpy.core.multiarray.so
>> <http://numpy.core.multiarray.so>: mmap() error 1 at
>> address=0x0471E000, size=0x000DC000 segment=__TEXT in
>> Segment::map() mapping
>> /var/mobile/Containers/Bundle/Application/9AA43814-71DA-4544-993B-B783D83CB5B1/TestApp.
>> Process 475 exited with status = 1 (0x00000001)
>>
>> I have no idea what this is telling me! It obviously finds image,
>> tries to load it and fails.
>>
>> Has anyone had any success is building and loading extension
>> modules with pyqtdeploy for iOS or any ideas on where to go from
>> here. I'm guessing I've compiled something incorrectly but I have
>> no idea what/how.
>>
>> All help gratefully received,
>>
>> Rob
>> _______________________________________________
>> PyQt mailing list PyQt at riverbankcomputing.com
>> <mailto:PyQt at riverbankcomputing.com>
>> https://www.riverbankcomputing.com/mailman/listinfo/pyqt
>>
>>
>
>
>
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> https://www.riverbankcomputing.com/mailman/listinfo/pyqt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160504/352e721f/attachment-0001.html>
More information about the PyQt
mailing list