Should these drivers (i386) work with 64 bit suse ?
When double clicking cnijfilter-common-2.60-3.i386.rpm, it requires gtk+ and libopt.so.0. I don’t find any of those in YAST. Are they too old ? How can I work around this ?
Yes, with the proviso that you will need to create a symbolic link; the canon driver will likely be looking in /usr/lib whereas your 64bit system looks in /usr/lib64; so a symbolic link will redirect looking from the former to the latter; likely to be something like
and download the guideip4200-2.60-2.tar.gz listed at the bottom of the page;
I select download; and it comes into my “Download” folder; but I then copy it out to my desktop; so it is tar.gz there …
I right-click on the icon for the package, and select “open with file roller”
and when file roller opens and lists the contents, I click on the extract button in the menu; (top line);
the extract button should create a directory called guideip4200-2.60-2 on your desktop;
so it is new, and likely to the left of your screen; a new, separate folder; close file roller;
if you then open that new guideip4200-2.60-2 folder, and then open the ip4200 folder, and look in menu, and click on guide content, it should open in your web browser (you use Firefox?) and you can browse the instructions;
they may look daunting but we will try and help you through them;
first thing seems to be to get gtk and libopt installed before installing the canon drivers:
the common first and then the cnijfilter-ip4200-2.60-4.i386.rpm afterwards
to provide libopt and the news about popt is that apparently
Popt is a C library for parsing command line parameters. Popt was heavily influenced by the getopt() and getopt_long() functions. It improves on them by allowing more powerful argument expansion. Popt can parse arbitrary argv] style arrays and automatically set variables based on command line arguments. Popt allows command line arguments to be aliased via configuration files and includes utility functions for parsing arbitrary strings into argv] arrays using shell-like rules.
popt should be in the main repository, so if you have that activated in your system, if you type in popt in the available, YaST should find it, and install it for you
In fact I succeeded to install the cnijfilter-common-2.60-3.i386.rpm, after following your proposals and installing gtk (in fact I got puzzled with gtk, gtk1, gtk+, gtk2).
Simply gtk does the job. The libopt reference was resolved after installing the 32-bit version of popt.
error: Failed dependencies:
libgdk-1.2.so.0 is needed by cnijfilter-ip4200-2.60-4.i386
libglib-1.2.so.0 is needed by cnijfilter-ip4200-2.60-4.i386
libgmodule-1.2.so.0 is needed by cnijfilter-ip4200-2.60-4.i386
libgtk-1.2.so.0 is needed by cnijfilter-ip4200-2.60-4.i386
libpng.so.3 is needed by cnijfilter-ip4200-2.60-4.i386
libxml.so.1 is needed by cnijfilter-ip4200-2.60-4.i386
I checked in /usr/lib64 and there is a link libgdk-1.2.so.0 pointing to libgdk-1.2.so.0.9.1.
So I thought creating a symbolic link libgdk-1.2.so.0 in the directory /usr/lib, pointing to /usr/lib64/libgdk-1.2.so.0.9.1 would resolve the 1st missing reference, but it doesn’t.
OK well, step by step I managed to resolve the missing references by installing 32 bit versions of the different packages.
Thanks a lot for giving me these hints, finally I could bring the installation to an end.
BUT: The printer doesn’t work !!
Now after launching the printmanager, I stumbled upon the GUI of the CUPS (http://localhost:631/printers/). I tried out few things and managed to install the IP4200 as a Gutenprint printer. It worked after 30 seconds !!!
So first of all I am happy because I am able to print, but a little sad because I spent so much time trying to install the bloody canon drivers which was really a pain in the ass.
Some more info:
The CUPS GUI reports the following error message for the original Canon printer driver: “Unable to start filter “pstocanonij” - No such file or directory.”
It is true that this file was there in usr/local/bin but now it disappeared !?
I guess I will make a page on this to share the positive experience with Gutenprint. I will also save the PPD file that the canon drivers left on my computer for further use with CUPS.
No sorry, the pstocanonij is in /usr/lib/cups/filter.
I assume that CUPS is looking for it in /usr/lib64/cups/filter.
So the issues I have come mainly from a sort of incompatibility of the canon drivers with 64-bit linux I guess.
Does anybody have an idea whether it makes sense to have CUPS load the 32 bit version of pstocanonij ? If yes, how to do it ?
I guess simply copying it to lib64 does’t make sense as there are other canon files in lib/cups/bakend.
Furthermore, does anybody know whether I can start the maintenance features for the printer with the gutenprint drivers ?
good work; you have really climbed up a few hills here; you seem to have quite a bit of knowledge behind you: what’s your background? You have done some very useful work here;
the Canon drivers seem to install fine in 32 bit systems; no-one seems to think a 64bit system is faster, but they are increasingly prevalent;
oldcraft described installing the source files here for the similar Canon LBP series of laser printers; for 64bit systems; it seemed to work for him; you might like (purely for the interest) to read through that;you can become the forum adviser for Canon printers!
<snip>
>
> Some more info:
> The CUPS GUI reports the following error message for the original Canon
> printer driver: “Unable to start filter “pstocanonij” - No such file or
> directory.”
>
> It is true that this file was there in usr/local/bin but now it
> disappeared !?
<snip>
> Cheers
>
> Alexander
>
Alexander;
Did you create the link in usr/lib64 given to you by pdc2 in an earlier post?
Yes PV you are probably right. This would have surely helped. But at the beginning it wasn’t very clear to me.
@pdc_2: concerning my bg - nothing special. In real life I am working in tech marketing.
But I play around with several Linux distros since few years and everytime I switch on my computer without seeing the windows logo, I am all smiles.
The iP4200 drivers are 32bit, so here is a
2 bit solution for a 64 bit OS :\
A solution for suse 11.1 x86_64:
install 32 bit versions of libraries:
popt, gdk, gtk, libxml, libpng, libglib, libgmodule, libpng3
(and probably others I am forgetting about)
NOTE: libpng3-32bit-1.2.31-4.37.1 does not exist
so install libpng3-1.2.31-4.37.1.i586.rpm
ln -s /usr/lib64/cups /usr/lib/cups
NOTE: Canon makes /usr/lib/cups/backend and driver
but cupsd expects these in /usr/lib64
Use “Yast- Hardware- Printer” to add your printer
If the “geek godess” is on your side, it should work - lol!
NOTE: You may need to tell it “papersize=letter” with
“Yast- Hardware- Printer- Edit- All Options…”
P.S.
It took some digging to get the printer to work. What really helped was changing “LogLevel info” to “LogLevel debug” in /etc/cups/cupsd.conf and running “/etc/init.d/cups restart” and “tail -f /var/log/cups/error_log”. As a result, test prints would reveal errors like “libpng.so.3: wrong ELF class: ELFCLASS64” when I tried to link /usr/lib/libpng.so.3 to /usr/lib64.
Added instructions for 32 bit install on 64 bit OS to: HCL/Printers - openSUSE
It is somewhat abbreviated, but I still yammered too much (another Puzzled Penguin may clean it up). :\