Skip to content
This repository has been archived by the owner on Oct 27, 2020. It is now read-only.

Top of tree build is broken #10

Closed
tomverbeure opened this issue May 24, 2020 · 10 comments
Closed

Top of tree build is broken #10

tomverbeure opened this issue May 24, 2020 · 10 comments

Comments

@tomverbeure
Copy link

I can build fine with commit 1d22516.

With commit e090e4a, I get:

/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp: In constructor ‘ChannelPropertiesDialog::ChannelPropertiesDialog(OscilloscopeWindow*, OscilloscopeChannel*)’:
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:56:39: error: no matching function for call to ‘Gtk::Grid::attach(Gtk::Label&, int, int)’
   m_grid.attach(m_scopeNameLabel, 0, 0);
                                       ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,

Tom

@azonenberg
Copy link
Owner

https://developer.gnome.org/gtkmm/stable/classGtk_1_1Grid.html#a664d8700c0a8176c2e2595e1d9938ff0

That looks like a valid call that uses the default arguments, and it builds fine for me on gtkmm 3.24.0 (Debian Buster). What version are you trying to build against?

If you change the attach() call to explicitly specify the width/height arguments, so attach(m_scopeNameLabel, 0, 0, 1, 1), does it build OK? It's possible older GTK versions didn't have the default values.

@tomverbeure
Copy link
Author

I'm on Ubuntu 18.4, which seems to have gtkmm version 3.22.2.

attach(m_scopeNameLabel, 0, 0, 1, 1)

Yes, it gets past this issue this way.

After that, the remaining errors are as follows:

[ 78%] Building CXX object src/glscopeclient/CMakeFiles/glscopeclient.dir/ChannelPropertiesDialog.cpp.o
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp: In constructor ‘ChannelPropertiesDialog::ChannelPropertiesDialog(OscilloscopeWindow*, OscilloscopeChannel*)’:
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:59:75: error: no matching function for call to ‘Gtk::Grid::attach_next_to(Gtk::Label&, Gtk::Label&, Gtk::PositionType)’
   m_grid.attach_next_to(m_scopeNameEntry, m_scopeNameLabel, Gtk::POS_RIGHT);
                                                                           ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/glscopeclient.h:40,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:35:
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note:   candidate expects 5 arguments, 3 provided
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note:   candidate expects 4 arguments, 3 provided
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:67:78: error: no matching function for call to ‘Gtk::Grid::attach_next_to(Gtk::Label&, Gtk::Label&, Gtk::PositionType)’
   m_grid.attach_next_to(m_channelNameLabel, m_scopeNameLabel, Gtk::POS_BOTTOM);
                                                                              ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/glscopeclient.h:40,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:35:
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note:   candidate expects 5 arguments, 3 provided
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note:   candidate expects 4 arguments, 3 provided
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:70:79: error: no matching function for call to ‘Gtk::Grid::attach_next_to(Gtk::Label&, Gtk::Label&, Gtk::PositionType)’
   m_grid.attach_next_to(m_channelNameEntry, m_channelNameLabel, Gtk::POS_RIGHT);
                                                                               ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/glscopeclient.h:40,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:35:
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note:   candidate expects 5 arguments, 3 provided
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note:   candidate expects 4 arguments, 3 provided
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:74:87: error: no matching function for call to ‘Gtk::Grid::attach_next_to(Gtk::Label&, Gtk::Label&, Gtk::PositionType)’
   m_grid.attach_next_to(m_channelDisplayNameLabel, m_channelNameLabel, Gtk::POS_BOTTOM);
                                                                                       ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/glscopeclient.h:40,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:35:
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note:   candidate expects 5 arguments, 3 provided
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note:   candidate expects 4 arguments, 3 provided
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:77:93: error: no matching function for call to ‘Gtk::Grid::attach_next_to(Gtk::Entry&, Gtk::Label&, Gtk::PositionType)’
   m_grid.attach_next_to(m_channelDisplayNameEntry, m_channelDisplayNameLabel, Gtk::POS_RIGHT);
                                                                                             ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/glscopeclient.h:40,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:35:
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note:   candidate expects 5 arguments, 3 provided
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note:   candidate expects 4 arguments, 3 provided
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:80:88: error: no matching function for call to ‘Gtk::Grid::attach_next_to(Gtk::Label&, Gtk::Label&, Gtk::PositionType)’
   m_grid.attach_next_to(m_channelColorLabel, m_channelDisplayNameLabel, Gtk::POS_BOTTOM);
                                                                                        ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/glscopeclient.h:40,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:35:
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note:   candidate expects 5 arguments, 3 provided
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note:   candidate expects 4 arguments, 3 provided
/home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:83:82: error: no matching function for call to ‘Gtk::Grid::attach_next_to(Gtk::ColorButton&, Gtk::Label&, Gtk::PositionType)’
   m_grid.attach_next_to(m_channelColorButton, m_channelColorLabel, Gtk::POS_RIGHT);
                                                                                  ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:178:0,
                 from /home/tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/../graphwidget/Graph.h:39,
                 from /homeI'm currently not working on that part, but /tom/projects/scopehal-cmake.2/lib/scopehal/../scopehal/scopehal.h:50,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/glscopeclient.h:40,
                 from /home/tom/projects/scopehal-cmake.2/src/glscopeclient/ChannelPropertiesDialog.cpp:35:
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:168:8: note:   candidate expects 5 arguments, 3 provided
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note: candidate: void Gtk::Grid::attach_next_to(Gtk::Widget&, Gtk::PositionType, int, int)
   void attach_next_to(Widget& child, PositionType side, int width, int height);
        ^~~~~~~~~~~~~~
