<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello Christophe,</p>
    <p>Awesome! With this beta SDK I managed to compile my program with
      gcc5, and I ran a few tests with success. I will test it more
      thoroughly next week. Thanks a lot!<br>
      The included binary doesn't seem to work though, just so you know.<br>
    </p>
    <p>Regarding the approach with the gmsh.h_cwrap header, I see two
      distinct issues:</p>
    <ol>
      <li>The "multiple-definition" error that may occur at the linking
        stage for programs that have more than one compilation unit
        (tutorials in doc/gmsh/demos/api are not concerned).<br>
        As far as I know this issue can indeed be solved either with the
        -zmuldefs flag, by inlining the functions in gmsh.h_cwrap (that
        mail was from me) or using anonymous namespaces as suggested by
        Juan Sanchez (that I didn't try).<br>
        <br>
      </li>
      <li>The segfault that occurs at execution, due to the infinite
        recursion you mentioned.<br>
      </li>
    </ol>
    <p>But the SDK built with gcc5 made my day! ;-) Thanks again!</p>
    <p>Cheers,</p>
    <p>Julien<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 15.03.2019 19:09, Christophe
      Geuzaine wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3A385C3A-E7F2-461C-A7C3-6BF92A0866F1@uliege.be">
      <pre wrap="">
Hello Julien (and the other Linux SDK users),

Could you give this beta SDK build a try? (It's now compiled with gcc5 (to match our Windows builds), and does not depend on libgfortran anymore. It's still built with an old glibc version, so that we can continue to support older distributions.)

<a class="moz-txt-link-freetext" href="http://gmsh.info/beta/gmsh-git-Linux64-sdk.tgz">http://gmsh.info/beta/gmsh-git-Linux64-sdk.tgz</a>

Thanks,

Christophe

</pre>
      <blockquote type="cite">
        <pre wrap="">On 14 Mar 2019, at 20:31, Christophe Geuzaine <a class="moz-txt-link-rfc2396E" href="mailto:cgeuzaine@uliege.be"><cgeuzaine@uliege.be></a> wrote:

</pre>
        <blockquote type="cite">
          <pre wrap="">On 14 Mar 2019, at 17:49, Julien Hess <a class="moz-txt-link-rfc2396E" href="mailto:julien.hess.ch@gmail.com"><julien.hess.ch@gmail.com></a> wrote:

Hello Max and Christophe,

I just encountered the same problem with the latest version 4.2.2 of the SDK. The regular header works just fine on Ubuntu with GCC 4, but the approach with the cwrap and gmshc.h to make it work with GCC 5 still causes a segfault when calling gmsh::initialize(). Do you remember what the issue with the cwrap header was? Is there a way to fix or bypass that issue?

</pre>
        </blockquote>
        <pre wrap="">
As stated in the README, until we ship the SDK compiled with a more recent gcc you should use "-D_GLIBCXX_USE_CXX11_ABI=0". Or as suggested on the mailing list, you could inline the functions in gmsh.h_cwrap or encapsulate them in another namespace. If somebody can confirm that inlining allows to solve the issue, we could change gmsh.h_cwrap to do the inlining by default.

More detailed explanation : the ABI from gcc5 is *partially* compatible with the gcc4 ABI. This means that using gmsh.h_cwrap as-is will lead to infinite recursions for e.g gmsh::initialize (which has the same name mangling with the 2 compilers), as the call to the function defined in gmsh.h_cwrap will call the C function, which itself will call back the function in gmsh.h_cwrap (instead of the function in the library).

Christophe


</pre>
        <blockquote type="cite">
          <pre wrap="">Thanks for any help!

Julien

On 27 Jul 2018, at 15:02, Max Orok <morok at mevex.com
</pre>
          <blockquote type="cite">
            <pre wrap="">wrote:
</pre>
          </blockquote>
          <pre wrap="">

Yes, there was an issue with the cwrap header but the regular header was
fine after all.
Sorry for the trouble!

Max Orok

