Hi Phil Yes, my explanation was not very clear. I know that I have to do what you mentioned, I do call Create(). Actually I am copying the code from wxPLplotDemo.cpp
but let's forget this thread, when something is failing for several days, and I don't know why, what I do is delete everything and start from scratch. So, the scratch here is to build and run wxPLplotDemo.cpp from the PLplot distribution I did that, but it am having a seg fault :-) I''ll just start a new thread with the debug results thanks -Pedro ----- Original Message ----- From: "Phil Rosenberg" <p.d.rosenb...@gmail.com> To: "Pedro Vicente" <pedro.vice...@space-research.org> Cc: "Alan W. Irwin" <ir...@beluga.phys.uvic.ca>; <plplot-devel@lists.sourceforge.net> Sent: Friday, December 09, 2016 8:44 PM Subject: Re: [Plplot-devel] build PLPlot with debug symbols in linux / cmake > Hi Pedro > I'm sorry but I'm not sure I understand the point at which you get the > segfault. > > However, I think you are trying to call GetStream, before the stream > has been created. The stream requires the window's device context at > the point of creation, in order for the device context to exist the > window must have been "Create"d. Often this is done by the > constructor, but in this case to maintain generality the default > wxWindow constructor is called which takes no parameters and does not > create the window. An explicit call to wxSomeWindowType::Create is > required - only once that has happened does the device context exist > allowing the stream to be created. > > It would actually be very easy to have something like > > class myPlFrame :public wxPlWindow<wxFrame> > { > }; > > then have > myPlFrame::myPlFrame(/*All the variables needed to initialise a wxFrame*/) > { > Create(/*The varibles from above*/); > } > > Then you can call GetStream immediately after construction. > > On 9 December 2016 at 03:27, Pedro Vicente > <pedro.vice...@space-research.org> wrote: >> Alan, Thanks >> Phil (I am CC you here, because this is a wxdriver issue; >> not saying that is a bug in the wxdriver, just a code error I have in my >> use >> of it ) >> >> The issue was not lack of -g, but just a code issue >> >> I am following almost verbatim the demo wxPLplotDemo.cpp >> >> what happens in my code is that >> >> pls is NULL >> >> here >> >> void Plot(wxPLplotwindow<WXWINDOW> *plotwindow) >> { >> wxPLplotstream* pls = plotwindow->GetStream(); >> >> so all pls-> calls seg fault >> >> >> what happens is that this function is *not* called >> >> >> void wxPLplotwindow<WXWINDOW>::OnCreate( wxWindowCreateEvent &event ) >> { >> if ( !m_created ) >> >> >> and it should have been in these calls >> >> >> wxPLplotwindow<wxFrame> *frame = new wxPLplotwindow<wxFrame>(); >> frame->Create(NULL, wxID_ANY, wxT("wxPLplotDemo")); >> frame->Show(); >> Plot(frame); >> >> >> This only happens in Linux, on Windows all is fine >> >> >> so, I'll keep on debugging to see what is happening >> >> >> by the way, since I am here, I have 2 small requests: >> >> 1) the wxdriver compilation has a couple of compiler warnings, would it >> be >> possible to eliminate them ? >> 2) would it be possible to keep in the upcoming version the old >> deprecated >> wxdriver code that is not templated ? >> I find templated code difficult to follow and debug, and here there is no >> benefit in using it , because all my plots are in wxFrame >> >> these are the warnings >> >> >> M:\star_icvs\tools\wx_lib\wx_plplotwindow.hpp(181): warning C4100: >> 'event': >> unreferenced formal parameter (compiling source file >> wx_explorer_star.cpp) >> M:\star_icvs\tools\wx_lib\wx_plplotwindow.hpp(182): note: while >> compiling >> class template member function 'void >> wx_PLplotwindow<wxFramePlot>::OnCreate(wxWindowCreateEvent &)' (compiling >> source file wx_explorer_star.cpp) >> wx_explorer_star.cpp(860): note: see reference to class template >> instantiation 'wx_PLplotwindow<wxFramePlot>' being compiled >> m:\star_icvs\tools\wx_lib\wx_plplotwindow.hpp(278): warning C4701: >> potentially uninitialized local variable 'drawDc' used >> m:\star_icvs\tools\wx_lib\wx_plplotwindow.hpp(278): warning C4703: >> potentially uninitialized local pointer variable 'drawDc' used >> >> for the first you can use the >> WXUNUSED >> macro >> >> like in >> void wxFrameClient::OnQuit(wxCommandEvent& WXUNUSED(eve)) >> >> the others seem that you should see >> >> m:\star_icvs\tools\wx_lib\wx_plplotwindow.hpp(278): warning C4701: >> potentially uninitialized local variable 'drawDc' used >> m:\star_icvs\tools\wx_lib\wx_plplotwindow.hpp(278): warning C4703: >> potentially uninitialized local pointer variable 'drawDc' used >> >> >> it says that the variables are not initialized and are potencially used >> >> >> -Pedro >> >> ----- Original Message ----- From: "Alan W. Irwin" >> <ir...@beluga.phys.uvic.ca> >> To: "Pedro Vicente" <pedro.vice...@space-research.org> >> Cc: <plplot-devel@lists.sourceforge.net> >> Sent: Thursday, December 08, 2016 1:59 PM >> Subject: Re: [Plplot-devel] build PLPlot with debug symbols in linux / >> cmake >> >> >>> On 2016-12-08 01:52-0500 Pedro Vicente wrote: >>> >>>> >>>> Hi Alan >>>> >>>> I have a wxWidgets application that I developed for Windows and Linux >>>> that uses PLplot . >>>> >>>> I started having a segfault on the *Linux* only version. >>>> >>>> Debugging in Windows is a breeze with Visual Studio. >>>> >>>> For Linux I was able to make a QtCreator project to debug (yes, Qt >>>> debugging wxWidgets !) >>>> >>>> However when I try to step into the PLplot code, there is no step into, >>>> because probably debugging symbols were not built >>>> >>>> I used the following cmake call >>>> >>>> cmake .. -G "Unix Makefiles" -DBUILD_SHARED_LIBS:BOOL=OFF >>>> -DENABLE_f95:BOOL=OFF -DENABLE_tcl:BOOL=OFF -DENABLE_tk:BOOL=OFF >>>> -DCMAKE_INSTALL_PREFIX:PATH=/data/data127/pvicente/install/plplot-5.11.1 >>>> -DPL_HAVE_PTHREAD:BOOL=OFF -DPLD_xwin:BOOL=OFF -DPLD_wxwidgets:BOOL=ON >>>> -DwxWidgets_ROOT_DIR:PATH=/data/data127/pvicente/install/wxwidgets-3.1.0 >>>> -DwxWidgets_LIB_DIR:PATH=/data/data127/pvicente/install/wxwidgets-3.1.0/lib >>>> -DwxWidgets_CONFIGURATION=mswud -DENABLE_MIX_CXX=ON >>>> -DwxWidgets_EXCLUDE_COMMON_LIBRARIES:BOOL=OFF>>>>>> this is more >>>> probably a >>>> cmake question, but I am not that familiar withcmake, so the question >>>> is,>> >>>> how can I add debug symbols to PLPlot for the above cmake call?>> Hi >>>> Pedro:>> I think there are some specific CMake options for making sure >>>> the >>>> -g> option is used on all compilations, but the one I always use is to >>>> set> >>>> the appropriate environment variables (which CMake recognizes as> >>>> well). So >>>> before executing cmake in an initially empty build tree do> something >>>> like >>>> the following:>> export CXXFLAGS=-g> export CFLAGS=-g> export >>>> FFLAGS=-g>> I >>>> always just use the command line to build (with make) and debug> (with >>>> gdb) >>>> rather than some IDE like QtCreator, but I assume setting> the above >>>> environment variables will insure the QtCreator builds will> be done >>>> with >>>> the -g option so that you can debug (likely with gdb> doing the work in >>>> the >>>> background) with that IDE as well.>> Alan> __________________________> >>>> Alan >>>> W. Irwin>> Astronomical research affiliation with Department of Physics >>>> andAstronomy,> University of Victoria (astrowww.phys.uvic.ca).>> >>>> Programming >>>> affiliations with the FreeEOS equation-of-state> implementation for >>>> stellar >>>> interiors (freeeos.sf.net); the Time> Ephemerides project >>>> (timeephem.sf.net); PLplot scientific plotting> software package >>>> (plplot.sf.net); the libLASi project> (unifont.org/lasi); the Loads of >>>> Linux >>>> Links project (loll.sf.net);> and the Linux Brochure Project >>>> (lbproject.sf.net).> __________________________>> Linux-powered >>>> Science> >>>> __________________________> > ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel