<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    It finally works ! But only in a Qt Virtual Framebuffer for the
    moment, not yet in the embedded system.<br>
    <br>
    What I've done is not very clean, but it seemed to fix the issue.<br>
    I simply commented the QMutex lock in qsettings.cpp (method
    getPath() l.1166) that was going into a deadlock because the same
    mutex was called twice.<br>
    <br>
    But now I have a Segmentation fault when I try to execute the same
    application on my ARM platform.<br>
    <blockquote><small>Map theme file does not exist: "" <br>
        QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch
        failed: No such file or directory<br>
        QFileSystemWatcher: failed to add paths:
        /root/.local/share/marble/maps/earth/placemarks/<br>
        Segmentation fault</small><br>
      <br>
    </blockquote>
    I also have the same warnings when launching the app in a QVFB but
    it does not crash:<br>
    <meta name="qrichtext" content="1">
    <blockquote>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><!--StartFragment--><span
          style=" font-family:'Monospace'; font-size:9pt;
          color:#be1414;">Map theme file does not exist: "" </span></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span
          style=" font-family:'Monospace'; font-size:9pt;
          color:#be1414;">QInotifyFileSystemWatcherEngine::addPaths:
          inotify_add_watch failed: No such file or directory</span></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span
          style=" font-family:'Monospace'; font-size:9pt;
          color:#be1414;">QFileSystemWatcher: failed to add paths:
          /home/jeremie/.local/share/marble/maps/earth/placemarks/</span></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span
          style=" font-family:'Monospace'; font-size:9pt;
          color:#be1414;">QCursor: Cannot create bitmap cursor; invalid
          bitmap(s)</span><!--EndFragment--></p>
      ...<br>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><!--StartFragment--><span
          style=" font-family:'Monospace'; font-size:9pt;
          color:#be1414;">Base tiles for "earth/hillshading" not
          available. Skipping. </span></p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
        margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span
          style=" font-family:'Monospace'; font-size:9pt;
          color:#be1414;">QFSFileEngine::open: No file name specified</span></p>
      <span style=" font-family:'Monospace'; font-size:9pt;
        color:#be1414;">Cannot open file '', because: No file name
        specified</span></blockquote>
    <meta http-equiv="Content-Type" content="text/html;
      charset=ISO-8859-1">
    <style type="text/css">
p, li { white-space: pre-wrap; }
</style>
    <meta name="qrichtext" content="1">
    <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
      margin-right:0px; -qt-block-indent:0; text-indent:0px;"><!--EndFragment--></p>
    <meta http-equiv="Content-Type" content="text/html;
      charset=ISO-8859-1">
    <style type="text/css">
