Installing a Canon Printer on XUbuntu 18.04

Now that I have Aseba Studio working, I tried to get connected to my Canon Wi-Fi printer, and it is once again quite difficult. Is there something rotten in Ubuntu’s world?

Let us start by the beginning, and describe my printer’s configuration: it is a Canon Pixma MG4250, connected by Wi-Fi to my Freebox Revolution. It is detected by system-config-printer, which by default chose automatically the corresponding driver, by failled at last step to define the new printer and returned cups-error-internal-error. My first reaction was of course to check the Web for others having a similar problem, and the way they solved it if any did, but I did not find anything relevant.

I then tried something else: instead of choosing the automatically detected printer, I gave the URI found on XUbuntu 16.04, which is cnijnet:/ followed by (what I think to be) the MAC address of the printer. I then had to choose a driver (where system-config-printer automatically did it in previous method), but adding the printer still failled at last step, this time with cups-error-not-possible.

At last, I applied the method which worked on XUbuntu 16.04, which is to use Canon driver. I chose the Debian archive from their page, and tried to install it. However, it needed three packages (libpango1.0, libpng12 and libtiff14) while only the first is still available on 18.04 (the two others are obsolete). A web search indicated that older packages can be used, I thus got those of the previous LTS (xenius) on the Ubuntu archive site (but the last one, libtiff14, needs a direct access to tiff directory of the French archive site, as the library is not referenced, only its dev part). Once those package are saved and installed (with a sudo dpkg -i ...), Canon’s installation script works fine, and adds the printer. Everything now works fine.

As I found abnormal the two errors sent by system-config-printer, I filled a bug report on launchpad.

Missing Aseba Studio on Ubuntu 18.04

I am using Aseba Studio as development tool for the Thymios (personal French page | official English one) in several courses at master level.  I longed for Ubuntu 18.04 to come out, in order to replace this (%§$*!) buggy Ubuntu 16.04, but the aseba package provided in Ubuntu 18.04 has also a bug (cf Launchpad): several executables are missing, including those I need (Aseba Studio).

As some of my future students may also need it, I decided to solve this bug by compiling the whole package from the sources available on github. It was not easy as the contained file indicating how to compile forgot several needed package, and github provided a master archive with some empty directories. I reported the problem, found out how to compile, and sum up everything in an archive (19.4 Mo, TarBzip file) containing the 3 github archives (1.6.9 master + dashel + enki), a building script and a read-me, which makes the compilation quite straightforward. Feel free to use and give your feedback.

Edit: Thymio seems now (in September 2019) to provide a valid package (with 1.6.1 version) for Ubuntu 18.04 on its page. I still wait for my students to verify whether this package does work.

Qt Graphical Objects and Multi-Threads

While working at the ROS-Qt control benchmark I am developing, I discovered why ROS-Qt’s create package used a signal to log messages on the Qt window: modifying Qt graphical objects from different threads can lead to serious problems (program abortion with segmentation violation, for example). I wrote a simple example showing the problem and how to solve it (I will use it in L3 course as well as in the M2 control course – these two links are to French pages, sorry).