Page 1 of 1

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

Posted: Thu Jul 17, 2014 8:53 pm
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/"

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/", line 89, in <module>
    tb = top_block()
  File "/home/cyrozap/", line 46, in __init__
  File "/usr/lib/python2.7/site-packages/gnuradio/wxgui/", line 198, in __init__ = fft_window(self, parent, size=size)
  File "/usr/lib/python2.7/site-packages/gnuradio/wxgui/", line 331, in __init__
    self.control_panel = control_panel(self)
  File "/usr/lib/python2.7/site-packages/gnuradio/wxgui/", 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/", 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
sudo pacman -U wxgtk- wxpython-
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).