Open chancecardona opened 2 years ago
Hi, We are currently in the process of migrating iio-oscilloscope from GTK2 to GTK3. This also means it will move from libgtkdatabox 0.9 to 1.0. Once the migration is finished you won't be encountering this kind of error.
Is there any way to run osc on Ubuntu 22.04LTS while migration lasts? It has libgtkdatabox 1.0. f.e. install libgtkdatabox 0.9 and link against it.
Is there any way to run osc on Ubuntu 22.04LTS while migration lasts? It has libgtkdatabox 1.0. f.e. install libgtkdatabox 0.9 and link against it.
You can get the source code and try to compile it yourself (you need to also make sure you don't have any other package relying libgtkdatabox 1.0. so you can uninstall it). But do you have any hard requirement to run iut un 22.04LTS? I would just recommend to use docker and create an image based on ubuntu 20.04 already with osc built and run it from the container... It is possible to run GUI apps inside a docker container
Just a note. We are close to finishing the transition to GTK3. It should be completed by the middle of this month.
@dNechita I'm new to the world of Linux apps and just spent 2.5 days trying to install the IIO osc application. I was having the same issue with the gtkdatabox that the OP of this issue reported. All my issues were resolved by downgrading my Ubuntu install from 22.04 to 20.04. I was hoping could you explain to a noob why I was able to build on the older Ubuntu, but not the newer one?
On Ubuntu 20.04, when you install gtkdatabox via apt, you will receive a package with version 0.9.whatever. This package is based on GTK2. Since gtkdatabox is a widget used within iio-osc, osc also needs to be based on GTK2, and it is. So build succeeds. On Ubuntu 22.04 you are no longer getting a gtkdatabox package based on GTK2 but on GTK3. Version will be 1.whatever. So in this case the build process of iio-osc will notice gtkdatabox has GTK3 dependencies and will try to build iio-osc with GTK3 as well. But iio-osc code was written for GTK2 so it won't compile.
Thank you @dNechita !
Hello, I encounter a similar issue.I have follow https://wiki.analog.com/resources/tools-software/linux-software/iio_oscilloscope to install ,but when "sudo make install", the error occurs.Here's the log
In file included from /usr/include/gtkdatabox.h:24,
from /home/user/Desktop/iio-oscilloscope/osc.c:8:
/usr/include/gtkdatabox_graph.h:86:7: error: unknown type name ‘GdkGC’
86 | GdkGC (create_gc) (GtkDataboxGraph graph, GtkDatabox box);
| ^~~~~
/usr/include/gtkdatabox_graph.h:91:4: error: unknown type name ‘GdkGC’; did you mean ‘GdkRGBA’?
91 | GdkGC gtk_databox_graph_get_gc (GtkDataboxGraph graph);
| ^~~~~
| GdkRGBA
/usr/include/gtkdatabox_graph.h:92:60: error: unknown type name ‘GdkGC’; did you mean ‘GdkRGBA’?
92 | void gtk_databox_graph_set_gc (GtkDataboxGraph graph, GdkGC gc);
| ^~~~~
| GdkRGBA
/usr/include/gtkdatabox_graph.h:111:4: error: unknown type name ‘GdkGC’; did you mean ‘GdkRGBA’?
111 | GdkGC gtk_databox_graph_create_gc (GtkDataboxGraph graph, GtkDatabox box);
| ^~~~~
| GdkRGBA
In file included from /home/user/Desktop/iio-oscilloscope/osc.c:8:
/usr/include/gtkdatabox.h:196:1: error: unknown type name ‘GdkPixmap’; did you mean ‘GdkPixbuf’?
196 | GdkPixmap gtk_databox_get_backing_pixmap(GtkDatabox * box);
| ^~~~~
| GdkPixbuf
make[2]: [CMakeFiles/osc.dir/build.make:63: CMakeFiles/osc.dir/osc.c.o] Error 1
make[1]: [CMakeFiles/Makefile2:183: CMakeFiles/osc.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Could someone tell me how to deal with it?Much appreciation.
On Debian bookworm amd64, with Testing PPA's enabled, the iio-oscilloscope does not compile correctly with the newest version of software. The error is due to the gtkdatabox versioning, despite passing the checks in the adi_update_tools.sh. Expected Behavior: Running CMake:
Make:
Observed Behavior: Running CMake:
Make:
The resolution was found by installing the stable versions of the package, namely libgtkdatabox0_0.9.3.1-2 and libgtkdatabox-dev_0.9.3.1-2