>I haven't tried
>
>export CC=gcc
>export CXX=g++
>
>in a while, but they used to always "just work" for me
To be honest it wouldn't surprise me if it is linked to how the intel
compiler is installed on my system. I can probably remove it as we
have a distributed system and the applications are installed at each
login.

>So my advice is to give up on Ubuntu wxwidgets for a
>development platform until that more official fix propagates and
>actually is proved to fix the issue.
>
>So do you confirm no-hangs (so far) on your CentOS?
I have added a 100 ms delay into my code and so far (fingers crossed)
I have seen no hangs. On centos I have to date not been able to get
the new wxWidgets driver to run at all due to the missing library
problem I reported previously.

Phil



On 24 January 2015 at 20:35, Alan W. Irwin <ir...@beluga.phys.uvic.ca> wrote:
> On 2015-01-24 16:51-0000 Phil Rosenberg wrote:
>
>> Hi Alan
>> I'm replying to this without my code in front of me, but I wanted to
>> keep you informed.
>>
>>> you can use the CC and CXX environment variables
>>> _before_ you invoke cmake in an empty build directory, e.g.,
>>>
>>> export CC="gcc -g"
>>> export CXX="g++ -g"
>>
>> I tried that without the -g but it had no effect. I will try with the
>> -g when I'm back in.
>
>
> I haven't tried
>
> export CC=gcc
> export CXX=g++
>
> in a while, but they used to always "just work" for me whether or not
> I added additional compiler options such as -g (which also used to
> "just work").  And I just checked the CMake-3.0.2 module code,
> and it appears it still looks for the CC and CXX environment variables.
> But if you really cannot get it to work with your version of CMake, then
> let me know that version of CMake, and I will try it here (and if I
> can confirm the issue I will report it as a CMake regression).
>
>>>> [...]So once I get to the bottom of the hangs I will try to sort out the
>>>> remaining rendering problems and memory leaks.
>>>
>>>
>>> I did not experience any hangs myself
>>
>> I have been trying to get past this. I just found out how to attach a
>> gdb session to a running process and found that the hang occurs in
>> some gtk module and is a threading deadlock. It occurs before the
>> first frame is even initialised - the threading is occurring in gtk by
>> the way, I am not doing any multithreading. So it turns out my
>> instinct about multiprocess code was correct - it was just that it is
>> gtk threads that are at fault not my multiprocess code. This problem
>> has been described by others at
>> https://forums.wxwidgets.org/viewtopic.php?t=37151&p=151356, and then
>> at http://trac.wxwidgets.org/ticket/16202. The wxWidgets devs have
>> blamed an Ubuntu bug, but have put a workaround in their code -
>> http://trac.wxwidgets.org/changeset/76398/svn-wx. Unfortunately it is
>> only 9 months old so I guess it will only be in trunk. A workaround
>> was mentioned on the forum of adding a delay in the initialisation so
>> I guess I will have to do this.
>
>
> From the above URL's the speculative consensus seems to be this ugly
> hang issue is due to some long-standing (many different Ubuntu versions
> apparently show the wxwidgets hang problem) Ubuntu modification of
> GTK+.  And that hypothesis of Ubuntu-only seems to be confirmed not only by
> my
> experience (no hangs on two separate wxwidgets platforms) but also the
> no-hang experience of many other Linux wxwidgets users. Furthermore, on
> Ubuntu
> the timeout fix did not work for all users and the more official fix
> above (which does not involve timeouts as far as I can tell) is a
> speculative one.  So my advice is to give up on Ubuntu wxwidgets for a
> development platform until that more official fix propagates and
> actually is proved to fix the issue.
>
> So do you confirm no-hangs (so far) on your CentOS?  If so, I would
> stick with that platform for your development work or use an epa_built
> result on any Linux platform since that is apparently free of hangs
> as well (since it builds not only wxwidgets, but an unmodified
> form of the GTK+ software packages it depends on).
>
> In case you are interested in trying the epa_build approach here is the
> cookbook.
>
> 1. Set up required environment variables.
>
> source
> ~software/plplot/HEAD/plplot.git/cmake/epa_build/setup/setup_linux_makefiles
>
> (Note you would have to tailor your equivalent of
> cmake/epa_build/setup/setup_linux_makefiles for your own
> needs such as your preferred cmake version, the install prefix for all
> epa_built packages, your
> preferred compiler flags, etc.)
>
> 2. Clean start.  Empty your previous build tree and completely remove
> your previous install tree for epa_build.  In
> my case, I did that with
>
> rm -rf /home/wine/newstart/build_script/build_dir-linux/* \
> /home/wine/newstart/build_script/install-linux
>
> 3. Change directory to empty build tree
> In my case,
> cd /home/wine/newstart/build_script/build_dir-linux/
>
> 4. Configure epa_build (this takes advantage of environment
> variables that are automatically set up as part of sourcing
> your equivalent of cmake/epa_build/setup/setup_linux_makefiles
>
> cmake -DCMAKE_VERBOSE_MAKEFILE=ON -G"$GENERATOR_STRING" \
> -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX} \
> -DBUILD_THE_BUILDTOOLS=OFF $EPA_BUILD_SOURCE_PATH >& cmake.out
>
> 5. Build wxwidgets and the subset of the GTK+ sofware packages
> it depends on.  (This took 45 minutes in my case.)
>
> time make build_wxwidgets >& build_wxwidgets.out
>
> 6. Let subsequent invocations of CMake find this new wxwidgets
> version by putting the new wx-config on your PATH
> In my case
>
> PATH=${INSTALL_PREFIX}/bin:$PATH
>
> 7. Check the results to see what system dependencies are still left
> in the epa_built version.
>
> ldd ${INSTALL_PREFIX}/lib/libwx_gtk3u_core-3.0.so | \
> grep -v ${INSTALL_PREFIX}
>         linux-vdso.so.1 =>  (0x00007fff673b2000)
>         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe48df4e000)
>         libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
> (0x00007fe48d8b3000)
>         libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1
> (0x00007fe48d6ac000)
>         libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6
> (0x00007fe48d4a5000)
>         libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0
> (0x00007fe48d27e000)
>         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe48d066000)
>         libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8
> (0x00007fe48ce2c000)
>         libtiff.so.4 => /usr/lib/x86_64-linux-gnu/libtiff.so.4
> (0x00007fe48cbc6000)
>         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe48c9c1000)
>         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe48c2a7000)
>         libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
> (0x00007fe48bf9f000)
>         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> (0x00007fe48bd89000)
>         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007fe48bb6d000)
>         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe48b7e1000)
>         libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1
> (0x00007fe48b5df000)
>         libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2
> (0x00007fe48b3d7000)
>         libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1
> (0x00007fe48b1cc000)
>         libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6
> (0x00007fe48ad60000)
>         libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1
> (0x00007fe48ab5d000)
>         libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1
> (0x00007fe48a95b000)
>         libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3
> (0x00007fe48a755000)
>         libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0
> (0x00007fe48a290000)
>         libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0
> (0x00007fe48a086000)
>         libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1
> (0x00007fe489e65000)
>         libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1
> (0x00007fe489c5c000)
>         libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
> (0x00007fe489a4a000)
>         libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6
> (0x00007fe4893d3000)
>         libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3
> (0x00007fe48918c000)
>         libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1
> (0x00007fe48885f000)
>         libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2
> (0x00007fe488445000)
>         /lib64/ld-linux-x86-64.so.2 (0x00007fe4909a6000)
>         libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1
> (0x00007fe488037000)
>         libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0
> (0x00007fe487e28000)
>         libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6
> (0x00007fe487c25000)
>         libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
> (0x00007fe487a1f000)
>
> This is certainly still a long list of system dependencies (i.e.,
> libraries not built (yet) by epa_build, but it does appear epa_build
> has done its job because these all appear to be fundamental system
> libraries and not system libraries that are normally part of wxwidgets
> or GTK+.
>
> If you do decide to try an epa_built version of wxwidgets and all its
> GTK+ dependencies, I would be happy to help with any issues you might
> find. However, I honestly think there will be no issues at all
> (assuming you have working compilers) since I have just done all the
> above steps myself, and all those steps are so straightforward so long
> as your system has the *.so versions (which are installed by
> installing development versions of the X, etc., packages) of all the
> above system libraries installed.
>
>
> Alan
> __________________________
> Alan W. Irwin
>
> Astronomical research affiliation with Department of Physics and Astronomy,
> 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
> __________________________

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to