/usr/include/gtkmm-3.0/gtkmm/grid.h:171:8: note:   candidate expects 4 arguments, 3 provided
src/glscopeclient/CMakeFiles/glscopeclient.dir/build.make:82: recipe for target 'src/glscopeclient/CMakeFiles/glscopeclient.dir/ChannelPropertiesDialog.cpp.o' failed

Let me see if I can fix those myself...

Tom

@tomverbeure
Copy link
Author

I don't have a clone repo, but here's a patch file that allows me to compile on my machine.

gtkmm_fix.txt

I haven't tested it because I'm not (yet) able to connect to my scope.

Tom

@azonenberg
Copy link
Owner

So it looks like the default arguments to attach_next_to and attach aren't present in 3.22? Let me test on my end...

@tomverbeure
Copy link
Author

So it looks like the default arguments to attach_next_to and attach aren't present in 3.22?

Yes.

This is what I see in my /usr/include/gtkmm-3.0/gtkmm/grid.h:

  void attach(Widget& child, int left, int top, int width, int height);
  ..
  void attach_next_to(Widget& child, Widget& sibling, PositionType side, int width, int height);

No default parameters to be seen.

@azonenberg
Copy link
Owner

I'm actually about to update another dialog to use Gtk::Grid (related ngscopeclient/scopehal-apps#104). In a few hours when I'm done, can you make a fork with your fixes and test?

I'll send you some test waveforms you can use for offline dev/testing until your scope is able to connect. What make/model are you trying to use?

@tomverbeure
Copy link
Author

I'm using a Siglent SDS 2304X. Some Siglents use standard sockets (which is already supported) but a bunch of others use VXI11 and don't support the standard sockets. This is badly documented and thus a major waste of time. ("Why are these sockets not working???")

I'm almost done with SCPILxiTransport, which should add support for those VXI11 ones.

@tomverbeure
Copy link
Author

I'm actually about to update another dialog to use Gtk::Grid (related ngscopeclient/scopehal-apps#104). In a few hours when I'm done, can you make a fork with your fixes and test?

My git skills with submodules are severely lacking. But I'll try.

@azonenberg
Copy link
Owner

Try 1b14685 and see if it fixed your problem?

@tomverbeure
Copy link
Author

Compiles fine!

Closing.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants