<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Linking against my libpython3.4.a gets me a step further and a more
    exciting error!<br>
    <br>
    <tt>Fatal Python error: PyThreadState_Get: no current thread</tt><tt><br>
    </tt><tt>Process 500 stopped</tt><tt><br>
    </tt><tt>* thread #1: tid = 0x11bcb, 0x24e04c84
      libsystem_kernel.dylib`__pthread_kill + 8, queue =
      'com.apple.main-thread', stop reason = signal SIGABRT</tt><tt><br>
    </tt><tt>    frame #0: 0x24e04c84
      libsystem_kernel.dylib`__pthread_kill + 8</tt><tt><br>
    </tt><tt>libsystem_kernel.dylib`__pthread_kill:</tt><tt><br>
    </tt><tt>->  0x24e04c84 <+8>:  blo   
      0x24e04c9c                ; <+32></tt><tt><br>
    </tt><tt>    0x24e04c88 <+12>: ldr    r12, [pc,
      #0x4]           ; <+24></tt><tt><br>
    </tt><tt>    0x24e04c8c <+16>: ldr    r12, [pc, r12]</tt><tt><br>
    </tt><tt>    0x24e04c90 <+20>: b     
      0x24e04c98                ; <+28></tt><br>
    <br>
    Any thoughts on this one Phil?! It doesnt actually kill the
    application, it just hangs at the launch screen!<br>
    <br>
    Cheers, Rob<br>
    <br>
    <div class="moz-cite-prefix">On 04/05/2016 17:17, Robert Kent wrote:<br>
    </div>
    <blockquote cite="mid:572A20A3.9070906@gulon.co.uk" type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      Hi David,<br>
      <br>
      Great minds think alike, I just actually took a step further by
      codesigning the module! Now I get a new error!<br>
      <br>
      <tt>File ":/imp.py", line 243, in load_module</tt><tt><br>
      </tt><tt>ImportError:
        dlopen(/var/mobile/Containers/Bundle/Application/E6DF5582-0426-4D83-815B-4862ABDACCB9/SpruceApp.app/numpy.core.multiarray.so,

        2): Symbol not found: _PyBool_Type</tt><tt><br>
      </tt><tt>15B-4862ABDACCB9/SpruceApp.app/numpy.core.multiarray.so</tt><tt><br>
      </tt><tt>  Expected in: flat namespace</tt><tt><br>
      </tt><tt> in
/var/mobile/Containers/Bundle/Application/E6DF5582-0426-4D83-815B-4862ABDACCB9/SpruceApp.app/numpy.core.multiarray.so</tt><tt><br>
      </tt><tt>Process 492 exited with status = 1 (0x00000001)</tt><br>
      <br>
      This looks like I failed to link something...<br>
      <br>
      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.<br>
      <br>
      I'm doing this with NumPy 1.9.3 as well, also manually patched.<br>
      <br>
      Thanks you very much indeed,<br>
      <br>
      Rob<br>
      <br>
      <div class="moz-cite-prefix">On 04/05/2016 17:11, David Morris
        wrote:<br>
      </div>
      <blockquote
cite="mid:CAHk-ryBZnj-Ko90VYPQR=c4mYGFgYugtVcGyVPzH7-JJKq3HCQ@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div>
            <div>
              <div>
                <div>Rob,<br>
                  <br>
                </div>
                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.<br>
                <br>
              </div>
              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 ....<br>
              <br>
            </div>
            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 ... ?<br>
            <br>
          </div>
          David<br>
        </div>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Wed, May 4, 2016 at 10:56 PM,
            Robert Kent <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:rob@gulon.co.uk" target="_blank">rob@gulon.co.uk</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">So, here
              I go again!<br>
              <br>
              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:<br>
              <br>
              File ":/imp.py", line 243, in load_module<br>
              ImportError:
dlopen(/var/mobile/Containers/Bundle/Application/9AA43814-71DA-4544-993B-B783D83CB5B1/TestApp.app/<a
                moz-do-not-send="true"
                href="http://numpy.core.multiarray.so" rel="noreferrer"
                target="_blank">numpy.core.multiarray.so</a>, 2): no
              suitable image found.  Did find:<br>
              5B1/TestApp.app/<a moz-do-not-send="true"
                href="http://numpy.core.multiarray.so" rel="noreferrer"
                target="_blank">numpy.core.multiarray.so</a>: 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.<br>
              Process 475 exited with status = 1 (0x00000001)<br>
              <br>
              I have no idea what this is telling me! It obviously finds
              image, tries to load it and fails.<br>
              <br>
              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.<br>
              <br>
              All help gratefully received,<br>
              <br>
              Rob<br>
              _______________________________________________<br>
              PyQt mailing list    <a moz-do-not-send="true"
                href="mailto:PyQt@riverbankcomputing.com"
                target="_blank">PyQt@riverbankcomputing.com</a><br>
              <a moz-do-not-send="true"
                href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt"
                rel="noreferrer" target="_blank">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a></blockquote>
          </div>
          <br>
        </div>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
PyQt mailing list    <a class="moz-txt-link-abbreviated" href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a>
<a class="moz-txt-link-freetext" href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt">https://www.riverbankcomputing.com/mailman/listinfo/pyqt</a></pre>
    </blockquote>
    <br>
  </body>
</html>