p, li { white-space: pre-wrap; }
</style><br>
    It seems as if the segmentation fault is related to the warning <span
      style=" font-family:'Monospace'; font-size:9pt; color:#be1414;">QCursor:
      Cannot create bitmap cursor; invalid bitmap(s)</span> : the app
    crashes just before this message should be displayed on ARM system.<br>
    <br>
    Any idea of what can cause this crash ?<br>
    <br>
    Regards,<br>
    <br>
    Jérémie SCHEER<br>
    <br>
    <br>
    On 05/24/2012 11:39 AM, Jeremie Scheer wrote:
    <blockquote cite="mid:4FBE01E3.9080000@armadeus.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      Hi,<br>
      <br>
      I tried to search a bit further to find what can cause the issue.
      When I put a breakpoint in Qt sources on the QMutex error message,
      if I follow up the call chain from the breakpoint, I find the
      constructor of QSettings that may be in cause.<br>
      <br>
      And in Marble, I found that QSettings is instanciated 2 times in
      qtmain.cpp (main method) and QtMarbleConfigDialog.cpp (that is
      also initialized in main() at first).<br>
      <br>
      The only strange thing is that I directly use MarbleWidget in
      Marble library, so Marble main() method must not be called and
      both QSettings never instanciated...<br>
      <br>
      Regards,<br>
      <br>
      Jérémie SCHEER<br>
      <br>
      <br>
      On 05/23/2012 04:49 PM, Jeremie Scheer wrote:
      <blockquote cite="mid:4FBCF900.6060205@armadeus.com" type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        In fact, it is even not loading the map theme, as it crashes
        before the first instruction of the main() method : if I put
        breakpoints in main(), it doesn't break on them, even at the
        first instruction, it simply runs and crashes...<br>
        <br>
        Regards,<br>
        -- <br>
        Jérémie Scheer<br>
        Software Engineer<br>
        Tel: +33 (0)9 72 29 41 44<br>
        Fax: +33 (0)9 72 28 79 26<br>
        Armadeus Systems - A new vision of the embedded world<br>
        <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://www.armadeus.com">http://www.armadeus.com</a><br>
        <br>
        <br>
        On 05/23/2012 04:17 PM, Jeremie Scheer wrote:
        <blockquote cite="mid:4FBCF17E.6@armadeus.com" type="cite">
          <meta content="text/html; charset=ISO-8859-1"
            http-equiv="Content-Type">
          I tried that also but I'm really not lucky : whatever the map
          theme I choose to load in Marble widget, it crashes. So it
          doesn't seem to be related neither.<br>
          <br>
          Regards,<br>
          <div class="moz-signature">-- <br>
            Jérémie Scheer<br>
            Software Engineer<br>
            Tel: +33 (0)9 72 29 41 44<br>
            Fax: +33 (0)9 72 28 79 26<br>
            Armadeus Systems - A new vision of the embedded world<br>
            <a moz-do-not-send="true" class="moz-txt-link-freetext"
              href="http://www.armadeus.com">http://www.armadeus.com</a></div>
          <br>
          <br>
          On 05/23/2012 03:51 PM, Dennis Nienhüser wrote:
          <blockquote cite="mid:4FBCEB59.6050809@gentoo.org" type="cite">
            <meta content="text/html; charset=ISO-8859-1"
              http-equiv="Content-Type">
            Hi,<br>
            <br>
            can you try whether using the plain.dgml theme (<small>"earth/plain/plain.dgml"</small>)
            instead of openstreetmap.dgml helps? This map theme does not
            have any texture layers. The texture layers make use of
            threads as well.<br>
            <br>
            Regards,<br>
            Dennis<br>
            <br>
            Am 23.05.2012 15:36, schrieb Jeremie Scheer:
            <blockquote cite="mid:4FBCE7FA.3020705@armadeus.com"
              type="cite">
              <meta content="text/html; charset=ISO-8859-1"
                http-equiv="Content-Type">
              Hi,<br>
              <br>
              Thank you for your answer.<br>
              <br>
              Unfortunately it doesn't seem to be the plugins that cause
              the thread issue.<br>
              I tried what you suggested me to do but I always run into
              the same error with QMutex.<br>
              <br>
              It is the same error that makes my application crash in a
              Qt Virtual Framebuffer or on ARM platform.<br>
              <br>
              Regards,<br>
              <div class="moz-signature">-- <br>
                Jérémie Scheer<br>
                Software Engineer<br>
                Tel: +33 (0)9 72 29 41 44<br>
                Fax: +33 (0)9 72 28 79 26<br>
                Armadeus Systems - A new vision of the embedded world<br>
                <a moz-do-not-send="true" class="moz-txt-link-freetext"
                  href="http://www.armadeus.com">http://www.armadeus.com</a></div>
              <br>
              <br>
              On 05/23/2012 01:25 PM, Dennis Nienhüser wrote:
              <blockquote cite="mid:4FBCC93B.2050502@gentoo.org"
                type="cite">
                <meta content="text/html; charset=ISO-8859-1"
                  http-equiv="Content-Type">
                I started looking into it yesterday but Qt Embedded
                wasn't compiling on my system due to some known bug
                where glib and webkit interfere.<br>
                <br>
                I'd suggest trying to move all marble plugins away first
                (just remove them from lib/marble/plugins in the
                installation directory of marble) and see if that
                changes things. Might be some threading issue, the
                parser plugins working on startup for example run in
                their own thread each.<br>
                <br>
                Regards,<br>
                Dennis<br>
                <br>
                Am 23.05.2012 11:12, schrieb Jeremie Scheer:
                <blockquote cite="mid:4FBCAA00.5060104@armadeus.com"
                  type="cite">
                  <meta content="text/html; charset=ISO-8859-1"
                    http-equiv="Content-Type">
                  Any idea ?<br>
                  <br>
                  Is it simply possible to use Marble in a Qt Virtual
                  Framebuffer with Qt Embedded ?<br>
                  <br>
                  I think it should be, because I found this link on the
                  Internet <a moz-do-not-send="true"
                    class="moz-txt-link-freetext"
                    href="http://wm161.net/2008/07/26/marble-under-qtembedded-linux/">http://wm161.net/2008/07/26/marble-under-qtembedded-linux/</a>
                  . A little bit old but it shows that Marble could run
                  under Qt Embedded.<br>
                  <br>
                  I can't see what is the origin of the bug because I've
                  no QThread or QMutex in my application. It can only
                  come from the compilation of Marble...<br>
                  <br>
                  My Qt Embedded is configured like this:<br>
                  <blockquote><small>configure -embedded x86_64 -no-cups
                      -no-nis -depths 16,18 -qvfb -prefix
                      /usr/local/Trolltech/QtEmbedded-4.7.2 -glib
                      -confirm-license -qt-sql-sqlite<br>
                    </small></blockquote>
                  <br>
                  And I configure Marble to build against Qt like this:<br>
                  <blockquote><small>PATH=/usr/local/Trolltech/QtEmbedded-4.7.2/bin:$PATH







                      cmake -DQTONLY=ON ../marble_qvfb/</small><br>
                  </blockquote>
                  <br>
                  Regards,<br>
                  <br>
                  Jérémie SCHEER<br>
                  <br>
                  <br>
                  On 05/22/2012 04:13 PM, Jeremie Scheer wrote:
                  <blockquote cite="mid:4FBB9EF8.1000908@armadeus.com"
                    type="cite">
                    <meta http-equiv="content-type" content="text/html;
                      charset=ISO-8859-1">
                    Hi,<br>
                    <br>
                    I'm currently trying to use a Marble library built
                    against <u>Qt 4.7.4 Embedded x86</u>.<br>
                    <br>
                    My application using Marble is built against the
                    same Qt and is running in a Qt Virtual Framebuffer
                    with a QWS Server.<br>
                    <br>
                    In the Qt project file, I simply added : <i>LIBS =
                      -lmarblewidget</i> to link with Marble. And when
                    running the application, I defined the environment
                    variable <i>LD_LIBRARY_PATH=/usr/local/lib</i>
                    where Marble libraries are installed.<br>
                    <br>
                    The problem is : when I run the application, before
                    any instruction can be executed, it crashes on :
                    <meta name="qrichtext" content="1">
                    <p style=" margin-top:0px; margin-bottom:0px;
                      margin-left:0px; margin-right:0px;
                      -qt-block-indent:0; text-indent:0px;"><!--StartFragment--><span
                        style=" font-family:'Monospace'; font-size:9pt;
                        color:#be1414;">QMutex::lock: Deadlock detected
                        in thread 0x7f1fe30bb740 </span><!--EndFragment--></p>
                    <meta http-equiv="Content-Type" content="text/html;
                      charset=ISO-8859-1">
                    <style type="text/css">