On Fri, Jul 27, 2018 at 1:58 AM, Christophe Geuzaine <
cgeuzaine at uliege.be
</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">wrote:

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">
</pre>
          <blockquote type="cite">
            <pre wrap="">
On 10 Jul 2018, at 17:32, Max Orok <morok at mevex.com
wrote:
</pre>
          </blockquote>
          <pre wrap="">
</pre>
          <blockquote type="cite">
            <pre wrap="">

</pre>
          </blockquote>
          <pre wrap="">Hello all,

</pre>
          <blockquote type="cite">
            <pre wrap="">

</pre>
          </blockquote>
          <pre wrap="">Sorry for the newbie question. I have some C++ code that has successfully

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">built and ran using the windows gmsh SDK but which causes a segfault on

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">ubuntu when trying to call gmsh::initialize(). I have tried the basic gmsh

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">C++ header and .so files, using the cwrap and gmshc.h version of the gmsh

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">header file, defining the ABI number for g++ as 0, (and 1 just for kicks),

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">and finally recompiling the .so from source with the same compiler as the

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">other code, all to no avail. Is there anything further I can try apart from

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">wrestling with gdb?

</pre>
          <blockquote type="cite">
            <pre wrap="">


</pre>
          </blockquote>
          <pre wrap="">Did you fix the issue ?

</pre>
          <blockquote type="cite">
            <pre wrap="">

</pre>
          </blockquote>
          <pre wrap="">CG

</pre>
          <blockquote type="cite">
            <pre wrap="">


</pre>
          </blockquote>
          <pre wrap="">Thanks for your time,

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">Max Orok

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">_______________________________________________

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">gmsh mailing list

</pre>
          <blockquote type="cite">
            <pre wrap="">gmsh at onelab.info
<a class="moz-txt-link-freetext" href="http://onelab.info/mailman/listinfo/gmsh">http://onelab.info/mailman/listinfo/gmsh</a>



</pre>
          </blockquote>
          <pre wrap="">—

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">Prof. Christophe Geuzaine

</pre>
          <blockquote type="cite">
            <pre wrap="">
</pre>
          </blockquote>
          <pre wrap="">University of Liege, Electrical Engineering and Computer Science

</pre>
          <blockquote type="cite">
            <pre wrap=""><a class="moz-txt-link-freetext" href="http://www.montefiore.ulg.ac.be/~geuzaine">http://www.montefiore.ulg.ac.be/~geuzaine</a>

Free software: <a class="moz-txt-link-freetext" href="http://gmsh.info">http://gmsh.info</a> | <a class="moz-txt-link-freetext" href="http://getdp.info">http://getdp.info</a> | <a class="moz-txt-link-freetext" href="http://onelab.info">http://onelab.info</a>


</pre>
          </blockquote>
          <pre wrap="">
-- 
Max Orok
Summer Student

<a class="moz-txt-link-abbreviated" href="http://www.mevex.com">www.mevex.com</a>
_______________________________________________
gmsh mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gmsh@onelab.info">gmsh@onelab.info</a>
<a class="moz-txt-link-freetext" href="http://onelab.info/mailman/listinfo/gmsh">http://onelab.info/mailman/listinfo/gmsh</a>
</pre>
        </blockquote>
        <pre wrap="">
— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
<a class="moz-txt-link-freetext" href="http://www.montefiore.ulg.ac.be/~geuzaine">http://www.montefiore.ulg.ac.be/~geuzaine</a>




_______________________________________________
gmsh mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gmsh@onelab.info">gmsh@onelab.info</a>
<a class="moz-txt-link-freetext" href="http://onelab.info/mailman/listinfo/gmsh">http://onelab.info/mailman/listinfo/gmsh</a>
</pre>
      </blockquote>
      <pre wrap="">
— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
<a class="moz-txt-link-freetext" href="http://www.montefiore.ulg.ac.be/~geuzaine">http://www.montefiore.ulg.ac.be/~geuzaine</a>



</pre>
    </blockquote>
    <br>
  </body>
</html>