> On 14 Mar 2019, at 17:49, Julien Hess <[email protected]> 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? >
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 > Thanks for any help! > > Julien > > On 27 Jul 2018, at 15:02, Max Orok <morok at mevex.com > > wrote: > > > 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 > > > wrote: > > > > > > > > On 10 Jul 2018, at 17:32, Max Orok <morok at mevex.com > > wrote: > > > > > > Hello all, > > > > > > Sorry for the newbie question. I have some C++ code that has successfully > > > > built and ran using the windows gmsh SDK but which causes a segfault on > > > > ubuntu when trying to call gmsh::initialize(). I have tried the basic gmsh > > > > C++ header and .so files, using the cwrap and gmshc.h version of the gmsh > > > > header file, defining the ABI number for g++ as 0, (and 1 just for kicks), > > > > and finally recompiling the .so from source with the same compiler as the > > > > other code, all to no avail. Is there anything further I can try apart from > > > > wrestling with gdb? > > > > > > > > Did you fix the issue ? > > > > > > CG > > > > > > > > Thanks for your time, > > > > Max Orok > > > > _______________________________________________ > > > > gmsh mailing list > > > gmsh at onelab.info > > http://onelab.info/mailman/listinfo/gmsh > > > > > > > — > > > > Prof. Christophe Geuzaine > > > > University of Liege, Electrical Engineering and Computer Science > > > http://www.montefiore.ulg.ac.be/~geuzaine > > > > Free software: http://gmsh.info | http://getdp.info | http://onelab.info > > > > > > -- > Max Orok > Summer Student > > www.mevex.com > _______________________________________________ > gmsh mailing list > [email protected] > http://onelab.info/mailman/listinfo/gmsh — Prof. Christophe Geuzaine University of Liege, Electrical Engineering and Computer Science http://www.montefiore.ulg.ac.be/~geuzaine _______________________________________________ gmsh mailing list [email protected] http://onelab.info/mailman/listinfo/gmsh