p, li { white-space: pre-wrap; }
</style><br>
                    Here is my application code :<br>
                    <blockquote><small>#include
                        <QtGui/QApplication><br>
                        #include <marble/MarbleWidget.h><br>
                        #include <marble/MarbleModel.h><br>
                        #include <marble/global.h><br>
                        #include <QWSServer><br>
                        <br>
                        using namespace Marble;<br>
                        <br>
                        int main(int argc, char** argv)<br>
                        {<br>
                            QApplication app(argc,argv);<br>
                            QWSServer *sw =  QWSServer::instance ();<br>
                        <br>
                            // Create a Marble QWidget without a parent<br>
                            MarbleWidget *mapWidget = new
                        MarbleWidget();<br>
                        <br>
                            // Load the OpenStreetMap map<br>
                           
                        mapWidget->setMapThemeId("earth/openstreetmap/openstreetmap.dgml");<br>
                            mapWidget->setProjection(Mercator);<br>
                        <br>
                            mapWidget->show();<br>
                        <br>
                            return app.exec();<br>
                        }</small><br>
                    </blockquote>
                    <br>
                    If I build the same application (without the QWS
                    Server) and Marble against Qt x86, it works well.<br>
                    <br>
                    Is there anything I did wrong with Qt Embedded ?<br>
                    <br>
                    Thanks,<br>
                    <div class="moz-signature">-- <br>
                      Jérémie Scheer<br>
                      Software Engineer<br>
                      Tel: +33 (0)9 72 29 41 44<br>
                      Fax: +33 (0)9 72 28 79 26<br>
                      ARMadeus Systems - A new vision of the embedded
                      world<br>
                      <a moz-do-not-send="true"
                        class="moz-txt-link-freetext"
                        href="http://www.armadeus.com">http://www.armadeus.com</a></div>
                    <br>
                    <fieldset class="mimeAttachmentHeader"></fieldset>
                    <br>
                    <pre wrap="">_______________________________________________
Marble-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
                  </blockquote>
                  <br>
                  <br>
                  <div class="moz-signature">-- <br>
                    Jérémie Scheer<br>
                    Software Engineer<br>
                    Tel: +33 (0)9 72 29 41 44<br>
                    Fax: +33 (0)9 72 28 79 26<br>
                    ARMadeus Systems - A new vision of the embedded
                    world<br>
                    <a moz-do-not-send="true"
                      class="moz-txt-link-freetext"
                      href="http://www.armadeus.com">http://www.armadeus.com</a></div>
                  <br>
                  <fieldset class="mimeAttachmentHeader"></fieldset>
                  <br>
                  <pre wrap="">_______________________________________________
Marble-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
                </blockquote>
                <br>
                <br>
                <fieldset class="mimeAttachmentHeader"></fieldset>
                <br>
                <pre wrap="">_______________________________________________
Marble-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
              </blockquote>
              <br>
              <fieldset class="mimeAttachmentHeader"></fieldset>
              <br>
              <pre wrap="">_______________________________________________
Marble-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
            </blockquote>
            <br>
            <br>
            <fieldset class="mimeAttachmentHeader"></fieldset>
            <br>
            <pre wrap="">_______________________________________________
Marble-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
          </blockquote>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
Marble-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
        </blockquote>
        <br>
        <br>
        <div class="moz-signature"><br>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
Marble-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
      </blockquote>
      <br>
      <br>
      <div class="moz-signature">-- <br>
        Jérémie Scheer<br>
        Software Engineer<br>
        Tel: +33 (0)9 72 29 41 44<br>
        Fax: +33 (0)9 72 28 79 26<br>
        Armadeus Systems - A new vision of the embedded world<br>
        <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://www.armadeus.com">http://www.armadeus.com</a></div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Marble-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Marble-devel@kde.org">Marble-devel@kde.org</a>
<a class="moz-txt-link-freetext" href="https://mail.kde.org/mailman/listinfo/marble-devel">https://mail.kde.org/mailman/listinfo/marble-devel</a>
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      Jérémie Scheer<br>
      Software Engineer<br>
      Tel: +33 (0)9 72 29 41 44<br>
      Fax: +33 (0)9 72 28 79 26<br>
      Armadeus Systems - A new vision of the embedded world<br>
      <a class="moz-txt-link-freetext" href="http://www.armadeus.com">http://www.armadeus.com</a></div>
  </body>
</html>