[Solved] Can't use WX Widgets in GRC on Arch Linux

Having issues with the site, hardware, source code, or any other issues?
Post Reply
cyrozap
Posts: 1
Joined: Fri Mar 01, 2013 7:30 am

[Solved] Can't use WX Widgets in GRC on Arch Linux

Post by cyrozap »

This issue has already been solved, but I thought I'd post the solution here with the hope that it will save someone a few hours of troubleshooting. It also isn't really a bladeRF-specific problem, but again, I think others here will find it useful.

In GNURadio Companion, I was getting this error any time I used a WX widget:

Code: Select all

Executing: "/home/cyrozap/top_block.py"

linux; GNU C++ version 4.9.0 20140604 (prerelease); Boost_105500; UHD_003.007.001-0-unknown

Using Volk machine: ssse3_64_orc
Traceback (most recent call last):
  File "/home/cyrozap/top_block.py", line 89, in <module>
    tb = top_block()
  File "/home/cyrozap/top_block.py", line 46, in __init__
    peak_hold=False,
  File "/usr/lib/python2.7/site-packages/gnuradio/wxgui/fftsink_nongl.py", line 198, in __init__
    self.win = fft_window(self, parent, size=size)
  File "/usr/lib/python2.7/site-packages/gnuradio/wxgui/fftsink_nongl.py", line 331, in __init__
    self.control_panel = control_panel(self)
  File "/usr/lib/python2.7/site-packages/gnuradio/wxgui/fftsink_nongl.py", line 256, in __init__
    wx.Panel.__init__(self, parent, -1, style=wx.SIMPLE_BORDER)
  File "/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_windows.py", line 68, in __init__
    _windows_.Panel_swiginit(self,_windows_.new_Panel(*args, **kwargs))
wx._core.PyAssertionError: C++ assertion "m_window" failed at ./src/gtk/dcclient.cpp(2043) in DoGetSize(): GetSize() doesn't work without window
I tried many things, but what eventually solved it was downgrading wxpython and wxgtk to version 2.8. Here's how to do that (if you're on a 32-bit system, just replace "x86_64" with "i686"):

Code: Select all

sudo pacman -Rdd wxgtk wxpython
wget http://seblu.net/a/arm/packages/w/wxgtk/wxgtk-2.8.12.1-5-x86_64.pkg.tar.xz
wget http://seblu.net/a/arm/packages/w/wxpython/wxpython-2.8.12.1-4-x86_64.pkg.tar.xz
sudo pacman -U wxgtk-2.8.12.1-5-x86_64.pkg.tar.xz wxpython-2.8.12.1-4-x86_64.pkg.tar.xz
And that's it! As an added bonus, there's no need to compile anything from source if you installed everything else from the main repository (i.e., gnuradio, gnuradio-osmosdr).
Last edited by cyrozap on Fri Jul 18, 2014 9:12 pm, edited 1 time in total.
Post Reply