The sane library from very old ubuntu (14.04) works with this printer. I have to run a small docker container for ubuntu 14.04 for that reason. Just install minimum ubuntu 14.04 and install xsane which would pull the dependencies.
It is sad that the sane project did not hear bug report and address this driver at all after many bug reports.
As of now with ubuntu 18.04 I did
apt install cnijfilter2 scangearmp2 cndrvcups-utility
usermod -aG lpadmin
logout and re-login
Use firefox to access http://localhost:631 and search for new printer and add it.
Run xsane and try to scan.
Suprisingly the scan is OK.
However printing got crash from process cnijlgmon3. with SIGSEGV in __libc_start_main() :(
So much for a old printer with bad support form vendor!. I actually make it works using docker and debian wheezy which is the only distro that has libtiff4 and repository still works as of this time.
So spawn a container using this https://hub.docker.com/r/dockette/wheezy/ and run
apt-get install cups sudo libxrandr2
then run the installer from canon support. It will auto detect and add the printer. It does work.
make /opt/start-print-server.sh with
exec cupsd -f
commit into an image eg.
docker run -d --restart always --entrypoint /opt/start-print-server.sh -v /run/cups:/run/cups --name debian-wheezy -v (pwd):/work --net host --privileged debian-wheezy:mp495