These drivers are designed for Canon ip2200, ip4200, ip6600d, ip7500 and mp500. But they might also work with ip1600, mp150, mp170, mp450 and ip6600pd. You can choose which driver to install by useflag. Also you can choose whether to compile some simple GTK+-1.2 based Maintenance Tools for cleaning nozzles, aligning the printhead, and other things. It's almost completely compiled from GPL2-source except for some proprietary binary libraries. cnijtools are currently available only on ~x86, but the basic drivers without these maintenance tools are also available for ~amd64 (as 32-bit version using some emul-linux-.. packages). net-print/cnijfilter-2.60 is a successor of net-print/bjfilter-2.50 (bug #128560) and for ~amd64 it depends on app-emulation/emul-linux-x86-bjdeps-0.1 (bug #129352). It DOES NOT make the bjfilter ebuild obsolete, but adds a new range of supported printers.
added ~amd64 dependency
Created attachment 85055 [details] net-print/cnijfilter/cnijfilter-2.60.ebuild that's the first version :)
Created attachment 89824 [details] net-print/cnijfilter/cnijfilter-2.60.ebuild Bugfix Summary The issue: some libraries are expected to be in /usr/lib/bjlib but copied to /urs/lib/cnijlib changed ... --enable-libpath=${_libdir}/bjlib into ... --enable-libpath=${_libdir}/cnijlib
Created attachment 90098 [details] net-print/cnijfilter/cnijfilter-2.60.ebuild This ebuild is now restricted to use the confcache feature
Created attachment 90286 [details, diff] net-print/cnijfilter/files/cnijfilter-2.60-ip4200-ppd.patch I forgot to upload this file. I'm sorry.
Created attachment 92300 [details, diff] net-print/cnijfilter/files/cnijfilter-2.60-ip4200-ppd.patch There has been a problem with this patch (incorrect whitespaces at the end of each line). It should work now. I'm sorry.
Created attachment 92394 [details] net-print/cnijfilter/cnijfilter-2.60.ebuild code compactification renaming of useflags for consistency with the bjfilter ebuild new "unstablecups" useflag for compatibility with newest CUPS
Created attachment 92765 [details] net-print/cnijfilter/cnijfilter-2.60.ebuild 1) Added neccessary check of the 'LINGUAS'-variable: if [ -z "$LINGUAS" ]; then # -z tests to see if the argument is empty ewarn "You didn't specify 'LINGUAS' in your make.conf. Assuming" ewarn "english localisation, i.e. 'LINGUAS=\"en\"'." LINGUAS="en" fi 2) Fixed 'servicetools' dependencies. It now tells 'amd64' users why 'servicetools' currently won't compile and how to fix this: "You can't build this package with 'servicetools' on amd64, because you would need to compile '>=gnome-base/libglade-0.6' and '>=dev-libs/libxml-1.8' with 'export ABI=x86' first. That's exactly what 'emul-linux-x86-bjdeps-0.1' does with 'dev-libs/popt-1.6'. I encourage you to adapt this ebuild to build 32bit versions of 'libxml' and 'libglade' too!"
Created attachment 94410 [details] net-print/cnijfilter/cnijfilter-2.60.ebuild -> won't depend on non-existing bjdeps-0.2 anymore if 'servicetools' and 'amd64' is enabled but instead print out an error
Created attachment 95341 [details, diff] net-print/cnijfilter/files/cnijfilter-2.60-r1-pstocanonij-c.patch this is supposed to fix borderless printing
Created attachment 95342 [details, diff] net-print/cnijfilter/files/cnijfilter-2.60-r1-canonip4200-ppd.patch adds options for borderless printing for this kind of printer
Created attachment 95343 [details] net-print/cnijfilter/cnijfilter-2.60-r1.ebuild * I introduce "revisions" to my ebuild * This one adds borderless printing
Created attachment 100540 [details] net-print/cnijfilter/cnijfilter-2.60-r2.ebuild this revision should now work out-of-the-box with every cups version available in portage. (removed broken "unstablecups" flag and performing automatic detection of cups-version instead.)
Created attachment 100713 [details] net-print/cnijfilter/cnijfilter-2.60-r3.ebuild >> directory structure fixed >> introduced a useflag "nocupsdetection" to override the autodetection and instead use symlinks to be compatible with all cups versions. This is useful for binary packages only. >> gtk-dependency fix
Created attachment 100922 [details] net-print/cnijfilter/cnijfilter-2.60-r4.ebuild fixed amd64 bug with with >=cups-1.2 little cleanup
Created attachment 103002 [details] net-print/cnijfilter/cnijfilter-2.60-r5.ebuild Cleanup: * changed license from "???" to "UNKNOWN" * fixed dependency syntax * preserve library-symlinks
One problem with these latest ebuilds: you put the dependency as =gtk+-1.2, but I think you meant =gtk+-1.2*. Just a nitpick; I haven't tested them thoroughly, but -r1 works great for me so I think -r5 will, too.
Created attachment 106584 [details] net-print/cnijfilter/cnijfilter-2.60-r6.ebuild fixed gtk+ dependency from =1.2 to =1.2* thanks for your help
Please add it to portage.
Hi colin, on my system the build failed with: /usr/lib32/libssl.so.0.9.7: undefined reference to `HMAC_CTX_set_flags' collect2: ld returned 1 exit status distcc[12183] ERROR: compile (null) on localhost failed make[2]: *** [pstocanonij] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-2.60-r6/work/cnijfilter-2.60/pstocanonij/filter' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-2.60-r6/work/cnijfilter-2.60/pstocanonij' make: *** [all] Error 2 !!! ERROR: net-print/cnijfilter-2.60-r6 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' environment, line 3392: Called src_compile cnijfilter-2.60-r6.ebuild, line 131: Called die !!! Couldn't make pstocanonij !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/log/portage/net-print:cnijfilter-2.60-r6:20070305-043016.log'. !!! This ebuild is from an overlay: '/usr/local/portage' So I upgraded my app-emulation/emul-linux-x86-baselibs to 10.1 (I believe it was 8.x before) which made this use /usr/lib32/libssl.so.0.9.8 instead of /usr/lib32/libssl.so.0.9.7 and it worked. Maybe we should specify >=app-emulation/emul-linux-x86-baselibs-10.1 ? Regards, Jeff Portage 2.1.2-r9 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.15-gentoo-r5 x86_64) ================================================================= System uname: 2.6.15-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System release 1.12.8 Timestamp of tree: Wed, 28 Feb 2007 05:01:01 +0000 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks metadata-transfer noclean parallel-fetch sandbox sfperms splitdebug strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.netnitco.net http://adelie.polymtl.ca/" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LINGUAS="fr en" MAKEOPTS="-j6" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aac aalib acl acpi alsa amd64 apm bash-completion berkdb bitmap-fonts browserplugin bzip2 cdr cli cracklib crypt css cups dri dts dvd dvdr emacs fam ffmpeg firefox flac fortran gdbm gecko-sdk gif glut gpm gtk gtk2 hal howl iconv ipv6 isdnlog java joystick jpeg kde libcaca libg++ libvisual mad midi mikmod mng modplug mp3 mpeg msn musepack ncurses nfs nls nptl nptlonly nsplugin nvidia offensive ogg oggvorbis opengl pam pcre perl pic png ppds pppd python qt3 qt4 quicktime readline reflection samba session sid slang sndfile socks5 spell spl ssl svg tcltk tcpd threads tiff truetype truetype-fonts type1-fonts unicode usb userlocales vcd visualization vorbis wma xcomposite xine xml xorg xv xvid zlib" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr en" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev nv" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Please try it without distcc..
Sorry I can't now, emul-linux-x86-baselibs 8 isn't in portage anymore. Anyways I don't think distcc has anything to do with it, since I can compile it fine with newer baselibs (ssl).
I don't understand your last post. Is there still a problem?
New version 2.70 is out... adding support for new printers.
*** Bug 177970 has been marked as a duplicate of this bug. ***
--09:54:11-- ftp://download.canon.jp/pub/driver/bj/linux/cnijfilter-common-2.60-1.src.rpm (try: 5) => `/mnt/nfs_portage/distfiles/cnijfilter-common-2.60-1.src.rpm' Connecting to download.canon.jp|202.228.134.41|:21... connected. Logging in as anonymous ... Error in server response, closing control connection. Giving up. Is there another source for this file? The 2.70 src rpm isn't available either.
Sorry I can't reproduce this bug. Maybe there was a problem with the FTP-Server which is fixed by now.
There is a newer version of the Canon driver available, 2.80. Even though it looks like the 2.70 release does work for printers like the ip3500 (and maybe 4500), the quality is not perfect. Shouldn't those printers be able to provide a subpixel resolution of 4800x1200dpi? The ppd for the ip3300 only allows a maximum of 600. I have to mention though that the ip3500 ppd in 2.80 doesn't allow more than 600dpi either, so this might just be a feature of the rasteriser. Here's the driver page - looks like no source there though: http://cweb.canon.jp/drv-upd/bj/bjlinux280.html
(In reply to comment #28) > Shouldn't those printers be able to provide > a subpixel resolution of 4800x1200dpi? The ppd for the ip3300 only allows a > maximum of 600. I have to mention though that the ip3500 ppd in 2.80 doesn't > allow more than 600dpi either, so this might just be a feature of the > rasteriser. I've got iP4200 but it's max resolution is 600DPI, higher resolutions are created by raster (ie. 16 times printhead goes throu this same part of picture) and it's controlled by quality option. Besides those drivers still doesn't provide CD printing, so it sucks :/
(In reply to comment #28) > Here's the driver page - looks like no source there though: > http://cweb.canon.jp/drv-upd/bj/bjlinux280.html You can download it from here: http://beta00.c-wss.com/inc/servlet/wwux.wwuc.filedownload.servlet.WWUCDownloadFromAkamaiServlet?absolutePath=/downloadFiles_inc/00119022EN0101/cnijfilter-common-2.80-1.tar.gz You can find this link when you go to canon.com -> support -> Asia -> Regional HQ (Singapore) -> Multifunctional printers -> MP610 Software & Drivers Strange, but I didn't find this file in the European support. (The source is not available there...) Or you the link on the bottom of the webpage you mentioned: http://pdisp01.c-wss.com/gdl/WWUFORedirectTarget.do?id=MDEwMDAwMDg4NTAx&cmp=ACM&lang=JA However, it's a .tar.gz now in stead of a .src.rpm Also, according to cnijfilter-common.spec it's now for mp140series mp210series ip3500series mp520series ip4500series mp610series
Emerge fails with : make all-recursive make[1]: Entering directory `/var/tmp/portage/net-print/cnijfilter-2.70/work/cnijfilter-2.70/mp600/cnijfilter' Making all in src make[2]: Entering directory `/var/tmp/portage/net-print/cnijfilter-2.70/work/cnijfilter-2.70/mp600/cnijfilter/src' gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjferror.o -MD -MP -MF .deps/bjferror.Tpo -c -o bjferror.o bjferror.c mv -f .deps/bjferror.Tpo .deps/bjferror.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfilter.o -MD -MP -MF .deps/bjfilter.Tpo -c -o bjfilter.o bjfilter.c mv -f .deps/bjfilter.Tpo .deps/bjfilter.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfimage.o -MD -MP -MF .deps/bjfimage.Tpo -c -o bjfimage.o bjfimage.c mv -f .deps/bjfimage.Tpo .deps/bjfimage.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfoption.o -MD -MP -MF .deps/bjfoption.Tpo -c -o bjfoption.o bjfoption.c bjfoption.c: In Funktion »SetCmdOption«: bjfoption.c:548: Warnung: Übergabe des Arguments 3 von »poptGetContext« von inkompatiblem Zeigertyp mv -f .deps/bjfoption.Tpo .deps/bjfoption.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfpos.o -MD -MP -MF .deps/bjfpos.Tpo -c -o bjfpos.o bjfpos.c mv -f .deps/bjfpos.Tpo .deps/bjfpos.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfrcaccess.o -MD -MP -MF .deps/bjfrcaccess.Tpo -c -o bjfrcaccess.o bjfrcaccess.c mv -f .deps/bjfrcaccess.Tpo .deps/bjfrcaccess.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT getipc.o -MD -MP -MF .deps/getipc.Tpo -c -o getipc.o getipc.c getipc.c: In Funktion »GetIPCData«: getipc.c:67: Warnung: Übergabe des Arguments 3 von »accept« von inkompatiblem Zeigertyp mv -f .deps/getipc.Tpo .deps/getipc.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjflist.o -MD -MP -MF .deps/bjflist.Tpo -c -o bjflist.o bjflist.c mv -f .deps/bjflist.Tpo .deps/bjflist.Po gcc -O2 -L../../295/libs_bin -o cif bjferror.o bjfilter.o bjfimage.o bjfoption.o bjfpos.o bjfrcaccess.o getipc.o bjflist.o -lcnbpcmcm295 -lcnbpess295 -lm -ldl -ltiff -lpng -lcnbpcnclapi295 -lcnbpcnclbjcmd295 -lcnbpcnclui295 -lpopt /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../295/libs_bin/libcnbpcmcm295.so when searching for -lcnbpcmcm295 /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcmcm295 collect2: ld gab 1 als Ende-Status zurück make[2]: *** [cif] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-2.70/work/cnijfilter-2.70/mp600/cnijfilter/src' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-2.70/work/cnijfilter-2.70/mp600/cnijfilter' make: *** [all] Fehler 2 * * ERROR: net-print/cnijfilter-2.70 failed. * Call stack: * ebuild.sh, line 1701: Called dyn_compile * ebuild.sh, line 1039: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * cnijfilter-2.70.ebuild, line 147: Called src_compile_pr * cnijfilter-2.70.ebuild, line 218: Called die * The specific snippet of code: * make || die "Couldn't make ${_pr}/cnijfilter" * The die message: * Couldn't make mp600/cnijfilter * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/net-print/cnijfilter-2.70/temp/build.log'. * This ebuild is from an overlay: '/usr/local/portage/' any idea? emerge --info says: Portage 2.1.3.19 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r3 x86_64) ================================================================= System uname: 2.6.23-gentoo-r3 x86_64 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz Timestamp of tree: Mon, 11 Feb 2008 07:00:01 +0000 app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r6 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=nocona -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.0/env /usr/kde/4.0/share/config /usr/kde/4.0/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/init.d /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=nocona -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="de_DE" LC_ALL="de_DE" LINGUAS="de en" MAKEOPTS="-s -j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl acpi alsa amd64 arts berkdb bitmap-fonts bluetooth cli cracklib crypt cups dbus doc dri fortran gdbm gif gpm hal iconv ieee1394 ipv6 isdnlog java jpeg jpeg2k kde kdehiddenvisibility mbrola midi mmx mp3 mudflap ncurses nls nptl nptlonly nvidia opengl openmp pam pcmcia pcre perl png pppd python qt readline reflection samba session spl sse sse2 ssl svg tcpd truetype-fonts type1-fonts udev unicode usb wifi xcomposite xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS thanks!
when i switch to gcc-3.4 the error is the same. it seems to be a incompatible library. but a dont know where it come frome.
There is no src.rpm anymore on the server in japan. But you can download it manually on http://software.canon-europe.com/software/0024302.asp?model=. The driver tarball contains ${A}. Th direct link without agreeing to the license is http://software.canon-europe.com/files/soft24302/software/iP4200_Linux_260.tar.gz. So the ebuild needs update.
I discovered, that the 2.80 driver does not support iP4200 anymore and when you're donwloading the driver from canon.com you get the 2.60 for iP4200. So if you want to use it for iP4200 you still need the 2.60 driver. I found the src.rpm of it on archive.org: http://web.archive.org/web/*hh_/download.canon.jp/pub/driver/bj/linux/cnijfilter-common-2.60-1.src.rpm But I suppose there's no way to make an official ebuild by using this package.
A new release is out: http://bugs.gentoo.org/show_bug.cgi?id=258244 Have fun!
Created attachment 189035 [details] net-print/cnijfilter-2.70 (creator: Colin Kiegel) Merging attachments from bug #177970.
Created attachment 189036 [details] net-print/cnijfilter-2.70-r1 (creator: Łukasz Sowiński) Merging attachments from bug #177970.
Created attachment 189037 [details] net-print/cnijfilter-2.80 (creator: zehn97drei) Merging attachment from bug #205536.
Created attachment 189039 [details] net-print/cnijfilter-3.00 (creator: rogge) Merging attachment from bug #258244.
What does net-print/bjfilter-2.50 (bug #128560) provide that net-print/cnijfilter-3.00 (this bug #130645) does not include?
(In reply to comment #40) > What does net-print/bjfilter-2.50 (bug #128560) provide that > net-print/cnijfilter-3.00 (this bug #130645) does not include? Sorry for self-answering: Marek Kozlowski pointed out in bug #253153 that no version of the driver includes support for older versions. He also gave me a nice link: http://www.canon-europe.com/Support/Software/Linux/PIXMA/index.asp In particular net-print/bjfilter-2.50 supports: PIXMA iP1000 PIXMA iP1500 While 2.60 supports only: PIXMA iP2200 PIXMA iP4200 2.70 and 2.80 support several other, newer devices (see above link), while 3.00 is not documented at all (on that page).
I am can't download distributive, but from http://linsovet.com/canon-pixma-ip1600 I do: Distributive of canon driver 24301.tgz - you can download from http://software.canon-europe.com/files/soft24301/software/24301.tgz They contain: guideip2200-2.60-1.tar.gz iP2200_Linux_260.tar.gz cnijfilter-common-2.60-4.src.rpm cnijfilter-ip4200-2.60-4.i386.rpm cnijfilter-ip4200-lprng-2.60-4.i386.rpm ~ # tar -zxf 24301.tgz ~ # tar -zxf iP2200_Linux_260.tar.gz ~ # cp cnijfilter-common-2.60-1.src.rpm /usr/portage/distfiles/ And i can emerge cnijfilter-2.60-r6.ebuild
I'd appreciate cnijfilter 2.90 ebuild. My printer is PIXMA iP100 (portable) and I'm afraid only 2.90 supports it...
Please update cnijfilter-2.70-r1.ebuild so that it depends on app-text/ghostscript-gpl due to the reason stated here, http://cia.vc/stats/author/pva?s_message=2,.
*** Bug 306397 has been marked as a duplicate of this bug. ***
There's a typo in cnijfilter-3.00.ebuild which affects the mp630: $pr_7 should be $_pr7
Created attachment 222229 [details] net-print/cnijfilter-3.20.ebuild Tested on my MP250
(In reply to comment #47) > Tested on my MP250 Also works on my MP250, using an old Micronet SP752/V2 printer server and running from AMD64. Thanks a lot. GuS
Might bug 279183 be incorporated in this? (MP540 support)
Created attachment 224233 [details] net-print/cnijfilter-3.20-r1.ebuild dev-libs/libxml-1.8.17 was masked for deletion. Created a new net-print/cnijfilter-3.20-r1 ebuild that depends on >=dev-libs/libxml2-2.7.3-r2 instead. Done some basic testing. Works on my x86 computer with an MP250. If so inclined, please perform additional tests. GuS
In that case you should also replace the DEPEND virtual/ghostscript with app-text/ghostscript-gpl since virtual/ghostscript disappeared from portage. You probably also want to emerge --unmerge virtual/ghostscript since you can't re-emerge virtual/ghostscript anyway.
Created attachment 224363 [details] net-print/cnijfilter-3.20-r2.ebuild net-print/cnijfilter-3.20-r2.ebuild depends on app-text/ghostscript-gpl instead of virtual/ghostscript. Basic testing performed in both amd64 and x86 with an MP250.
Created attachment 230051 [details] new ebuild to fix download location and libxml2-issue
Created attachment 230053 [details, diff] patch to overcome libxml2-issue
Hi, cause cnijfilter-2.60-r6.ebuild caused emerge errors, namely - use flag servicetools requires fixes to cope with libxml2 on recent systems - download path is not valid anymore provided you with an updated ebuild and a patch: http://bugs.gentoo.org/attachment.cgi?id=230051 http://bugs.gentoo.org/attachment.cgi?id=230053 (to be placed in files directory of the ebuild) Regards, Stefan
I have a problem by installing cnijfilter-2.80. Package "virtual/ghostscript" (one of the dependencies) does not exist anymore. Changing it with "app-text/ghostscript-gpl" seems to work.
(In reply to comment #56) > I have a problem by installing cnijfilter-2.80. Package "virtual/ghostscript" > (one of the dependencies) does not exist anymore. Changing it with > "app-text/ghostscript-gpl" seems to work. > see comment #51: ... replace the DEPEND virtual/ghostscript with app-text/ghostscript-gpl since virtual/ghostscript disappeared from portage...
I've tested the cnijfilter-3.20-r2 with my new IP4700 and it doesn't work because no cups backends was compiled and installed. The 3.20 ebuild is a lot more simple than the previous, maybe not finished ? thanks
(In reply to comment #58) > I've tested the cnijfilter-3.20-r2 with my new IP4700 and it doesn't work > because no cups backends was compiled and installed. > > The 3.20 ebuild is a lot more simple than the previous, maybe not finished ? > thanks > More precision : I'm on ~amd64 and can't find my printer in cups administration with the 3.20-r2 driver. I need to compile a cups backend by hand to have the printer listed. Maybe a problem with cups 1.4.3 ?
Created attachment 233407 [details] ebuild completed for version 3.20 A new ebuild with the servicetool re-activated (the last emul-gtklibs package contain liglade and the last baselibs package contain libxml) to compile lgmon and build the cnijusb backend for cups, my ip4700 work out-of the box with this two additions.
cnijfilter-3.20-r3 + cups 1.4.3 - earned after adding $ zgrep -i printer /proc/config.gz CONFIG_PRINTER=m CONFIG_USB_PRINTER=m Or am I wrong?
Created attachment 241641 [details, diff] patch for cnijfilter-2.70-r2.ebuild
Created attachment 241643 [details] fixed ebuild to build cnijfilter on recent gentoo system
with some unknown reason cnijfilter-2.70-r2.ebuild(cnijfilter-2.70-r1.ebuild) install /usr/local/bin/cifip1800 please, fix it someone
*** Bug 306001 has been marked as a duplicate of this bug. ***
New version 3.30-1 is out...
Created attachment 261484 [details] 3.40-r1 updated for amd64 and MP495 Updated to work with MP495 and amd64. Incomplete and not updated for other supported products listed here: http://software.canon-europe.com/software/0040245.asp Changed: cp -a ${_prid}/libs_bin/* ${D}${_libdir} To: cp -a ${_prid}/libs_bin32/* ${D}${_libdir} Also added some really ugly hacks: append-ldflags "-L../../${_prid}/libs_bin32" ... filter-ldflags "-L../../${_prid}/libs_bin32" because in src/Makefile.am: cif_LDFLAGS = -L../../@CNCL_LIB_ID@/libs_bin@ARC@ and ARC is set in configure.in to: ARC=`getconf LONG_BIT` My fix is really ugly but I didn't know how else to fix it so I thought I'd pass on what I learned and let somebody else do it better if possible/necessary.
Created attachment 261485 [details] updated for popt 1.16 updated for popt 1.16 grab the patch from the popt package in portage, I don't really know if it's needed or not though...
Works so far for me on ~amd64 with my MP495, I just set it to a network printer at lpr://xxx.xxx.xxx.xxx/ps Printed off a test page and it looks great.
Created attachment 261486 [details] Updated for all supported models Updated to (hopefully) support the following printers: PIXMA iP4840 PIXMA iP4850 PIXMA MG5140 PIXMA MG5150 PIXMA MG5240 PIXMA MG5250 PIXMA MG6140 PIXMA MG6150 PIXMA MG8140 PIXMA MG8150 PIXMA MP250 PIXMA MP280 PIXMA MP282 PIXMA MP495 PIXMA MP499 I also removed some no longer supported printers.
fix-popt-pkgconfig-libdir.patch (from emul-linux-x86-bjdeps-0.1-r3.ebuild) is missing
Created attachment 262545 [details, diff] for emul-linux-x86-bjdeps (Fix pkgconfigdir definition) missing attachment
Thank you Keith, it worked for my MG5250 ! I still had to correct the IUSE setting at the top of the ebuild, see attachment cnijfilter-3.40-r3.ebuild. For the record, I also had to set the LINGUAS in make.conf:
(continued from comment #73, accidentally hit enter) - download ebuild to /usr/local/portage/net-print/cnijfilter/cnijfilter-3.40-r3.ebuild - vi /etc/make.conf: PORTDIR_OVERLAY="/usr/local/portage" LINGUAS='"en"' - echo "net-print/cnijfilter ~x86" >>/etc/portage/package.keywords - echo "net-print/cnijfilter mg5200 servicetools" >>/etc/portage/package.use - emerge --digest -av cnijfilter - via localhost:631, add printer "LPD/LPR Host or Printer", "lpd://0623C5000000" (by default, Canon sets the printers serial id as printername) and "Canon MG5200 series Ver. 3.40" Setting the correct LINGUAS appeared to be necessary for producting the servicetools. I also found some explications on the driver and the tools in the MG5200series-printer_driver.tar (dowloadable from http://software.canon-europe.com/products/0010889.asp), then - tar xvf MG5200series-printer_driver.tar - tar xvzf guidemg5200series-pd-3.40-1_en.tar.gz - open guidemg5200series-pd-3.40-1_en/MG5200series/guide_index.htm in your internet browser
Created attachment 263077 [details] Updated for all supported models
Hi, i,m having problems with this under amd64 cifmp495 is not finding libcnbpcnclapi369.so but it is in /usr/lib32 do i have something wrong with my setup? i you have anyidea many thanks in advance
amd64, mp250, lpd://localhost, doesn't work for me. Any idea? Please write how-to.
after "rmmod usblp" мy printer showing and works. And works fine.
Hello community! so in the end, and after much much attempts i made it work with wifi on amd64 i am not using at the moment the curent ebuild though i should try it i am using the deb packages from the canon server i deb2targz, untar and copied the files but i think that what actually made it work is not this but the fact i blacklisted usblp kernel module in modprobe.d/blacklist i think that was causing some initialisation of the printer and despite rmmod usblp, and having cups detect the printer, it would not print anything so i still have to retry now with the current ebuild but i can say the driver works the gutenprint (latest version 5.6.7 has support for mp495) driver also works althoug with much lower quality to access the printer via wifi, i first found the printer ip, from the wifi accespoint then connected to the printer in a web browser, simply typping that ip address then modified the automotic ip setup to fit my needs (to use a specified ip in my case) then set up cups to Driver: Canon MP495 series Ver.3.40 (color, 2-sided printing) Connection: lpd://192.168.1.15/PASSTHRU Defaults: job-sheets=none, none media=iso_a4_210x297mm sides=one-sided replace the ip address to ur needs (that's why i use static ip configure from the printer's web interface) and tada just to mention, i did make the wifi access work with the cnijfilter driver but not with the gutenprint (only via usb for that) hope this helps someone
I should also mention just in case although i dont think this is of any problem i did recompile my whole system ( emerge -uavD --newuse world ) adding zeroconf avahi, bonjour keyword to make.conf i was wondering if i could get cups to detect the printer by itself, as the printer supports bonjour but i didnt get cups to detect anything alone via the network although that could have to do with the wireless router settings (maybe?)
got it to work on amd64 by editing the ebuild for cnijfilter-3.20, downloadable at http://gpo.zugaina.org/net-print/cnijfilter/ here the relevant part. basically i removed the "servicetools" from "IUSE" and the references to them in "DEPEND". so before i actually emerged cnijfilter, i did libglade and libxml2, so the dependency would be satisfied. ------------------------------------------------------------ IUSE="amd64 nocupsdetection mp250 mp270 mp490 mp550 mp560 ip4700 mp640" DEPEND="app-text/ghostscript-gpl >=net-print/cups-1.1.14 !amd64? ( sys-libs/glibc >=dev-libs/popt-1.6 >=media-libs/tiff-3.4 >=media-libs/libpng-1.0.9 ) amd64? ( >=app-emulation/emul-linux-x86-bjdeps-0.1 app-emulation/emul-linux-x86-compat app-emulation/emul-linux-x86-baselibs ) " ------------------------------------------------------------ after that, i could pick the driver from the list now why does the ebuild (before modification) tell me, there is no ~amd64 version of "service tools", which actually consist of libxml2 and libglade? that seems to be the problem
Created attachment 270671 [details, diff] net-print/cnijfilter-3.30.1 - ebuild for print/scan functions of printers listed in comments (x86/amd64) cnijfilter-3.30-1 supports the following canon printer models: ip2700 mx340 mx350 mx870
Created attachment 270673 [details] net-print/cnijfilter-3.30.1 - ebuild for print/scan functions of printers listed in comments (x86/amd64) printer and scanner drivers for the following canon printers: ip2700 mx340 mx350 mx870
Created attachment 270681 [details, diff] patch required by cnijfilter-3.30-1 Fixes an implicit function declaration that would cause crashes 50% of the time on amd64 systems
Created attachment 270683 [details, diff] printui-m4 patch required by net-print/cnijfilter-3.30.1 Removes a bogus inclusion of a missing m4 folder from the Makefile.am in the source package, allowing it to compile, install, and run.
Created attachment 270687 [details, diff] scangearmp library loading patch for net-print/cnijfilter-3.30.1 Adds the common (binary, proprietary) libs path to the LDFLAGS of 'libsane_canon_mfp_la' target so it can compile properly.
Created attachment 270875 [details] net-print/cnijfilter-3.30.1-r1.ebuild While the previous iteration of cnijfilter-3.30.1 compiled... it wouldn't work properly. This version has been tested to work (at least with my mx870 printer). Problems encountered: (1) Apps installed into the wrong path (particularly bad with the filter and backend for CUPS) (2) Apps were hard-coded to default to look in /usr/local/bin for various binaries. Luckily, there was a configure script switch that fixes that, but it completely ignored the value of things like --prefix=... Took me a while to determine that - the net backend was simply saying "Command not found". Took my running the 'strings' application to realize that it was hard-coded to look for 'cnijnetprn' under /usr/local/bin
Created attachment 270881 [details] net-print/cnijfilter-3.30.1-r2.ebuild Added some dependency checking so that: (1) Will compile and run properly on amd64 arch (2) Forgot to ensure that dev-libs/libusb:0 was installed when the 'scanner' USE flag is enabled.
Tested the 3.30.1 ebuild on an amd64 - appears to work properly. This will likely be what I will utilize from this point forward.
Shouldn't this ebuild be slotted? As I see it, every version supports different printers …
Created attachment 277421 [details] net-print/cnijfilter-3.40-r4.ebuild This ebuild is based off 3.40-r3 from Joris Heirbaut. It enables the cnijnet backend so you can print over the network... if the "net" use flag is enabled. Tested with 32bit gentoo on a PIXMA MG6120 that is only using wifi. "net" will also copy the 64bit licnnet library, but I have no way of verifying 64bit.
i tried to install on amd64 with +servicetools but get the "You can't build this package with 'servicetools' on amd64,..." error, shouldn't this be working as i read in comment #60 ?
can't get it to compile on amd64 - libtool: link: gcc -O2 -Wall -I. -I./common -Wl,-O1 -Wl,--as-needed -o cnijnetprn cnijnetchk.o cnijnetprn.o -L/var/tmp/portage/net-print/cnijfilter-3.40-r4/work/cnijfilter-3.40/com/libs_bin64 -lcnnet -lc -ldl -lcups /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /var/tmp/portage/net-print/cnijfilter-3.40-r4/work/cnijfilter-3.40/com/libs_bin64/libcnnet.so when searching for -lcnnet /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnnet collect2: ld returned 1 exit status make[2]: *** [cnijnetprn] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.40-r4/work/cnijfilter-3.40/backendnet/lmonitor' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.40-r4/work/cnijfilter-3.40/backendnet' make: *** [all] Fehler 2 * ERROR: net-print/cnijfilter-3.40-r4 failed (compile phase): * Couldn't make backendnet * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 2697: Called die * The specific snippet of code: * make || die "Couldn't make backendnet";
(In reply to comment #92) > i tried to install on amd64 with +servicetools but get the "You can't build > this package with 'servicetools' on amd64,..." error, shouldn't this be working > as i read in comment #60 ? Have you tried the ebuild attached with the comment #60 ?
(In reply to comment #94) > (In reply to comment #92) > > i tried to install on amd64 with +servicetools but get the "You can't build > > this package with 'servicetools' on amd64,..." error, shouldn't this be working > > as i read in comment #60 ? > > Have you tried the ebuild attached with the comment #60 ? I tried to build using net-print/cnijfilter-3.40-r4.ebuild (modified to allow amd64 and servicetools as in comment #60). It failed as in comment #93, where it thinks the supplied 64bit libcnnet is incompatible: /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /var/tmp/portage/net-print/cnijfilter-3.40-r4/work/cnijfilter-3.40/com/libs_bin64/libcnnet.so when searching for -lcnnet
Using net-print/cups-1.4.6-r2, net-print/cnijfilter-3.40-r4 and a Canon mg5150 I am getting good printout from PDF files of text but PNG (PPMraw) files come out with blocks of the image chopped up and rearranged, and sometimes enlarged and spread over several pages. After strace-ing the cups daemon and getting the full execve lines I have managed to repeat each step manually and it seems that either the CUPS imagetops, or the canonmg5100.ppd (from cnijfilter) which it uses, are causing the problem. Anyone else finding this?
See https://bugs.gentoo.org/show_bug.cgi?id=378597
Created attachment 283773 [details] Ebuild for cnijfilter-3.50 This ebuild is based off 3.40-r3 from Scott Jones. It add drivers for the following canon drivers mx360 mx410 mx420 mx884/885 ix6550 Tested with 32bit gentoo on a PIXMA MX410 that is only using wifi.
Created attachment 283775 [details] Ebuild for scangearmp-1.70 This ebuild add scanning dirvers and utilities for canon multifunction: mx360 mx410 mx420 mx884/885 Tested with 32bit gentoo on a PIXMA MX410 that is only using wifi.
Created attachment 284261 [details] net-print/cnijfilter-3.40-r5.ebuild net-print/cnijfilter-3.40-r5.ebuild This fixes the libcnnet issues on 64bit. I didn't touch the servicetools... just got it printing over the network for now. There's also a patch to force backend to build against the 32bit libcnnet.so. This fixes the 'skipping incompatible' error -- it was looking for the 32bit library, but in the 64bit lib directory. I also removed the 'if' statement in the ebuild to copy 32bit or 64bit... if amd64 was selected. It needs to copy the 32bit library regardless, or there will be another issue. Tested with ~x86 and ~amd64 on a PIXMA MG6120 over wifi (cnijnet cups backend).
Created attachment 284263 [details] net-print/cnijfilter/files/force-32bit-backendnet-libs.patch net-print/cnijfilter/files/force-32bit-backendnet-libs.patch Patch required for cnijfilter-3.40-r5.ebuild
(In reply to comment #101) The ebuild and patch from comment #100 and 101 work for me on a MX410 over wifi using CUPS (I'm on amd64). I just set up the printer as in comment #79, and it printed a page on the first try. Thanks!
This is a bit chaotic: 1. Why do you RDEPEND on app-emulation/emul-linux-x86-bjdeps? Looks like you simply need a dev-libs/popt 32 bits version. In that case, I guess I could include it on a future app-emulation/emul-linux-x86-baselibs version but, before that, I would want to know why ebuild in bug 129352 is disabling nls support. 2. Why are there a lot of different reports with a lot of old ebuilds attached on them? Looks like different versions are needed depending on each printer, in that case, could you please summary needed different versions (as I doubt we would need all of them, we should try to use the latest version whenever possible). I also have enough bugzilla permissions to toggle as obsolote old attachments, then, I would tag them in that case and, then, clean a bit attachment list. 3. If different drivers versions don't collide, they need to use their own SLOT to allow parallel installation. 4. Per my investigation (I plan to buy a Pixma MP250 if possible but I don't have any Canon printer yet), looks like a lot of Canon printers should be supported by gutenprint/sane-backends, in that case, I think we should only provide non-opensource drivers for unsupported printers (probably an update to gutenprint-5.2.7 will be needed to get more support for newer Canon devices)
Pancho, I agree it is quite chaotic... I'll attempt to answer your questions, someone else might have better answers. 1. I really don't know, and didn't know any better. It was already there, but I could test an alternative configuration. 2. The cnijfilter package versions associate to specific Canon printer models. v3.40 supports certain models, 3.50 has certain models, etc... but they don't over lap. (I require only 3.40, none higher and none lower). 3. This sounds proper, but I'm not sure how well that would work. I'm guessing right now, you can only have 1 version installed. 4. My understanding is that you can get basic Canon support through gutenprint, but not proprietary stuff (like the proprietary Canon network protocol). I think it would be ideal to have one package that accepts use flags for the Canon models you have. Kind of like media-libs/mesa has the VIDEO_CARDS flag. Then it should install the appropriate package (or packages, if it can be slotted). Unfortunately I don't currently have enough ebuild experience to work on that right now.
(In reply to comment #104) > Pancho, I agree it is quite chaotic... I'll attempt to answer your questions, > someone else might have better answers. > > > 1. I really don't know, and didn't know any better. It was already there, but > I could test an alternative configuration. > Will wait then for other people opinion as they could know more about this because this dependency is being inherited for a long time :) > 2. The cnijfilter package versions associate to specific Canon printer models. > v3.40 supports certain models, 3.50 has certain models, etc... but they don't > over lap. (I require only 3.40, none higher and none lower). Isn't there any updated list about what printers support each driver version? Looks like a link is present in one of this bug reports, but it looks a bit outdated, not sure if anyone found a better one > > 3. This sounds proper, but I'm not sure how well that would work. I'm guessing > right now, you can only have 1 version installed. > > 4. My understanding is that you can get basic Canon support through gutenprint, > but not proprietary stuff (like the proprietary Canon network protocol). > > > I think it would be ideal to have one package that accepts use flags for the > Canon models you have. Kind of like media-libs/mesa has the VIDEO_CARDS flag. > Then it should install the appropriate package (or packages, if it can be > slotted). Unfortunately I don't currently have enough ebuild experience to > work on that right now. I agree, maybe we should move to use an eclass with all common code that can be shared between ebuilds, allowing us to manage simpler ebuilds.
I'm unable to build this using the ebuild and patch from comments #100 and #101. I suspect this is because the recent upgrade of libpng14 to libpng15. Can anybody confirm this, or am I barking up the wrong tree here? If this is indeed the problem, can it be solved? Below's a snippet of the emerge output. This is in dutch, The error is: bjfimage.c:1577:6: error: dereference of pointer to incomplete type The offending line 1577 is this png_ptr = (png_structp)lpbjfimage->png_ptr; Now type `make' to compile the package. make all-recursive make[1]: Map '/var/tmp/portage/net-print/cnijfilter-3.40-r5/work/cnijfilter-3.40/mg6100/cnijfilter' wordt binnengegaan Making all in src make[2]: Map '/var/tmp/portage/net-print/cnijfilter-3.40-r5/work/cnijfilter-3.40/mg6100/cnijfilter/src' wordt binnengegaan gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjferror.o -MD -MP -MF .deps/bjferror.Tpo -c -o bjferror.o bjferror.c mv -f .deps/bjferror.Tpo .deps/bjferror.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfilter.o -MD -MP -MF .deps/bjfilter.Tpo -c -o bjfilter.o bjfilter.c mv -f .deps/bjfilter.Tpo .deps/bjfilter.Po gcc -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -MT bjfimage.o -MD -MP -MF .deps/bjfimage.Tpo -c -o bjfimage.o bjfimage.c bjfimage.c: In functie ‘png_image_init’: bjfimage.c:1577:6: fout: dereferentie van pointer naar onvolledig type bjfimage.c:1589:16: let op: passing argument 3 of ‘png_get_IHDR’ from incompatible pointer type /usr/include/png.h:2154:1: note: expected ‘png_uint_32 *’ but argument is of type ‘long int *’ bjfimage.c:1589:16: let op: passing argument 4 of ‘png_get_IHDR’ from incompatible pointer type /usr/include/png.h:2154:1: note: expected ‘png_uint_32 *’ but argument is of type ‘long int *’ bjfimage.c: In functie ‘ppm_write_tmpfile’: bjfimage.c:1838:8: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c: In functie ‘bmp_image_flush’: bjfimage.c:874:8: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c: In functie ‘ppm_image_flush’: bjfimage.c:1158:8: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c: In functie ‘bmp_image_read_raster’: bjfimage.c:803:10: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c:808:9: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c:814:9: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c: In functie ‘ppm_image_read_raster’: bjfimage.c:1105:10: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c:1108:9: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c:1113:10: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c: In functie ‘bmp_image_open’: bjfimage.c:609:8: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c: In functie ‘ppm_image_open’: bjfimage.c:923:8: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result bjfimage.c: In functie ‘png_image_open’: bjfimage.c:1497:8: let op: ignoring return value of ‘fread’, declared with attribute warn_unused_result make[2]: *** [bjfimage.o] Fout 1 make[2]: Map '/var/tmp/portage/net-print/cnijfilter-3.40-r5/work/cnijfilter-3.40/mg6100/cnijfilter/src' wordt verlaten make[1]: *** [all-recursive] Fout 1 make[1]: Map '/var/tmp/portage/net-print/cnijfilter-3.40-r5/work/cnijfilter-3.40/mg6100/cnijfilter' wordt verlaten make: *** [all] Fout 2 * ERROR: net-print/cnijfilter-3.40-r5 failed (compile phase): * Couldn't make mg6100/cnijfilter * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 2712: Called src_compile_pr * environment, line 2726: Called die * The specific snippet of code: * make || die "Couldn't make ${_pr}/cnijfilter"; * * If you need support, post the output of 'emerge --info =net-print/cnijfilter-3.40-r5', * the complete build log and the output of 'emerge -pqv =net-print/cnijfilter-3.40-r5'. * This ebuild is from an overlay named 'my_local_overlay': '/usr/local/portage/manual/' * The complete build log is located at '/var/tmp/portage/net-print/cnijfilter-3.40-r5/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-print/cnijfilter-3.40-r5/temp/environment'. * S: '/var/tmp/portage/net-print/cnijfilter-3.40-r5/work/cnijfilter-3.40' >>> Failed to emerge net-print/cnijfilter-3.40-r5, Log file: >>> '/var/tmp/portage/net-print/cnijfilter-3.40-r5/temp/build.log'
Yes you are right. I confirm it and suggest a patch as follows: --- cnijfilter-source-3.40-1/cnijfilter/src/bjfimage.c.Orig 2010-02-19 05:29:46.000000000 +0000 +++ cnijfilter-source-3.40-1/cnijfilter/src/bjfimage.c 2011-11-01 02:36:15.000000000 +0000 @@ -1574,7 +1574,7 @@ goto onErr; } - if (setjmp (png_p->jmpbuf)) + if (setjmp (png_jmpbuf(png_p))) { png_destroy_read_struct(&png_p, &info_p, (png_infopp)NULL); goto onErr;
For cnijfilter 3.20 you need the same cnijfilter/src/bjfimage.c patch. For cups 1.5.x you also need another patch to make it compile again, maybe also for other revisions : --- backend/src/cnij_backend_common.c.orig 2011-11-10 20:58:35.519038277 +0100 +++ backend/src/cnij_backend_common.c 2011-11-10 20:58:55.523112468 +0100 @@ -38,6 +38,7 @@ // CUPS Header #include <cups/cups.h> #include <cups/ipp.h> +#include <cups/ppd.h> // Header file for CANON #include "cnij_backend_common.h" cnijfilter 3.20 is for the following printers (frm IUSE): mp250 mp270 mp490 mp550 mp560 ip4700 mp640 I also add the whole cnijfilter-rom-3.20-r1 ebuild with epatch and patch files. I used mp640 & cups 1.5.0-r2
Created attachment 292163 [details] ebuild overlay cnijfilter 3.20 with patches for cups 1.5 and libpng15 Complete, ebuild and 2 patches For the following printers, mp640 tested : mp250 mp270 mp490 mp550 mp560 ip4700 mp640
(In reply to comment #109) > Created attachment 292163 [details] > ebuild overlay cnijfilter 3.20 with patches for cups 1.5 and libpng15 > > Complete, ebuild and 2 patches > > For the following printers, mp640 tested : > > mp250 > mp270 > mp490 > mp550 > mp560 > ip4700 > mp640 Hi, patch looks like some binary data. What should I do with it? I have same problems with bjfimage.c, but cups-1.4.8 version. Could you please provide new ebuild? Br, Alexey.
Created attachment 292399 [details] libpng patch
Created attachment 292401 [details] cnijfilter-2.60-r7.ebuild with libpng patch tested with canon pixma ip4200
Created attachment 292403 [details] cnijfilter-2.60-r7-png.patch
I'm experiencing the same error as shown in comment 106 but with version 3.50. I have a Canon Pixma MX410. Furthermore I'm using Cups 1.4.8-r22 and libpng1.5.6 on a ~AMD64 machine.
(In reply to comment #109) > Created attachment 292163 [details] > ebuild overlay cnijfilter 3.20 with patches for cups 1.5 and libpng15 > > Complete, ebuild and 2 patches > > For the following printers, mp640 tested : > > mp250 > mp270 > mp490 > mp550 > mp560 > ip4700 > mp640 I've adjusted this solution to work with cnijfilter-3.50. It still throws an error at bjfimage.c, but now it keeps going up until the install phase. There it hangs with the following error (tail of the error log): make[3]: Entering directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include/misc' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include/misc' make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include/misc' make[2]: Entering directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include' make[3]: Entering directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include' make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include' make[1]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter/include' make[1]: Entering directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter' make[2]: Entering directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter' make[1]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-3.50-r1/work/cnijfilter-3.50/mx410/cnijfilter' cp: cannot stat `381/libs_bin/*': No such file or directory * ERROR: net-print/cnijfilter-3.50-r1 failed (install phase): * (no error message) On a side note: do bugs for scangearmp also in this bug or should I make a new one to keep things separated? scangear-1.70 is giving me a PNG related error.
Created attachment 295761 [details] cnijfilter-3.40-r6.ebuild Hi, this is a version that integrates png15 and cups15 patches with sed one-liners during src_unpack. Aside from that, I removed the forced 32bit lib linking for cnnet as I found it to be harmful during compile phase. With use flags mg5200 and net, I was able to successfully cave this on a current system. Testing functionality now.. Greetings, cmuelle8
Created attachment 295777 [details] cnijfilter-3.40-r7.ebuild - tested on amd64 with mg5250 with backend net (wifi printer) - tested that ldd on both binaries in /usr/local/bin has external libs satisfied - not sure if it also works with libpng12 or libpng14 -> test yourself - libpng15 and cups 1.4.8 are tested and work fine Greetings, Christian
Comment on attachment 295761 [details] cnijfilter-3.40-r6.ebuild see r7
Comment on attachment 295777 [details] cnijfilter-3.40-r7.ebuild compiles AND works.. (fixed missing/wrong libs on amd64 issue) btw: this ebuild is a mess - the 3.30 looks cleaner, if you want to invest some time, try starting out with this one and merge the gory details needed from 3.40-r7 greetings
Created attachment 295779 [details] diff on 3.40-r5 <-> 3.40-r7 for your convenience - if you're curious what has been changed from r5
I'm getting this on amd64....where does this i386 come from during linking? paramlist.c:49:1332: let op: cast van pointer naar integer met andere grootte paramlist.c:49:1368: let op: cast van pointer naar integer met andere grootte paramlist.c:49:1485: let op: cast van pointer naar integer met andere grootte paramlist.c:49:1527: let op: cast van pointer naar integer met andere grootte mv -f .deps/paramlist.Tpo .deps/paramlist.Po /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -Wall -I../../libs/buftool -O2 -L../../libs/buftool -Wl,-O1 -Wl,--as-needed -o pstocanonij pstocanonij.o canonopt.o paramlist.o -lcups ../../libs/buftool/libbuftool.a -lcups libtool: link: gcc -O2 -Wall -I../../libs/buftool -O2 -Wl,-O1 -Wl,--as-needed -o pstocanonij pstocanonij.o canonopt.o paramlist.o -L../../libs/buftool ../../libs/buftool/libbuf tool.a -lcups /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `pstocanonij.o' is incompatible with i386 output /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `canonopt.o' is incompatible with i386 output /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `paramlist.o' is incompatible with i386 output /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: i386:x86-64 architecture of input file `../../libs/buftool/libbuftool.a(buflist.o)' is incompatible with i386 output /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Invalid operation collect2: ld returned 1 exit status make[2]: *** [pstocanonij] Fout 1 make[2]: Map '/var/tmp/portage/net-print/cnijfilter-3.40-r7/work/cnijfilter-3.40/pstocanonij/filter' wordt verlaten make[1]: *** [all-recursive] Fout 1 make[1]: Map '/var/tmp/portage/net-print/cnijfilter-3.40-r7/work/cnijfilter-3.40/pstocanonij' wordt verlaten make: *** [all] Fout 2 * ERROR: net-print/cnijfilter-3.40-r7 failed (compile phase): * Couldn't make pstocanonij * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 2693: Called die * The specific snippet of code: * make || die "Couldn't make pstocanonij"; * * If you need support, post the output of 'emerge --info =net-print/cnijfilter-3.40-r7', * the complete build log and the output of 'emerge -pqv =net-print/cnijfilter-3.40-r7'. * This ebuild is from an overlay named 'my_local_overlay': '/usr/local/portage/manual/' * The complete build log is located at '/var/tmp/portage/net-print/cnijfilter-3.40-r7/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-print/cnijfilter-3.40-r7/temp/environment'. * S: '/var/tmp/portage/net-print/cnijfilter-3.40-r7/work/cnijfilter-3.40' >>> Failed to emerge net-print/cnijfilter-3.40-r7, Log file: >>> '/var/tmp/portage/net-print/cnijfilter-3.40-r7/temp/build.log' * Messages for package net-print/cnijfilter-3.40-r7: * ERROR: net-print/cnijfilter-3.40-r7 failed (compile phase): * Couldn't make pstocanonij * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 2693: Called die * The specific snippet of code: * make || die "Couldn't make pstocanonij"; * * If you need support, post the output of 'emerge --info =net-print/cnijfilter-3.40-r7', * the complete build log and the output of 'emerge -pqv =net-print/cnijfilter-3.40-r7'. * This ebuild is from an overlay named 'my_local_overlay': '/usr/local/portage/manual/' * The complete build log is located at '/var/tmp/portage/net-print/cnijfilter-3.40-r7/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-print/cnijfilter-3.40-r7/temp/environment'. * S: '/var/tmp/portage/net-print/cnijfilter-3.40-r7/work/cnijfilter-3.40' * GNU info directory index is up-to-date. * After world updates, it is important to remove obsolete packages with * emerge --depclean. Refer to `man emerge` for more information.
scangearmp-1.70 I'm unable to compile this. I'm getting this error: gcc -DHAVE_CONFIG_H -I. -I.. -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -I../include -I../backend -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng15 -I/usr/include/libdrm -I/usr/include/gimp-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DV_MAJOR=1 -DV_MINOR=0 -O2 -D__GIMP_PLUGIN_ENABLE__ -D_FILE_OFFSET_BITS=64 -MT scangearmp-scanfile.o -MD -MP -MF .deps/scangearmp-scanfile.Tpo -c -o scangearmp-scanfile.o `test -f 'scanfile.c' || echo './'`scanfile.c scanfile.c: In function ‘WritePnmHeader’: scanfile.c:328:2: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘CNMSInt32’ scanfile.c:328:2: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘CNMSInt32’ scanfile.c:340:2: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘CNMSInt32’ scanfile.c:340:2: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘CNMSInt32’ scanfile.c:353:3: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘CNMSInt32’ scanfile.c:353:3: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘CNMSInt32’ scanfile.c: In function ‘write_data_for_png’: scanfile.c:389:41: error: dereferencing pointer to incomplete type scanfile.c: In function ‘Change_RAW_to_PNG’: scanfile.c:463:40: error: ‘Z_BEST_SPEED’ undeclared (first use in this function) scanfile.c:463:40: note: each undeclared identifier is reported only once for each function it appears in make[2]: *** [scangearmp-scanfile.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-print/scangearmp-1.70/work/scangearmp-1.70/scangearmp/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-print/scangearmp-1.70/work/scangearmp-1.70/scangearmp' make: *** [all] Error 2 It seems that this is related to comment 106. But I don't know how to fix it.
Created attachment 296499 [details, diff] Compile scangearmp-1.70 against libpng-1.5.0 Here's my attempt at fixing the bug. With this patch, scangearmp-1.70 compiles against libpng-1.5. However, saving to png does not work (saving to PDF and PNM does work). Tested with Canon Pixma MG5250. I now nothing about scanning or libpng, and I've never even used C. I believe someone with little more C experience can make png support work.
(In reply to comment #119) > Comment on attachment 295777 [details] > cnijfilter-3.40-r7.ebuild > > compiles AND works.. (fixed missing/wrong libs on amd64 issue) > > > btw: this ebuild is a mess - the 3.30 looks cleaner, if you want to invest some > time, try starting out with this one and merge the gory details needed from > 3.40-r7 > > greetings Hi, I can't build without app-emulation/emul-linux-x86-bjdeps on amd64 system: /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../356/libs_bin64/libcnbpcmcm356.so when searching for -lcnbpcmcm356 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../356/libs_bin64/libcnbpess356.so when searching for -lcnbpess356 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../356/libs_bin64/libcnbpcnclapi356.so when searching for -lcnbpcnclapi356 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../356/libs_bin64/libcnbpcnclbjcmd356.so when searching for -lcnbpcnclbjcmd356 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../356/libs_bin64/libcnbpcnclui356.so when searching for -lcnbpcnclui356 /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../libpopt.so when searching for -lpopt /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libpopt.so when searching for -lpopt /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lpopt Looks like emul-linux-x86-bjdeps is still required. Also net USE-Flag doesn't work on amd64 system. Anyway lastest 3.40 cnijfilter doesn't work with my mp250 anyone know possible reason or some solution?
Created attachment 297123 [details, diff] Updated fix to make scangearmp work with libpng15 (In reply to comment #123) Slightly modified patch, that allows scanning to png. I don't call myself a c expert either, and I still get the occasional segfault, so I'm sure this still needs to be approved. Tested with Canon Pixma MG6150 on amd64
Created attachment 302461 [details] cnijfilter-2.80-r1.ebuild Updated to work with libpng1.5, by cut-n-pasting these two lines from the 3.40-r7 ebuild: > cd "${P}" > sed -i -e 's/png_p->jmpbuf/png_jmpbuf(png_p)/' cnijfilter/src/bjfimage.c With 'USE=mp520', this is confirmed working with my printer, which is: > # /usr/libexec/cups/backend/bjnp > network bjnp://192.168.0.10:8611 "Canon MX700 series" "Canon MX700 series 192.168.0.10" "MFG:Canon;CMD:BJL,BJRaster3,BSCCe,NCCe,PLI;SOJ:TXT01,BJNP2;MDL:MX700 series;CLS:PRINTER;DES:Canon MX700 series;VER:1.060;STA:10;HRI:OTH;MSI:DAT,E3;" Thanks everyone for all the hard work to get these printers working on Gentoo!
Created attachment 302525 [details] cnijfilter-2.70-r3.ebuild I've had to update my ebuild for cnijfilter-2.70 for libpng15. I see that this bug does not yet include any ebuilds to support libpng15 for cnijfilter-2.70, so I'm providing mine (cnijfilter-2.70-r3.ebuild).
Created attachment 302527 [details, diff] libpng-1.5 patch for cnijfilter-2.70-r3 libpng patch for cnijfilter-2.70-r3.ebuild
Created attachment 304563 [details] cnijfilter-3.40-r8.ebuild for MG5250 wifi on ~x86 I had a small problem with cnijfilter-3.40-r7 on x86: the libraries went into /usr/lib32 instead of /usr/lib. No change for amd64. After emerge --digest cnijfilter, the printer now gets correctly detected - over the network - by cups "find printer". It's only a very small change w.r.t. the r7, I hope it is useful for some people and doesn't break for others.
Created attachment 304565 [details] scangearmp-1.60-r2.ebuild for MG5250 wifi I also applied the PNG-patch to the scangearmp-1.60.ebuild I found somewhere on the forum: compiles and installs fine now on ~x86 and ~amd64. No menu entries, so you have to start the scangearmp from a console, or add it manually to you desktop or menu. as root: # equery u scangearmp --> choose your model, e.g. mg5200 # echo "net-print/scangearmp mg5200" >>/etc/portage/package.use # emerge -av --digest scangearmp tjen tun the program as a normal user: $ scangearmp &
I solved the problem for mx340: set net-print/cups-bjnp and net-print/gutenprint-5.2.8_pre1. Works better than net-print/cnijfilter. (Linux UltraHost 3.2.9-gentoo # 6 SMP PREEMPT Sun Mar 4 17:54:21 MSK 2012 x86_64 Intel (R) Core (TM) i3 CPU 550@3.20GHz GenuineIntel GNU / Linux)
Created attachment 304995 [details] cnijfilter-3.60.ebuild I took the 3.50 ebuild and modified one for 3.60. Tested on my MG2170 on amd64.
Created attachment 304997 [details, diff] Compile cnijfilter-3.60 against libpng-1.5
Created attachment 304999 [details, diff] Added include for ppd.h for cnijfilter-3.60
Created attachment 305003 [details] scangearmp-1.80.ebuild scangearmp-1.80.ebuild Tested on my MG2170 on amd64.
Created attachment 305005 [details, diff] Compile scangearmp-1.80 against libpng-1.5
Anyone who has problems with compiling cnijfilter (especially 2.70, but not only this one) should look at http://forums.gentoo.org/viewtopic-p-7044546.html#7044546 I've posted a solution there.
Created attachment 312725 [details] cnijfilter-3.20-r1.ebuild (In reply to comment #109) > Created attachment 292163 [details] > ebuild overlay cnijfilter 3.20 with patches for cups 1.5 and libpng15 > > Complete, ebuild and 2 patches > > For the following printers, mp640 tested : > > mp250 > mp270 > mp490 > mp550 > mp560 > ip4700 > mp640 I was getting "skipping incompatible" compiler error messages when trying to merge Robert Metzler's ebuild in my ~amd64 installation. It built when I replaced 'export ABI=x86' with 'multilib_toolchain_setup x86' in both cnijfilter-3.20-r1.ebuild and in the emul-linux-x86-bjdeps ebuild, as well as replace the patches with three different patches listed in Gentoo Forums post http://forums.gentoo.org/viewtopic-p-7032132.html#7032132 The revised cnijfilter-3.20-r1.ebuild is attached. The three patches (include_cups_ppd_h.patch, ldl.patch and libpng15.patch) to follow.
Created attachment 312727 [details] include_cups_ppd_h.patch (see Comment 138) include_cups_ppd_h.patch (see Comment 138)
Created attachment 312729 [details] ldl.patch (see Comment 138) ldl.patch (see Comment 138)
Created attachment 312731 [details] libpng15.patch (see Comment 138) libpng15.patch (see Comment 138)
I'm trying to get mp540 to work on linux. On x86 I used ebuild from bug 258244 to make it work, but it won't build on amd64. I've tried to incorporate some of the changes you've recently made to cnijfilter-3.20, but unfortunately I'm out of my depth here. Could someone be so kind to update the ebuilds and patches at bug 258244, or somehow make mp540 work with 3.20? Only suggesting the latter, as 3.20 seems to support a large range of models, mp250 tp mp640, including mp550 --- but not mp540.
Using the latest provided patches and cnijfilter-3.20 ebuild here, I'm getting the following error on amd64 with USE: mp550 servicetools amd54: ------------------------------- libtool: link: x86_64-pc-linux-gnu-gcc -m32 -O2 -Wall -I../include/cncl -I../ include/misc -I../../libs/paramlist -O2 -Wl,-O1 -Wl,--as-needed -o cngpij bjc ups.o getipc.o bjutil.o -L../../libs/paramlist /usr/lib32/libpopt.so /var/tm p/portage/net-print/cnijfilter-3.20-r1/work/cnijfilter-3.20/libs/paramlist/.l ibs/libparamlist.a -lcups /usr/lib32/libpopt.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[2]: *** [cngpij] Error 1 ------------------------------- Perhaps I'm missing something obvious already mentioned in the thread? Getting a tad cumbersome to check it all. Sorry.
(In reply to comment #143) > Using the latest provided patches and cnijfilter-3.20 ebuild here, I'm > getting the following error on amd64 with USE: mp550 servicetools amd54: > > ------------------------------- > libtool: link: x86_64-pc-linux-gnu-gcc -m32 -O2 -Wall -I../include/cncl -I../ > include/misc -I../../libs/paramlist -O2 -Wl,-O1 -Wl,--as-needed -o cngpij bjc > ups.o getipc.o bjutil.o -L../../libs/paramlist /usr/lib32/libpopt.so /var/tm > p/portage/net-print/cnijfilter-3.20-r1/work/cnijfilter-3.20/libs/paramlist/.l > ibs/libparamlist.a -lcups > /usr/lib32/libpopt.so: could not read symbols: File in wrong format > collect2: ld returned 1 exit status > make[2]: *** [cngpij] Error 1 > ------------------------------- > > Perhaps I'm missing something obvious already mentioned in the thread? > Getting a tad cumbersome to check it all. Sorry. You would need to have USE="mp550 -servicetools amd64" as it appears that servicetools does not work in the case of amd64 (see http://forums.gentoo.org/viewtopic-t-448354-postdays-0-postorder-asc-start-375.html). Furthermore, as you're using amd64, before merging cnijfilter-3.20-r1 using the ebuild from Comment 138, you need to merge the package emul-linux-x86-bjdeps using the ebuild emul-linux-x86-bjdeps-0.1-r4.ebuild given in Gentoo Bugzilla Bug Report: https://bugs.gentoo.org/show_bug.cgi?id=129352
I have runned into compile error similar to comment #138 with app-emulation/emul-linux-x86-bjdeps and had to make the same change to get it compile. After updating app-emulation/emul-linux-x86-baselibs today, I tried the same modification on net-print/cnijfilter-2.70-r3 which was failing to finish compile because of an ld linking failure. I slightly modified the SLOT=2 to SLOT=2.70 and will try to add the other ebuilds on my overlay https://github.com/tokiclover/bar-overlay if the slotting is not a hell. thanks for sharing!
Finaly, I update the ebuilds with a major clean up/edit with proper src_prepare() src_configure() src_compile() and src_install() using EAPI=4. I added today net-print/cnijfilter:{2.80,3.40,3.50,3.60}... only :2.80 merge as expected; :3.60 faild at linking net backend, see comment #91, same issue; and the :3.x0 fails to build at a ld linking failure exactly similar to comment #31. I'm tired of that major clean up which took too much time, so if somebody want to look at it, I'd add the patches if somebody if somebody provide any.
to correct the previous comment, only :3.20 merge as expectedin the 3.x0.
added :3.00 and merge like a charm... dear testers, your turn came up. note: sloting went fine for 2.x0 and for 3.00 and 3.20, other 3.x0 need extra care [noticed only two files to rename to get going: will look at it if ever somebody runn into an slot issue].
updated and fixed and version bump for the ebuilds: * added a gtk USE flags which pull in a gtk2 status applet (cngpijmon); * fixed servicetools USE flag which rightly pull in service tools utilities (printui and lgmon); * fixed net USE flags which now rightly pull in net backend for >=:3.40; * started slotting the ebuild, slot :2.x0 can be pulled in without an issue, slot >=:3.40 need a little extra care before beeing able to merge >=:3.{5,6}0 with :3.{0,2,4}0 installed; * clean up the ebuilds. servicetools can be pulled in amd64 architectures without any issue, at least it merge without any. :2.70 and :3.50 need a little fix before beeing able to merge with +gtk USE flag hence +servicetools. I'll look at it when I have some time. * and yes, I renamed app-emul/emul-linux-x86-{bjdeps->popt). everything is in my overlay.
(In reply to comment #149) Excellent, many thanks. The ebuild cnijfilter-3.40-r8 from your overlay built without problems for my MG6150 on amd64 (including servicetools). Cups detected the printer, and I can print again. Great work!!
(In reply to comment #150) > (In reply to comment #149) > Excellent, many thanks. > > The ebuild cnijfilter-3.40-r8 from your overlay built without problems for > my MG6150 on amd64 (including servicetools). > > Cups detected the printer, and I can print again. > > Great work!! It doesn't seem to work at all for me (and the ebuild fails if I enable gtk), did you use usb or network?
/var/tmp/portage/net-print/cnijfilter-3.40-r8/work/cnijfilter-source-3.40-1 mv: cannot stat `/var/tmp/portage/net-print/cnijfilter-3.40-r8/image//usr/bin/cnijnpr': No such file or directory To be explicit
@ comment #152 I don't know how and what ebuild version you're trying to merge but: * that binary is pulled with +net USE flag; * ebuild version >=1.7 use ecnij eclass, I introduced that little eclass to avoid the error prone update/fix/edit ebuilds that was whenever there were an update/fix/edit; and to reduce the ridiculous +8 KB ebuild size; * I've just tested to merge with USE="-scanner -nls -gtk -usb -net", UE="-scanner nls gtk -usb -net" and USE="-scanner nls gtk usb net" and it does merge each time as expected; * every single ebuild that support +scanner USE flag should be merged with -scanner untill somebody provide a mean to unpack scangearmp-{common,source} which use an old character format which result to getting '^M' when you try to open a problematic affected file with vim[utf-8]; I added that USE flag to almost 3.x0 SLOT so someone could try to fix/find a mean for that; otherwise I could strip away the scanner related code and the affected ebuilds would be 1.5 KB size (instead of the actual 3.0 KB, ebuild version 1.8); * you can provide the output of `emerge -av cnijfilter:3.40' with the previous requirements to be able to say anything more than what I've already said.
A completement of information: slot 2.{6,7}0 should be merged with -gtk USE flag hence -servicetolls on amd64 architecture becaue +gtk would require app-emul/emul-linux-x86-gtklibs:1 which does not exist of course and it will pull in x11-libs/gtk+:1 on x86 architecture. End.
Hi, since I made the last update my gentoo x86_64 system from KDE 4.7 to KDE 4.8.3, I have some problems with my printer wich use the net-print/cnijfilter-2.60-r7, and tried to re-emerge this ebuild but it doesn't work, this is the output: >>> Failed to emerge net-print/cnijfilter-2.60-r7, Log file: >>> '/var/tmp/portage/net-print/cnijfilter-2.60-r7/temp/build.log' * Messages for package net-print/cnijfilter-2.60-r7: * ERROR: net-print/cnijfilter-2.60-r7 failed (compile phase): * Couldn't make ip2200/cnijfilter * * Call stack: * ebuild.sh, line 85: Called src_compile * environment, line 2583: Called src_compile_pr * environment, line 2597: Called die * The specific snippet of code: * make || die "Couldn't make ${_pr}/cnijfilter"; * * If you need support, post the output of `emerge --info '=net-print/cnijfilter-2.60-r7'`, * the complete build log and the output of `emerge -pqv '=net-print/cnijfilter-2.60-r7'`. * This ebuild is from an overlay named 'x-portage': '/usr/local/portage/' * The complete build log is located at '/var/tmp/portage/net-print/cnijfilter-2.60-r7/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-print/cnijfilter-2.60-r7/temp/environment'. * Working directory: '/var/tmp/portage/net-print/cnijfilter-2.60-r7/work/cnijfilter-2.60/ip2200/cnijfilter' * S: '/var/tmp/portage/net-print/cnijfilter-2.60-r7/work/cnijfilter-2.60' and the output of emerge --info cnijfilter # emerge --info cnijfilter Portage 2.1.10.65 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.14.1-r3, 3.3.8-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.3.8-gentoo-x86_64-Intel-R-_Pentium-R-_Dual_CPU_T3400_@_2.16GHz-with-gentoo-2.1 Timestamp of tree: Sun, 01 Jul 2012 01:30:01 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.3-r1, 3.2.3 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.9.8.4::pentoo sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.6 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.14.1-r3 Repositories: gentoo x-portage mozilla ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=core2" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="es_ES.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="es es_ES es_LA" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /var/lib/layman/mozilla" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 autoipd berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dhcp dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gpm iconv ipv6 java java6 jpeg kde kipi lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg msn mudflap multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pppd qt3support qt4 readline resolvconf samba sdl semantic-desktop session spell sse sse2 ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis wicd wxwidgets x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="es es_ES es_LA" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= net-print/cnijfilter-2.60-r7 was built with the following: USE="(consolekit) ip2200 (multilib) (policykit) (-amd64) -ip4200 -ip6600d -ip7500 -mp500 -nocupsdetection -servicetools" CFLAGS="-O2 -pipe -march=core2 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32" CXXFLAGS="-O2 -pipe -march=core2 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32" And I hope you can help me to see my printer working again, thanks and sorry for my bad english.
Successfully built on amd64 and printed with a pixma 540(!), using USE=mp550.
Hi, I still having problems with the cnijfilter-2.60-r7, and tried change the USE active, only left "ip2200" but it doesn't work, post my last failed build.log, I hope someone can help me to make mi printer work again. I am using the follow patches: cnijfilter-2.60-r1-pstocanonij-c.patch cnijfilter-2.60-r7-png.patch http://pastebin.com/BRRTPXsr thanks for your help.
try my *-r4 ebuild then... why r4 and not >=r7? because it's just a copy from cnijfilter-2.70-r4. I had to revert completly slotting: now every ebuild has SLOT="0". Suffixing binaries did not workt at all. And I can no longer compile any ebuild with gcc-4.6.3 nor gcc-4.5.4 although it compiled just fine with gcc-4.5.3. I don't think I'm going to to merge back gcc-4.5.3 just to try to compile cnijfilter while my printer is somewhere else (cannot use it at the moment). Note: src is on bar-overlay.
(In reply to comment #158) > try my *-r4 ebuild then... why r4 and not >=r7? because it's just a copy > from cnijfilter-2.70-r4. I had to revert completly slotting: now every > ebuild has SLOT="0". Suffixing binaries did not workt at all. And I can no > longer compile any ebuild with gcc-4.6.3 nor gcc-4.5.4 although it compiled > just fine with gcc-4.5.3. I don't think I'm going to to merge back gcc-4.5.3 > just to try to compile cnijfilter while my printer is somewhere else (cannot > use it at the moment). > > Note: src is on bar-overlay. Thanks for answering, after I publish my last comment I see your overlay adress and tried the ebuilds in my local machine but still have the same problem, so I added your overlay using layman, and tried again but it doesn't work, and I'm using gcc-4.5.3-r2, activating the gtk and ip2200 USE flags, because if I use -gtk portage sends me the next error: These are the packages that would be merged, in order: Calculating dependencies / !!! Problem resolving dependencies for net-print/cnijfilter ... done! !!! The ebuild selected to satisfy "cnijfilter" has unmet requirements. - net-print/cnijfilter-2.60-r4::bar USE="(consolekit) debug ip2200 (multilib) nls (policykit) usb (-amd64) -gtk -ip4200 -ip6600d -ip7700 -mp500 -multislot -servicetools" The following REQUIRED_USE flag constraints are unsatisfied: nls? ( gtk ) usb? ( gtk ) The above constraints are a subset of the following complete expression: servicetools? ( gtk ) nls? ( gtk ) usb? ( gtk ) servicetools? ( amd64 ) Left my last /var/tmp/portage/net-print/cnijfilter-2.60-r4/temp/build.log http://pastebin.com/wzjYY218 I tried with cnijfilter 2.70-r4 but the error is the same. Sorry for my bad english (still learning), but if I understand your message, these ebuilds won't be updated in a long time??? is the printer without any chance to work again in gentoo? thanks for your answer.
try this: echo net-print/cnijfilter gtk >>/etc/portage/package.use
(In reply to comment #160) > try this: > > echo net-print/cnijfilter gtk >>/etc/portage/package.use Thanks, I activated USE="ip2200 gtk" to emerge the cnijfilter since last time. I mentioned the problem with -gtk USE flag because Comment 154. The last /var/tmp/portage/net-print/cnijfilter-2.60-r4/temp/build.log that I posted was build with the gtk and ip2200 USE flags active. http://pastebin.com/wzjYY218 As you can see even use the cnijfilter-2.60-r4 direct from your overlay still having problems with the compilation phase. Thanks.
If you have readd my previous comments, you should now that: * you souldn't be using gtk USE flag if not using x86 arch (the reason it that gtk should pull in emul-linux-x86-gtklibs:1 on amd64 which does not exist or gtk+:1 on x86); * nls require gtk USE flag for 2.{7.6}0 version; * usb backend require gtk USE flag I just update the ebuilds (2.{6,7}0} to remove completly multislot USE flag that has no effect (since the previous update). With the premises done, you should get configure phase run just fine. No idea for compiling at the moment, refer to my previous posts.
@ commentt #161: compiled just fine with gcc-4.6.3.
fixed ecnij.eclass needed for >=3.20 version (slot relating lines forgetten when removing multislot). so now >=3.00 should compile just fine and those version need <=cups-1.5.x: compilation will fail with cups-1.6.
someone can suggest me hot to make the ebuild for the cnijfilter-source-3.70-1.tar.gz ? It is a available at http://gdlp01.c-wss.com/gds/8/0100004118/01/cnijfilter-source-3.70-1.tar.gz and I'd like to make an ebuild to let my pixma mx435 to work on gentoo
Created attachment 323934 [details] ebuild for new drivers supporting pixma mx430series and others
Created attachment 323936 [details] cnijfilter-3.70.ebuild
Created attachment 323938 [details, diff] cnijfilter-3.70-png.patch
Created attachment 323940 [details, diff] cnijfilter-3.70-printui-id.po.patch workaround for a bug un id.po
I'd like to say thanx! (sorry, no bug) Yesterday I bought a Canon PIXMA MG5250. After installing and entering my 63 char WPA-PSK key... Install /usr/local/portage/net-print/cnijfilter/cnijfilter-3.40-r8.ebuild # ebuild /usr/local/portage/net-print/cnijfilter/cnijfilter-3.40-r8.ebuild digest # grep cnijfilter /etc/portage/package.* /etc/portage/package.keywords:net-print/cnijfilter /etc/portage/package.use:net-print/cnijfilter mg5200 net # emerge cnijfilter # cnijnetprn --search auto network cnijnet:/MA-C7-1A-DD-RE-SS "Canon MG5200 series" "Canon-MG5200-series_MA-C7-1A-DD-RE-SS" http://localhost:631 > Administratrion > Add Printer > Internet Printing Protocol (http) Connection: cnijnet:/MA-C7-1A-DD-RE-SS It just works, great job people!
*** This bug has been marked as a duplicate of bug 205536 ***
*** Bug 446530 has been marked as a duplicate of this bug. ***
Created attachment 332928 [details] cnijfilter-3.70.ebuild Updated ebuild that is respecting gentoo approach. What remains to be done: use symlinks instead of copying stuff around (specially for the PID folders) silence the LDFLAGS error as the libs are binary ones (see ati-drivers ebuild to know how is it done) bump to 3.80 as i was unsure what dir is used for what :-)
Created attachment 332936 [details] cnijfilter-3.70.ebuild Update to sort out deps and fix cups build crash.
Created attachment 332938 [details, diff] cnijfilter-3.70-ppd.patch
Created attachment 332940 [details, diff] cnijfilter-3.70-libexec-cups.patch Respect our filters dir that is in libexec for gentoo.
Created attachment 332942 [details] cnijfilter-3.70.ebuild
(In reply to comment #177) > Created attachment 332942 [details] > cnijfilter-3.70.ebuild
-REQUIRED_USE="|| ( ${PRINTER_USE} )" +REQUIRED_USE="|| ( ${PRINTER_USE[@]} )" otherwise REQUIRED_USE doesn't work as expected
Created attachment 332996 [details] cnijfilter-3.70.ebuild Fix required_use and symlinks creation, now should pass even from clean install where there is no cnijfilter around.
Created attachment 333010 [details] cnijfilter-3.70.ebuild Use common functions to reduce code duplication.
Created attachment 333012 [details] cnijfilter-3.70-ppd2.patch One more patch for ppd includes.
Created attachment 333014 [details] cnijfilter-3.70.ebuild Build all tools that were missing in the ebuild i based from.
Created attachment 333040 [details, diff] cnijfilter-3.70-libexec-backend.patch Use libexec for all remaining backends.
Created attachment 333042 [details] cnijfilter-3.70.ebuild
It is added to sabyon for-gentoo overlay. Ask for more versions if you need them ;-)
Thanks for the overlay ! I need the 3.20 version for my IP4700 printer (around comment #60 of this bug report), eventually ;) Thanks !
I've added it with x86 keyword only for now, because I would have to figure the binpkgs otherwise. Anyway I've got an idea to implement tho, splitting the drivers out of the cnijfilter to cnijfilter-drivers where would be the per version all models build, while we would keep the core stuff always up-to-date. I just verified that 3.60 drivers actually work even with latest 3.80 core. I wonder if the canon has some git repository for the opensource part, because there are quite few issues that can be easily fixed :-)
Okey, the split is done, now the overlay contains cnijfilter which is common package and cnijfilter-drivers which contains versioned drivers for all various stuff, this ensures that you can use latest core with fixes with older drivers. Remaining thing is to allow building 32bit common libs and driver for old enough drivers which are 32bit only. Given that I did this for version 3.60 which works fine now, I leave this for somebody else to solve :-)
cnijfilter-drivers-3.00 for (amd64) requested
why cnijfilter-2.60 was obsoleted? ony 2.60 are supportin pixma ip2400
Is there a newer driver than 2.70 for Canon Pixma ip4300? Looking at the 3.xx versions in the sabayon-for-gentoo overlay, there doesn't seem to be a driver for this printer model.
BTW: To build cnijfilter-2.70 with current automake-1.13, you have to: 1) Add the following lines at the end of src_unpack(): # Fixes for automake-1.13 find -iname "configure.in" | xargs sed -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' find -iname "configure.in" | xargs sed -i -e 's/AM_PROG_CC_STDC/AC_PROG_CC/g' (This doesn't fix all the deprecated warnings, but it is enough to get it going again.) 2) Add autoreconf -i to all ./autogen.sh lines in src_compile() and src_compile_pr(). Example: src_compile() { cd libs || die autoreconf -i ./autogen.sh --prefix=${_prefix} || die "Error: libs/autoconf.sh failed" make || die "Couldn't make libs" ...
Created attachment 340020 [details, diff] Fix build error within id.po for <=cnijfilter-drivers-3.70 (In reply to comment #186) Anyone with commit access to the for-gentoo.git overlay, please consider pushing this patch to fix a build error with id.po seen with 3.20, 3.60, 3.70, but not with 3.80. Thank you! (I do have the pixma mp640, thus needing 3.20 driver) file=./`echo id | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/gmsgfmt -c -o $file id.po id.po:2075: number of format specifications in 'msgid' and 'msgstr' does not match /usr/bin/gmsgfmt: found 1 fatal error make[2]: *** [id.gmo] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-drivers-3.20/work/cnijfilter-source-3.20-1/mp640/printui/po' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-drivers-3.20/work/cnijfilter-source-3.20-1/mp640/printui' make: *** [all] Error 2 * ERROR: net-print/cnijfilter-drivers-3.20 failed (compile phase): * emake failed
Created attachment 340022 [details, diff] 3.20 does not use the '32' suffix yet Ohw, one more: 3.20 doesn't use 'libs_bin32' yet (3.60 does already). Not sure if 3.20 can support 64bit at all.
cnijfilter-drivers-3.20 from sabayon overlay still fails for me like this: x86_64-pc-linux-gnu-gcc -O2 -L../../360/libs_bin -Wl,--as-needed -o cif bjferror.o bjfilter.o bjfimage.o bjfoption.o bjfpos.o bjfrcaccess.o getipc.o bjflist.o -lcnbpcmcm360 -lcnbpess360 -lm -ldl -ltiff -lpng -lcnbpcnclapi360 -lcnbpcnclbjcmd360 -lcnbpcnclui360 -lpopt /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../360/libs_bin/libcnbpcmcm360.so when searching for -lcnbpcmcm360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcmcm360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../360/libs_bin/libcnbpess360.so when searching for -lcnbpess360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpess360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../360/libs_bin/libcnbpcnclapi360.so when searching for -lcnbpcnclapi360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcnclapi360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../360/libs_bin/libcnbpcnclbjcmd360.so when searching for -lcnbpcnclbjcmd360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcnclbjcmd360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible ../../360/libs_bin/libcnbpcnclui360.so when searching for -lcnbpcnclui360 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcnclui360 collect2: error: ld returned 1 exit status make[2]: *** [cif] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-drivers-3.20/work/cnijfilter-source-3.20-1/mp560/cnijfilter/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-print/cnijfilter-drivers-3.20/work/cnijfilter-source-3.20-1/mp560/cnijfilter' make: *** [all] Error 2 * ERROR: net-print/cnijfilter-drivers-3.20 failed (compile phase): * emake failed This is with USE="mp560". Will attach the full build.log.
Created attachment 349482 [details] Build log for cnijfilter-drivers-3.20 build failure for mp560
Hi, I have a Canon ix6550, which seems to require driver version 3.50. I have built and installed the version from https://github.com/tokiclover/bar-overlay.git It installs fine, and I can add the printer to cups. However, whenever I try and print something nothing happens on the printer. No errors, nothing stuck in the queue, just no action at all. Latest (mostly) stable gentoo, amd64. Anyone got any ideas, or tips on who I can debug this? I really appreciate any insight anyone can share. Cheers, jcat
(In reply to jcat from comment #198) jcat, I had exactly the same problem with Pixma MG5250. See this: http://forums.gentoo.org/viewtopic-p-6823244.html Finarfin's suggestion from Sun Sep 25, 2011 9:32 am fixed this for me. It may work for you, too.
Created attachment 357984 [details] cnijfilter-3.40-r9.ebuild While I appreciate the efforts that went into both of the optified overlay releases... #173 is incorrect... the sabayon overlay does not obsolete the v3.40 releases. Since sabayon-overlay isn't relevant for 3.40 and bar-overlay's has never successfully compiled for me... I ended up trying cnijfilter-3.40-r8 (#129). I had to add the bjdeps back (that was removed in the 3.40-r6 release) as it is still a valid dependency... and I wanted portage to track that. In case someone else comes along here to look for the v3.40 utility, I didn't want anyone else wasting time on abandoned overlays... and figured I'd share the ebuild that worked for me. Tested with amd64 with an MG6120 over wifi.
Created attachment 357990 [details] scangearmp-1.60-r3.ebuild The prior ebuild appears to be broken by libusb portage changes. This bump just changes depends from >=dev-libs/libusb-0.1.12-r5 to >=dev-libs/libusb-compat-0.1.5 The libusb dependency is independent of the 'usb' use flag.
(In reply to Scott Jones from comment #200) > I had to add the bjdeps back (that was removed in the 3.40-r6 release) as it > is still a valid dependency... and I wanted portage to track that. emerge: there are no ebuilds to satisfy ">=app-emulation/emul-linux-x86-bjdeps-0.1". (dependency required by "net-print/cnijfilter-3.40-r9::x-portage[-servicetools]" [ebuild]) So, where can we find this bjdeps package?
(In reply to Evert from comment #202) > (In reply to Scott Jones from comment #200) > > I had to add the bjdeps back (that was removed in the 3.40-r6 release) as it > > is still a valid dependency... and I wanted portage to track that. > > emerge: there are no ebuilds to satisfy > ">=app-emulation/emul-linux-x86-bjdeps-0.1". > (dependency required by > "net-print/cnijfilter-3.40-r9::x-portage[-servicetools]" [ebuild]) > > So, where can we find this bjdeps package? https://bugs.gentoo.org/show_bug.cgi?id=129352
I updates net-print/cnijfilter ebuilds of my overlay (https://githib.com/tokiclover/bar-overlay) and added abi_x86_{32,64} USE flags to get rid of app-emulation/emuml-linux-x86-* cruft. There is an eclass/ecnij.eclass eclass provided by the overlay so, one has to grab it... Anyway, I also added ebuilds for 3.{8,9}0; not tested (to compile) yet. (I was looking for my printer model in newer sources tarball...) I had a hard time to get cnijfilter-common-2.70-1.src.rpm which I need... and finaly manged to get that rpm package in the intertubes again. To make a long story short, the eclass seems to work as expcted but I could not manage to compile either 2.70 nor 3.70 because of... numerous copmpile errors which sys-devel/gcc:4.8 threw out. So feel free to test and report bugs. I will try to sync to current patches of this thread to get compilable ebuilds. But right now, I am considering to get an old driver for Windows(tm) and try to revive my old printer (it won't be easy because I have a new hardware with M$ W-8.1.) Darn canon, to discontinue quickly drivers updates for such expansive hardware devices.
(In reply to Evert from comment #202) > (In reply to Scott Jones from comment #200) > > I had to add the bjdeps back (that was removed in the 3.40-r6 release) as it > > is still a valid dependency... and I wanted portage to track that. > > emerge: there are no ebuilds to satisfy > ">=app-emulation/emul-linux-x86-bjdeps-0.1". > (dependency required by > "net-print/cnijfilter-3.40-r9::x-portage[-servicetools]" [ebuild]) > > So, where can we find this bjdeps package? bjdeps was just an abi_x86_32 dev-libs/popt library, striped with the unecessary already merged files. I had previously renamed app-emulation/emul-linux-x86-{bjdeps => popt} to make thinks more clear about what it was. I deleted recently because I'm trying to get abi_x86_32 working with my overlay.
(In reply to Tomáš Chvátal from comment #189) > Remaining thing is to allow building 32bit common libs and driver for old > enough drivers which are 32bit only. Given that I did this for version 3.60 > which works fine now, I leave this for somebody else to solve :-) I almost forget that good idea... I was almost offline for a few months so I did not want to take that hot potato. I merged bits of it right now, remain testing. Well abi_x86_{32,64} make it easy to get support of old drivers. I will try to compile tomorow!
I finaly finished the pain in the arse updating my overlay/net-print/cnijifilter{,-drivers} using scarabeus (alias Thomas C., see above) spliting core/drivers scheme. However, I differ from Sabayon/for-gentoo overlay on the src compiled as drivers or core. Well to sump up, 'printui' for old pkg or 'maintenance' should go to core nor drivers! because printui is just a collection of images.. for ui! See my updated eclass for more info. I cleaned it up and refactorized it. It has no longer internat variables, so it can almost be copied 'as is' into ebuilds. I did not test that though. I am not removing 2.[6-9]0 nor 3.[0-6]0 yet because some people, like myself, need very old drivers. 2.90,3.[0-8]0 drivers compile just fine; 2.[67]0 fails on aclocal. cnijifilter/core should compile just fine but it's not the case. I have sys-devel/gcc-4.8.3 and it throws up numerous *pointer derefence to incomplete type* errors. I took a look at 'pAttribue' defined as ipp_attribute_t (which is a struct type defined in <cups/ipp.h>; gcc complains with some lines like 'strcmp(pAttribue->name = "some tring")...' ... and infact 'pAttribue->name' is as string (defined as 'char *name'). So I don't know what to do from here to revive my printer. I already have enough of canon shi* but I need their shi* to revive my printer. So, if somene could step in and lend a hand... untill then, or if ever I recover from the previous 2 days... I will leave it as is for now. For those who have cnifilter/core installed already, they can grap the drivers ebuilds because some devices like ip100 (an expansive device) got updates: introduced in 2.90 and there is a driver in 3.70! I don't remember the other... check it for yoursel!
Sorry for some unecessary noise... but I havle almost managed to forget about cnijfilter shi*. Actually old ebuilds without the core/drivers spliting used to be mergeable with -servicetools ( and -gtk for bar overlay). 4.[01]0 changed it a little bit because +gtk (bar overlay) build now but the same old code in 'cngpijmon' and 'cngpmnt' present only in cnijfilter-3.[89]0 ported, or to be precise copied 'as is' I think, to cnijnpr in cnijfilter-4.[01]0 do not compile and throw the same errors! So cnijfilter-3.[49]0 is compilable with -servicetools (and -gtk for bar overlay) while cnijfilter-4.[01]0 compile with +gtk (bar overlay)! I don't really know where the whole old code in 'cngpijmon' present in old tarball went in cnijfilter-4.x0 nor the 'maintenace' present in the last 3.x0. It seems 'cngpijmon/cnijnpr' was moved and lgmon API changed because there is a new lgmon2 in 4.x0 while many chunk of code where left 'as is' which are not compilable since the old days! I am providing all that info for future adventurous ones to not lose too much time digging in canon shi* hole.
One last thing cnijfilter-drivers-2.70 compiles just fine with -gtk, 2.60 should do so. Those two tarballs are very old and require gtk+:1... anoth thing I forget as well. Lets see if I can get something printed, sigh.
How is this going to affect the cnijfilter ebuilds and what would be the solution / workaround? # /usr/portage/profiles/package.mask: # Ulrich Müller <ulm@gentoo.org> (10 Sep 2014) # Multiple security vulnerabilities, bug #510960. # Masked for removal in 30 days, bug #517932. =app-emulation/emul-linux-x86-compat-20140508
(In reply to Evert from comment #210) > How is this going to affect the cnijfilter ebuilds and what would be the > solution / workaround? > > # /usr/portage/profiles/package.mask: > # Ulrich Müller <ulm@gentoo.org> (10 Sep 2014) > # Multiple security vulnerabilities, bug #510960. > # Masked for removal in 30 days, bug #517932. > =app-emulation/emul-linux-x86-compat-20140508 A sane and viable solution is to follow this guide: https://wiki.gentoo.org/wiki/Multilib_System_without_emul-linux_Packages and remove emul cruft. So you do not have anything that *really* depends on it. A similar approch is to pick up ebuilds from my overlay. See my previous comments. Although I cannot print with my dying printer... so you shall pick up your alpha/beta tester toolkit and give it a try.
So if I understand correctly, I need something like package.use =net-print/cnijfilter-3.40::bar abi_x86_32 drivers mg5200 backends net usb -gtk -doc =net-print/cups-9999 abi_x86_32 package.accept_keywords: =net-print/cnijfilter-3.40::bar ~amd64 =net-print/cups-9999 ** etc etc emerge: there are no ebuilds to satisfy ">=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]". (dependency required by "net-print/cups-9999" [ebuild]) (dependency required by "cups" [argument]) This is probably going to be a hell of a job. So... I guess the (stable) portage repo is just not ready yet...
Created attachment 385826 [details, diff] cnijfilter-3.40::bar - bin path patch This patch makes net-print/cnijfilter-3.40::bar actually work. Without it: 1. cups throws a message "Command not found" without telling more info. The problem was in cnijnet: # strings /usr/libexec/cups/backend/cnijnet |grep bin /usr/local/bin/cnijnetprn which should be /usr/bin/cnijnetprn. 2. the filter can't be found so nothing will be printed. The problem is pstocanonij.c builds a shell commandline like: /usr/bin/gs -r600 -g4958x7016 -q -dNOPROMPT -dSAFER -sDEVICE=ppmraw \ -sOutputFile=- -| /usr/local/bin/cifmg5200 --imageres 600 --papersize a4 \ --media plain --paperload auto --bbox 9,14,586,834 --fit --bidi so /usr/local/bin/cifmg5200 can't be found since it's installed in /usr/bin/. B.t.w. I don't use abi_x86_32; my /etc/portage/package.use contains: =net-print/cnijfilter-3.40::bar drivers mg5200 backends net usb -gtk -doc
(In reply to Evert from comment #212) > So if I understand correctly, I need something like > > package.use > =net-print/cnijfilter-3.40::bar abi_x86_32 drivers mg5200 backends net usb Youre lucky, you don't need the abi_x86_32 because you're using 3.40 (that the version which include multilib support).
(In reply to Evert from comment #213) > B.t.w. I don't use abi_x86_32; my /etc/portage/package.use contains: > =net-print/cnijfilter-3.40::bar drivers mg5200 backends net usb -gtk -doc Darn, PATH is even hardcoded... it's not surprise that those thing are totaly broken. Could you try to print directly with `cifmg5200'? The drivers USE flag only build that binary and install propriatary blobs (libraries). Other than that, it does nothing. Chance are it won't work. So redirect everything to a file, or else, expect terminal corruption. Lets try back port that patch to the other ebuilds. I'm adding it to 3.40.
(In reply to Evert from comment #213) > Created attachment 385826 [details, diff] [details, diff] > cnijfilter-3.40::bar - bin path patch > > This patch makes net-print/cnijfilter-3.40::bar actually work. Without it: > > 1. cups throws a message "Command not found" without telling more info. > The problem was in cnijnet: > # strings /usr/libexec/cups/backend/cnijnet |grep bin > /usr/local/bin/cnijnetprn > which should be /usr/bin/cnijnetprn. I'm leaving the first part of the patch because `--enable-progpath=/usr' should fix it. So the -r1 would include the second part of the patch.
for Evert comment #213: Well, no -r1 for now. Actually `--enable-progpath=/usr' should be enough. You fought a monumental battle to find that `#define PROG_PATH'. You're patch would *really* hard `PROG_PATH' to `/usr/bin'. I think the following commented out line is there for testing. The GS_PATH is really hard coded. That should be `PROG_PATH' as well. Oh well, I do know what GS stand for... so I will leave it there. I pushed a commit to my overlay with `--enable-progpath=/usr' in src_configure. Thanks! Well, I will try this later. My printer is dying, so... Well, I removed that `--enable-progpath=/usr' for no reason... and added `--enable-libpath=/usr/$(get_libdir)' which should be included as well. My fault, I did now forsee this one. Now everything should *just work*?.
I do know *should be* I do not know.
(In reply to tokiclover from comment #217) > for Evert comment #213: > Well, no -r1 for now. Actually `--enable-progpath=/usr' should be enough. That would be "--enable-progpath=/usr/bin" and no, it isn't enough. Somehow, PROG_PATH doesn't make it into pstocanonij.c. I didn't really study ecnij.eclass, but maybe because it contains: case ${dir} in backendnet|cnijfilter|lgmon*|printui) which might not match pstocanonij/filter/pstocanonij.c or something like that... > The GS_PATH is really hard coded. That should be `PROG_PATH' as well. > Oh well, I do not know what GS stand for... GS stands for ghostscript. GS_PATH is the dir where the gs binary is installed. This should not be PROG_PATH since that binary is from a different package. > Now everything should *just work*? It still calls /usr/local/bin/cifmg5200 without the second part of my patch, so... not yet.
(In reply to tokiclover from comment #215) > Could you try to print directly with `cifmg5200'? The drivers USE flag only > build that binary and install propriatary blobs (libraries). Other than > that, it does nothing. Chance are it won't work. So redirect everything to a > file, or else, expect terminal corruption. What exactly do you mean? Something like this? =net-print/cnijfilter-3.40::bar -drivers mg5200 backends net usb -gtk -doc Doesn't make any difference and the same (amount of) files are installed. Using previous ebuilds, /usr/libexec/cups/backend/cnijusb was never installed or needed to get usb functional. Also /usr/lib64/cnijlib/cnnet.ini doesn't need to be installed and since it's a cache file, I think it should go somewhere in /var/lib/cnijfilter or something like that. But well, it doesn't really bother me...
(In reply to Evert from comment #219) > (In reply to tokiclover from comment #217) > > for Evert comment #213: > > Well, no -r1 for now. Actually `--enable-progpath=/usr' should be enough. > That would be "--enable-progpath=/usr/bin" and no, it isn't enough. Somehow, > PROG_PATH doesn't make it into pstocanonij.c. I didn't really study > ecnij.eclass, but maybe because it contains: > case ${dir} in > backendnet|cnijfilter|lgmon*|printui) > which might not match pstocanonij/filter/pstocanonij.c or something like > that... I almost missed that one, lets fix it then and `pstocanonij' to that case section. I'm pushing a commit for this then.
(In reply to Evert from comment #220) > What exactly do you mean? Something like this? > =net-print/cnijfilter-3.40::bar -drivers mg5200 backends net usb -gtk -doc > Doesn't make any difference and the same (amount of) files are installed. I mean you can try to print directly with `cifmg5200' to see if it works. It should make a difference! -drivers should prevent the related printer binary and blobs from being installed. I did test this with several ebuilds... If it doesn't work... lets leave it aside then. > Using previous ebuilds, /usr/libexec/cups/backend/cnijusb was never > installed or needed to get usb functional. Which previous ebuild are you talking about? > Also /usr/lib64/cnijlib/cnnet.ini doesn't need to be installed and since > it's a cache file, I think it should go somewhere in /var/lib/cnijfilter or > something like that. But well, it doesn't really bother me... It is indeed a cache file and I don't remember how it gets that special treatment anymore. I adapted current ebuilds/eclass from sabayon overlay and dropped the -rN nosense. I was away for several months to not say years and I can no longer make my printer print anything... so testing new things regarding those ebuilds is limited. I can certainly move that cache file to `/var/cache/cnijfilter'. Now, how do we make that change have some effect on cnijfilter filters/backends? I am not keen on fighting that new change and look where to find out which filter/backend use that cache and where is the pramater/configuration to set a new value.
(In reply to tokiclover from comment #222) > (In reply to Evert from comment #220) > > Also /usr/lib64/cnijlib/cnnet.ini doesn't need to be installed and since > > it's a cache file, I think it should go somewhere in /var/lib/cnijfilter or > > something like that. But well, it doesn't really bother me... > > It is indeed a cache file and I don't remember how it gets that special > treatment anymore. I adapted current ebuilds/eclass from sabayon overlay and > dropped the -rN nosense. I was away for several months to not say years and > I can no longer make my printer print anything... so testing new things > regarding those ebuilds is limited. I've just double checked with a `grep -e (PROG|LIB)_PATH **/configure*' (a zsh recursive search) to find what it is defining those symbols and pushed a commit to fix too many QA warnings and not apply `--enable-lib|progpath' blindly. As a result I've checked what is actualy being installed in `/usr/lib/cnijlib'. Well, only database and cache files get there with `BJLIB_PATH' symbole. So, I've changed `BJLIB_PATH' from `/usr/lib/cnijlib' to `/var/lib/cnijlib' (--in a commit, so reverting is easy,--) which is the proper path for that kind of files. grep doesn't lie, does it? So it should *just work*? Bye.
(In reply to tokiclover from comment #223) > I've just double checked with a `grep -e (PROG|LIB)_PATH **/configure*' (a > zsh recursive search) to find what it is defining those symbols and pushed a > commit to fix too many QA warnings and not apply `--enable-lib|progpath' > blindly. I did that for 2.70, 3.40, 3.[78]0 and 4.10. It should be enough.
(In reply to tokiclover from comment #221) > (In reply to Evert from comment #219) > > PROG_PATH doesn't make it into pstocanonij.c. I didn't really study > > ecnij.eclass, but maybe because it contains: > > case ${dir} in > > backendnet|cnijfilter|lgmon*|printui) > > which might not match pstocanonij/filter/pstocanonij.c or something like > > that... > I almost missed that one, lets fix it then and `pstocanonij' to that case > section. > I'm pushing a commit for this then. Great, it now works without my patch :) (In reply to tokiclover from comment #223) > I've just double checked with a `grep -e (PROG|LIB)_PATH **/configure*' (a > zsh recursive search) to find what it is defining those symbols and pushed a > commit to fix too many QA warnings and not apply `--enable-lib|progpath' > blindly. I still get 6x --enable-progpath QA Notice warnings. > As a result I've checked what is actualy being installed in > `/usr/lib/cnijlib'. Well, only database and cache files get there with > `BJLIB_PATH' symbole. So, I've changed `BJLIB_PATH' from `/usr/lib/cnijlib' > to `/var/lib/cnijlib' (--in a commit, so reverting is easy,--) which is the > proper path for that kind of files. grep doesn't lie, does it? So it should > *just work*? Great; and it still works :)
(In reply to tokiclover from comment #222) > (In reply to Evert from comment #220) > > Using previous ebuilds, /usr/libexec/cups/backend/cnijusb was never > > installed or needed to get usb functional. > Which previous ebuild are you talking about? I was referring to cnijfilter-3.40-r9.ebuild: https://bugs.gentoo.org/attachment.cgi?id=357984 This one doesn't install cnijusb, so it doesn't seem to be needed...
Hello all, Here is the latest version of CNIJFILTERS from Canon, extracted from the Sabayon distribution and tuned with correct signatures in Manifests. File: cnijfilter.tar.bz2 Canon version: 3.80 It works perfectly well under CUPS on my frequently-updated Gentoo (latest sync: 2015-05-01) and with my Canon IP7250 printer, connected to USB or onto Wifi LAN.
Created attachment 402866 [details] Version 3.80 of the Canon CNIJFILTERS
The version 3.80 that I posted on 2015-05-08 as an attachement is still working perfectly with my IP7250 and latest portage tree, but I wonder if it worth to give a try to the version 3.90 that is available on the Canon servers ?..
I've found this repos[1] yesterday and ported some patches to all version in order to have +servicetools USE flag compile--which it does! remain testing... it looks like requiring printer models for each version is unavoidable, meaning using newer backends won't be possible for older printers (ppd files.) All the goodies are in bar-overlay[2]. [1]: https://github.com/spremi/cnijfilter-source-3.80 [2]: https://github.com/tokiclover/bar-overlay
(In reply to tokiclover from comment #230) > I've found this repos[1] yesterday and ported some patches to all version in > order to have +servicetools USE flag compile--which it does! remain > testing... it looks like requiring printer models for each version is > unavoidable, meaning using newer backends won't be possible for older > printers (ppd files.) > > All the goodies are in bar-overlay[2]. > > [1]: https://github.com/spremi/cnijfilter-source-3.80 > [2]: https://github.com/tokiclover/bar-overlay Follow up: so this now possible with newer package: (mg7100 in the example) --- Print Head Cleaning [user@zzz /yyy]$ lpr -P MG7100USB /usr/share/cmdtocanonij/cleaning.utl Print nozzle check pattern Prints a pattern that lets you check whether the print head nozzles are clogged. [user@zzz /yyy]$ lpr -P MG7100USB /usr/share/cmdtocanonij/nozzlecheck.utl Print Head Alignment [user@zzz /yyy]$ lpr -P MG7100USB /usr/share/cmdtocanonij/autoalign.utl --- There a gtk UI--/usr/bin/printerui<MODEL>--for package older than v3.80 and gtk+:1 is required for package older than v2.70--which is my case. No luck here. Good luck for those who do not have to use Windows(TM) to do some maintenance on printers.
When trying to install net-print/cnijfilter-3.80-r2 from the bar overlay, the ebuild fails when building the driver for the ip7200 series. This is emerge --info =net-print/cnijfilter-3.80-r2: ====== Portage 2.3.6 (python 2.7.12-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.4.0, glibc-2.23-r4, 4.12.5-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.12.5-gentoo-x86_64-AMD_A10-5800K_APU_with_Radeon-tm-_HD_Graphics-with-gentoo-2.3 KiB Mem: 8133952 total, 592748 free KiB Swap: 8388604 total, 8380936 free Timestamp of repository gentoo: Wed, 30 Aug 2017 15:45:01 +0000 sh bash 4.3_p48-r1 ld GNU ld (Gentoo 2.28.1 p1.0) 2.28.1 app-shells/bash: 4.3_p48-r1::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.24.1-r2::gentoo dev-lang/python: 2.7.12::gentoo, 3.4.5::gentoo dev-util/cmake: 3.7.2::gentoo dev-util/pkgconfig: 0.28-r2::gentoo sys-apps/baselayout: 2.3::gentoo sys-apps/openrc: 0.28::gentoo sys-apps/sandbox: 2.10-r3::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.28.1::gentoo sys-devel/gcc: 5.4.0-r3::gentoo sys-devel/gcc-config: 1.7.3::gentoo sys-devel/libtool: 2.4.6-r3::gentoo sys-devel/make: 4.2.1::gentoo sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers) sys-libs/glibc: 2.23-r4::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.fr.gentoo.org/gentoo-portage priority: -1000 local location: /usr/portage/local masters: gentoo priority: 0 bar location: /var/lib/layman/bar sync-type: laymansync sync-uri: https://github.com/tokiclover/bar-overlay.git masters: gentoo priority: 50 jorgicio location: /var/lib/layman/jorgicio sync-type: laymansync sync-uri: https://github.com/jorgicio/jorgicio-gentoo.git masters: gentoo priority: 50 mv location: /var/lib/layman/mv sync-type: laymansync sync-uri: https://anongit.gentoo.org/git/user/mv.git masters: gentoo priority: 50 vmware location: /var/lib/layman/vmware sync-type: laymansync sync-uri: git://anongit.gentoo.org/proj/vmware.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="es_ES.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="3dnow 3dnowext X a52 aac aalib acl acpi activities additions adns ads aften aim aio akonadi alsa amd64 apbs apm arpack atm attica audio audiofile autoipd autotrace bash-completion battery bcmath berkdb bidi blas bluetooth branding btrfs bzip2 cairo caps cdda cddb cdr cgi charconv chm clamav cli client-only clisp cmake compat context contrib cracklib crypt css cups curl custom-optimization cvs cxx daemon dbus declarative desktopglobe detex dga dhcpcd dia dirac directfb dri dts dv dvd dvdr dvi dvi2tty dvipdfm eap-sim emboss emf emovix encode exif expoblending extra fam fat fbcon ffmpeg fftw firefox flac fltk fontconfig foomaticdb fortran ftp fuse gallium gbm gcj gdbm geoip geolocation gif gimp glamor gnome-keyring gnuplot gphoto2 gpm gps gpssync gpu graphics graphviz grub gsl gstreamer gtk gtkhtml gzip hddtemp hdri hfs hpcups hpijs iconv icu idn imagemagick imap imlib inkjar ioctl ipv6 jack jadetex java java6 javafx javascript jce jpeg jpeg2k json justify kate kde kipi kwallet lame lapack laptop lasi latex lcms ldap lensfun libass libcaca libkms libnotify libsecret libv4l libwww live lm_sensors logrotate lqr lzma lzo mad maildir matroska matrox mbox mdnsresponder-compat mediawiki memlimit metric mime mjpeg mmap mmxext mng mobi modplug modules mono mopac7 motif mp3 mp4 mpeg mplayer msn mtp multilib musepack nas ncurses network networkmanager nforce2 nls npp nptl nsplugin ntfs ntfsprogs numpy octave ogg omega opal openal openbabel opencl openexr opengl openmp openvg osc oscar osdmenu oss pam pango panorama pcre pdf phonon pkcs11 plasma plotutils pm-utils png policykit portaudio posix postscript povray ppds ppm ppp psf pstricks publishers pvr qalculate qml qt3support qt4 qt5 quicktime qwt r600-llvm-compiler rar raw rdesktop readline recode redeyes reiser4 reiserfs remote rss rtc rtsp ruby samba sasl scanner schroedinger science sdl sdl-image seccomp semantic-desktop session sharedmem shorten simplexml skins skype slang slp smartcard smp snmp sockets solver sox spell sse4 sse41 sse4_1 sse4_2 ssl ssse3 startup-notification stats stream subtitles subversion svg syslog systemd szip taglib tcl tcpd tex4ht tga theora threads thumbnail thumbnails tidy tiff tk transcode truetype twolame type3 udev udisks unicode upnp upower usb userlocales v4l vaapi vcd vdpau video vlm vmd vnc vorbis wavpack wayland wayland-compositor webinterface widgets wifi winbind winpopup wma wma-fixed wmf wpg wps wxwidgets x264 xattr xcb xcomposite xetex xfs xft xindy xine xinerama xls xml xmp xosd xplanet xpm xscreensaver xv xvid xvmc yahoo zip zlib zvbi" ABI_X86="64 32" ALSA_CARDS="hda-intel" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon krita" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx fma3 fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="synaptics evdev" KERNEL="linux" L10N="es-ES es en-US en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="es_ES es en_US en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby22" SANE_BACKENDS="epson2 hp" USERLAND="GNU" VIDEO_CARDS="radeonsi amdgpu" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to urcindalo from comment #232) > When trying to install net-print/cnijfilter-3.80-r2 from the bar overlay, > the ebuild fails when building the driver for the ip7200 series. This is where the ebuild fails: ===== make[2]: Entering directory '/var/tmp/portage/net-print/cnijfilter-3.80-r2/work/cnijfilter-3.80/ip7200/cnijfilter/src' x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o bjferror.o bjferror.c x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o bjfilter.o bjfilter.c x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o bjfimage.o bjfimage.c x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o bjfoption.o bjfoption.c x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o bjfpos.o bjfpos.c x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o bjfrcaccess.o bjfrcaccess.c bjfimage.c: In function ‘ppm_image_init’: bjfimage.c:996:24: warning: passing argument 2 of ‘readPPMParam’ from incompatible pointer type [-Wincompatible-pointer-types] readPPMParam( readfp, &width, &length, &maxvalue ); ^ bjfimage.c:84:13: note: expected ‘long int *’ but argument is of type ‘png_uint_32 * {aka unsigned int *}’ static void readPPMParam( FILE *, long *, long *, long * ); ^ bjfimage.c:996:32: warning: passing argument 3 of ‘readPPMParam’ from incompatible pointer type [-Wincompatible-pointer-types] readPPMParam( readfp, &width, &length, &maxvalue ); ^ bjfimage.c:84:13: note: expected ‘long int *’ but argument is of type ‘png_uint_32 * {aka unsigned int *}’ static void readPPMParam( FILE *, long *, long *, long * ); ^ bjfimage.c: In function ‘png_image_init’: bjfimage.c:1590:31: warning: passing argument 3 of ‘png_get_IHDR’ from incompatible pointer type [-Wincompatible-pointer-types] png_get_IHDR( png_p, info_p, &width, &length, &bit_depth, ^ In file included from /usr/include/png.h:377:0, from bjfimage.c:44: /usr/include/png.h:2065:1: note: expected ‘png_uint_32 * {aka unsigned int *}’ but argument is of type ‘long int *’ PNG_EXPORT(143, png_uint_32, png_get_IHDR, (png_const_structrp png_ptr, ^ bjfimage.c:1590:39: warning: passing argument 4 of ‘png_get_IHDR’ from incompatible pointer type [-Wincompatible-pointer-types] png_get_IHDR( png_p, info_p, &width, &length, &bit_depth, ^ In file included from /usr/include/png.h:377:0, from bjfimage.c:44: /usr/include/png.h:2065:1: note: expected ‘png_uint_32 * {aka unsigned int *}’ but argument is of type ‘long int *’ PNG_EXPORT(143, png_uint_32, png_get_IHDR, (png_const_structrp png_ptr, ^ bjfimage.c: In function ‘bmp_image_open’: bjfimage.c:611:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( buffer, 2, 1, readfp ); ^ bjfimage.c: In function ‘ppm_image_open’: bjfimage.c:925:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( buffer, 2, 1, readfp ); ^ bjfimage.c: In function ‘png_image_open’: bjfimage.c:1499:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( buffer, 8, 1, readfp ); ^ bjfimage.c: In function ‘bmp_image_read_raster’: bjfimage.c:805:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( rawbuf[0], rasterlength, rstep, readfp ); ^ bjfimage.c:810:4: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( rawbuf[rstep-laststep], rasterlength, laststep, readfp ); ^ bjfimage.c:816:4: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( rawbuf[0], rasterlength, rstep, readfp ); ^ bjfimage.c: In function ‘ppm_image_read_raster’: bjfimage.c:1107:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( rawbuf[0], RasterLength, rstep, readfp ); ^ bjfimage.c:1110:4: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( rawbuf[0], RasterLength, laststep, readfp ); ^ bjfimage.c:1115:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( rawbuf[0], RasterLength, rstep, readfp ); ^ bjfimage.c: In function ‘bmp_image_flush’: bjfimage.c:876:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( tmp, rasterlength, remain, readfp ); ^ bjfimage.c: In function ‘ppm_image_flush’: bjfimage.c:1160:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( tmp, RasterLength, remain, readfp ); ^ bjfimage.c: In function ‘ppm_write_tmpfile’: bjfimage.c:1840:3: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result] fread( buffer, 2, 1, readfp ); ^ x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o getipc.o getipc.c getipc.c: In function ‘GetIPCData’: getipc.c:68:3: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result] read(c, buf, IPCCMDLEN); ^ getipc.c:71:4: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result] read(c, pipc, sizeof(IPCU)); ^ getipc.c:82:4: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result] read(c, pipc, sizeof(IPCU)); ^ getipc.c:88:4: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result] read(c, pipc, sizeof(IPCU)); ^ x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../include/cncl -I../include/misc -O2 -c -o bjflist.o bjflist.c x86_64-pc-linux-gnu-gcc -m32 -O2 -L../../406/libs_bin32 -Wl,-O1 -Wl,--as-needed -o cif bjferror.o bjfilter.o bjfimage.o bjfoption.o bjfpos.o bjfrcaccess.o getipc.o bjflist.o -lcnbpcmcm406 -lcnbpess406 -lm -ldl -ltiff -lpng -lcnbpcnclapi406 -lcnbpcnclbjcmd406 -lcnbpcnclui406 -lpopt /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcmcm406 /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpess406 /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcnclapi406 /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcnclbjcmd406 /usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcnclui406 collect2: error: ld returned 1 exit status make[2]: *** [Makefile:361: cif] Error 1 make[2]: Leaving directory '/var/tmp/portage/net-print/cnijfilter-3.80-r2/work/cnijfilter-3.80/ip7200/cnijfilter/src' make[1]: *** [Makefile:355: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/net-print/cnijfilter-3.80-r2/work/cnijfilter-3.80/ip7200/cnijfilter' make: *** [Makefile:296: all] Error 2
(In reply to urcindalo from comment #232) > When trying to install net-print/cnijfilter-3.80-r2 from the bar overlay, > the ebuild fails when building the driver for the ip7200 series. This is emerge -pqv =net-print/cnijfilter-3.80-r2: ===== [ebuild N ] net-print/cnijfilter-3.80-r2 USE="cups doc net servicetools usb -debug" ABI_X86="32 (64)" CANON_PRINTERS="ip7200 -e510 -mg2200 -mg3200 -mg4200 -mg5400 -mg6300 -mp430"
Created attachment 491132 [details] cnijfilter-3.80-r2 failing log Here you are the complete failing log for net-print/cnijfilter-3.80-r2 from the bar overlay.
Mmm... I am also using an ip7200, and I just rebuilt the cnijfilter 3.80 stuff on my very recently updated gentoo. More and more warnings compared to the previous build, but no error, and eventually the test page is still printed through Wifi. Maybe a little cleanup in your numerous overlays ?..
Submitted the 3.80-1 version on Github: https://github.com/gentoo/gentoo/pull/5595
(In reply to mfld.fr from comment #237) > Submitted the 3.80-1 version on Github: > https://github.com/gentoo/gentoo/pull/5595 Thanks very for your work. I'd like to try it. Which overlay is it in? I can't find it with "eix -R -s -S Canon". None of the displayed versions include 3.80-1: ===== * net-print/cnijfilter Available versions: (0) ~2.60[14] ~2.60-r4^m[1] ~2.70-r4^f[1] ~2.80-r2^m[1] ~2.90-r2^m[1] ~3.00^m[3] ~3.00-r4^m[1] ~3.00.2^m[14] ~3.10-r4^m[1] ~3.10_p1[5] ~3.20-r4^m[1] ~3.30-r4^m[1] ~3.40-r8^m[1] ~3.50-r2^m[1] ~3.60-r2^m[1] ~3.70-r2^m[1] ~3.80[6] ~3.80[10] (2) ~2.70-r1^f[3] ~2.80-r1[3] ~2.80-r1[14] ~3.20-r1[3] ~3.50[3] {amd64 cnijtools +debug e500 e600 gtk ip100 ip1800 ip1900 ip2200 ip2500 ip2600 ip2700 ip3300 ip3500 ip3600 ip4200 ip4300 ip4500 ip4600 ip4700 ip4800 ip4900 ip6600d ip7500 ip7700 ip90 ix6500 ix6550 mg2100 mg3100 mg4100 mg5100 mg5200 mg5300 mg6100 mg6200 mg8100 mg8200 mp140 mp160 mp190 mp210 mp240 mp250 mp270 mp280 mp490 mp495 mp500 mp510 mp520 mp540 mp550 mp560 mp600 mp610 mp630 mp640 mx320 mx330 mx340 mx350 mx360 mx370 mx410 mx420 mx430 mx510 mx710 mx860 mx870 mx880 mx890 (+)net network nls nocupsdetection (+)servicetools symlink usb} Homepage: http://support-sg.canon-asia.com/contents/SG/EN/0100469302.html Description: Canon InkJet Printer Driver for Linux (Pixus/Pixma-Series). * net-print/cnijfilter-drivers Available versions: (3.20) ~*3.20[6] ~*3.20[10] (3.40) ~3.40[6] (3.60) ~3.60[6] ~3.60[10] (3.70) ~3.70[6] ~3.70[10] (3.80) ~3.80[6] ~3.80[10] {e500 e510 e600 ip100 ip4700 ip4800 ip4900 ip7200 mg2100 mg2200 mg3100 mg3200 mg4100 mg4200 mg5100 mg5200 mg5300 mg5400 mg6100 mg6200 mg6300 mg8100 mg8200 mp230 mp250 mp270 mp280 mp490 mp495 mp550 mp560 mp640 mx370 mx430 mx510 mx710 mx890 +servicetools} Homepage: http://support-sg.canon-asia.com/contents/SG/EN/0100236704.html Description: Canon InkJet Printer Driver for Linux (Pixus/Pixma-Series). [1] "bar-overlay" layman/bar-overlay [2] "bgo-overlay" layman/bgo-overlay [3] "calculate" layman/calculate [4] "daks" layman/daks [5] "dev-zero" layman/dev-zero [6] "gentoo-zh" layman/gentoo-zh [7] "haskell" layman/haskell [8] "matsuu" layman/matsuu [9] "progress" layman/progress [10] "sabayon" layman/sabayon [11] "science" layman/science [12] "ubuntu" layman/ubuntu [13] "wavilen" layman/wavilen [14] "zugaina" layman/zugaina =====
@urcindalo : Hello, at this time, the PR is not closed and is still under review by the "proxy-maint" project leader (@mgorny). You would have to wait for that PR to be merged before getting the package from the main repository through "emerge --sync". Many overlays also provides their own flavors of the official Canon 3.80-1 sources, but I did not test them through layman. I do prefer to insulate the package, review it and build it in the Gentoo mainstream context. If you want to try that package candidate, remove all that layouts from your Portage configuration to avoid any side effect from them. Download my latest attachement (https://bugs.gentoo.org/attachment.cgi?id=402866), untar it in /usr/local/portage/net-print, and add the following line to your /etc/portage/make.conf: PORTDIR_OVERLAY="/usr/local/portage". Then run "emerge cnijfilter cnijfilter-drivers".
(In reply to mfld.fr from comment #239) > @urcindalo : Hello, at this time, the PR is not closed and is still under > review by the "proxy-maint" project leader (@mgorny). > > You would have to wait for that PR to be merged before getting the package > from the main repository through "emerge --sync". > > Many overlays also provides their own flavors of the official Canon 3.80-1 > sources, but I did not test them through layman. I do prefer to insulate the > package, review it and build it in the Gentoo mainstream context. > > If you want to try that package candidate, remove all that layouts from your > Portage configuration to avoid any side effect from them. Download my latest > attachement (https://bugs.gentoo.org/attachment.cgi?id=402866), untar it in > /usr/local/portage/net-print, and add the following line to your > /etc/portage/make.conf: PORTDIR_OVERLAY="/usr/local/portage". Then run > "emerge cnijfilter cnijfilter-drivers". I can't thank you enough for your hard work! I'm not home right now (where my iP7250 is) but your candidate compiles and installs just fine on my other box at work. I will try it this weekend whilst eagerly waiting for your final version. PS: I think you meant /usr/portage/local instead of /usr/local/portage. I think I recall some gentoo "news" time ago warning about the change.
@urcindalo: don't think so, I really meant /usr/local/portage. If you put your overlay in /usr/portage/local, it will be lost at the next emerge --sync.
(In reply to mfld.fr from comment #241) > @urcindalo: don't think so, I really meant /usr/local/portage. If you put > your overlay in /usr/portage/local, it will be lost at the next emerge > --sync. Well, first things first. Your candidate ebuild seems to work: it prints out through WiFi whatever I send to my iP7250. Thank you very much. Regarding /usr/portage/local, I have been using it for two years, maybe, with no problems. As I said, I think I recall some "news" or other official documentation recommending it. However, I just googled around right now and found /usr/local/portage everywhere, so I think I'll migrate back to it.
@urcindalo: you are right for /usr/portage/local, forget what I wrote in my previous comment about persistence. That directory is actually preserved in /usr/share/portage/config/make.globals: PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
If you are still interested in the 3.20 version, please request again the package for your printer series as explained in https://wiki.gentoo.org/wiki/Canon_Pixma_Printer. This way to sort between "no more needed" / "still needed" ones, and to avoid wasting time on obsolete / unused series.
(In reply to mfld.fr from comment #244) > If you are still interested in the 3.20 version, please request again the > package for your printer series as explained in > https://wiki.gentoo.org/wiki/Canon_Pixma_Printer. This way to sort between > "no more needed" / "still needed" ones, and to avoid wasting time on > obsolete / unused series. I guess the warning does not apply to the request for iP7250 support since it seems it is already taken care of according to the linked page, does it?
@urcindalo : yes, you are right, support of the ip7200 series through the Canon version 3.80 is already submitted, and this latest note addresses more the initial topic of the Canon version 3.20 with older printers. Indeed, you can help pushing the cnijfilter-ip7200 package by dropping a kind of "yeah, I want it also" comment in the PR (https://github.com/gentoo/gentoo/pull/5595) :-)
(In reply to mfld.fr from comment #246) > @urcindalo : yes, you are right, support of the ip7200 series through the > Canon version 3.80 is already submitted, and this latest note addresses more > the initial topic of the Canon version 3.20 with older printers. > > Indeed, you can help pushing the cnijfilter-ip7200 package by dropping a > kind of "yeah, I want it also" comment in the PR > (https://github.com/gentoo/gentoo/pull/5595) :-) Done. Thanks again.
@urcindalo : the PR #5595 was not accepted by the reviewers. If you are still interested in these ip72xx drivers, I archived the latest version of them on GitHub so that anybody can reuse the version improved during that review: https://github.com/mfld-fr/gentoo
If anybody is interested, I've built some kind of next generation of cnijfilter in my `programmador` overlay. Canon named source archive *cnijfilter2* (so did I with my ebuild: also added "2") though its versioning is still compatible: 5.00-1. It was needed (and eventually tested) for my Canon E464 device. Here is /usr/share/cups/model contents to understand which of printer series are supported: /usr/share/cups/model/canone460.ppd /usr/share/cups/model/canonib4000.ppd /usr/share/cups/model/canonip110.ppd /usr/share/cups/model/canonmb2000.ppd /usr/share/cups/model/canonmb2300.ppd /usr/share/cups/model/canonmb5000.ppd /usr/share/cups/model/canonmb5300.ppd /usr/share/cups/model/canonmg2900.ppd /usr/share/cups/model/canonmg5600.ppd /usr/share/cups/model/canonmg6600.ppd /usr/share/cups/model/canonmg7500.ppd Maybe the page https://wiki.gentoo.org/wiki/Canon_Pixma_Printer should be updated but I don't know what to fill in "Code" column for all of supported by 5.00 series. It looks like the build system in 5.00 has changed a lot and I didn't find any way to ask it to build driver for specific series instead of all of them at once (by USE flags). Hmm... ok, I didn't even try :-). I don't know whether does it have any sense at all actually. The ebuild also differs considerably from previous versions of cnijfilter because while writing it I was looking rather at arch package https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=cnijfilter-ip110 and *spec file which is provided with source than at previous versions ebuilds.
Created attachment 515100 [details] cnijfilter2-5.20 ebuild Could you please test my ebuild before entering the tree cnijfilter2-5.20.ebuild and cnijfilter2-5.20-gentoo.patch
Created attachment 515104 [details, diff] cnjfilter2-gentoo.patch
net-print/cnijfilter2 is now in portage
(In reply to Tupone Alfredo from comment #252) > net-print/cnijfilter2 is now in portage So, excuse my ignorance :( Is this new cnijfilter2 in portage able to support the ip7200 printers the previous cnijfilter-3.80/cnijfilter-drivers-3.80 combo did, or should I stick to v3.80?
(In reply to Tupone Alfredo from comment #252) > net-print/cnijfilter2 is now in portage I can confirm that it works nicely with E464. It's strange that CUPS still says that version is 5.00 though I've deleted printer from CUPS before upgrading driver from 5.00-r1 to 5.20 and re-added the printer after upgrading. Anyways currently installed version is Your ebuild (5.20) and it prints nicely.
(In reply to urcindalo from comment #253) > (In reply to Tupone Alfredo from comment #252) > > net-print/cnijfilter2 is now in portage > > So, excuse my ignorance :( > Is this new cnijfilter2 in portage able to support the ip7200 printers the > previous cnijfilter-3.80/cnijfilter-drivers-3.80 combo did, or should I > stick to v3.80? I may be wrong but I don't see ip7200 support among files installed by 5.20 ebuild. So I think that cnijfilter(for ex. 3.80) should be used instead of cnijfilter2(5.xx) $ equery f cnijfilter2 ... /usr/share/ppd/cupsfilters /usr/share/ppd/cupsfilters/canone460.ppd /usr/share/ppd/cupsfilters/canone480.ppd /usr/share/ppd/cupsfilters/canonib4000.ppd /usr/share/ppd/cupsfilters/canonip110.ppd /usr/share/ppd/cupsfilters/canonmb2000.ppd /usr/share/ppd/cupsfilters/canonmb2300.ppd /usr/share/ppd/cupsfilters/canonmb5000.ppd /usr/share/ppd/cupsfilters/canonmb5300.ppd /usr/share/ppd/cupsfilters/canonmg2900.ppd /usr/share/ppd/cupsfilters/canonmg3600.ppd /usr/share/ppd/cupsfilters/canonmg5600.ppd /usr/share/ppd/cupsfilters/canonmg5700.ppd /usr/share/ppd/cupsfilters/canonmg6600.ppd /usr/share/ppd/cupsfilters/canonmg6800.ppd /usr/share/ppd/cupsfilters/canonmg6900.ppd /usr/share/ppd/cupsfilters/canonmg7500.ppd /usr/share/ppd/cupsfilters/canonmg7700.ppd /usr/share/ppd/cupsfilters/canonmx490.ppd
It seems that this driver is only for the pixma: PIXMA MG3640 PIXMA MG3650 PIXMA MG5740 PIXMA MG5750 PIXMA MG5751 PIXMA MG5752 PIXMA MG5753 PIXMA MG6840 PIXMA MG6850 PIXMA MG6851 PIXMA MG6852 PIXMA MG6853 PIXMA MG7740 PIXMA MG7750 PIXMA MG7751 PIXMA MG7752 PIXMA MG7753 For the ip family I think you need the cnijfilter-3.80. I can try to do an ebuild for it but need some test before entering portage. Please open a new bug for it, and add whatever it can help on doing it
The 3.80 set of drivers has already been submitted in this PR : https://github.com/gentoo/gentoo/pull/5595 It is still working very well, but does not pass the QA checks, so the rejection. As a Gentoo developer, you could try again, but you would have to spend much time to rework the original sources, as they are not maintained by Canon.
Recently purchased a Canon PIXMA MG3650 and looking to get it working with CUPS. As described in the Wiki (https://wiki.gentoo.org/wiki/Canon_Pixma_Printer) I've submitted a bug (https://bugs.gentoo.org/655370) but noticed the Wiki is perhaps a bit dated as net-print/cnijfilter2 is now in Portage. No PPD file for the MG3650 included in =net-print/cnijfilter2-5.40 though, will work my way through testing some of them to see if any work. Couldn't find a driver at https://canonscannerdrivers.com/ closest in model number was MG6320 but its a six ink model and the MG3650 only takes two cartridges (one black and white, one colour).
Created attachment 560112 [details] qlist cnijfilter-3.40-r2::bar # git commit 96bcc2a still working
Created attachment 560114 [details] qlist cnijfilter-3.40-r2::bar # git commit 1040279 not working Hi tokiclover, I love your Gentoo bar repo, especially for net-print/cnijfilter::bar for which you've done a great job in the last++ years. However after 4 years using cnijfilter from the bar repo, my Canon MG5250 printer stopped working. I tracked down the issue to git commit 1040279 (eclass/ecnij.eclass: clean up). This commit results in a lot of required files not to be installed anymore. Reverting back to commit 96bcc2a (the one before the cleanup) makes my printer working again. FYI: see the above attached qlist files for working & not-working installations effective use flags (equery uses cnijfilter) are: canon_printers_mg5200 cups net usb # qlist -IvSSR cnijfilter net-print/cnijfilter-3.40-r2:3/3.40::bar # grep -rE 'CANON|^[^#].*cnijfilter' /etc/portage/ |sort /etc/portage/make.conf:CANON_PRINTERS="mg5200" /etc/portage/package.accept_keywords/net-print--cnijfilter:net-print/cnijfilter:3/3.40::bar /etc/portage/package.use/net-print--cnijfilter:net-print/cnijfilter:3/3.40::bar cups net usb -doc If you need more info, please let me know. Can you please fix this issue?
For users of cnijfilter-3.40-r2 from the Bar overlay, I have succesfully built and installed cnijfilter and associated tools for a Canon mg5100 series printer with Portage 2.3.103, python 3.7.8, amd64/17.1, gcc-9.3.0, and glibc-2.30-r8, with modifications to the ecnij.eclass and additional patches added to the ebuild. For details, please see bugs.gentoo.org/632444. This has only been tested on a Canon PIXMA mg5150 printer but will probably also work on other printers that the cnijfilter-3.40-r2 ebuild was aimed at.
EAPI=8 update: ecnij.eclass + ebuilds updated. After testing mg5200, I can release the whole lot ...
@Evert : nice, but where are your updates ?
Created attachment 762522 [details] net-print/cnijfilter EAPI=8: ecnij.eclass + ebuilds EAPI=8 update 2.60 2.90 3.00 3.10 3.20 3.30 3.40 3.50 3.60 3.70 3.80 3.90 4.00 4.10 3.40 mg5200 scanner works. Anything else untested. Please verify & test ...
@Evert : Thankyou Your cnijfilter-3.40-r3 builds on x86_64 under portage 3.0.28, default/linux/amd64/17.1, gcc-11.2.0, glibc-2.33-r7, for a Canon MG5100 printer. The pstocanonij cups filter successfully produces printout.
Created attachment 882299 [details] Updated cnijfilter-3.20-r3 + patch files + ecnij.eclass @Evert (Comment #264): Thank you for uploading the cnijfilter ebuilds, patch files and ecnij.eclass for EAPI 8. I have a Canon PIXMA MP560 but, unfortunately, the cnijfilter-3.20-r3.ebuild you uploaded does not build in my Gentoo Testing (~amd64) installation. I have therefore created an additional patch file and updated the ebuild accordingly (I have left it at Rev. 3, though). I attach a tarball with the revised ebuild, all the patch files it requires, and the ecnij.eclass file, so everything is available to build that specific package. It builds in my ~amd64 installation for the MP560 (I have only tried building it for that specific model) with the following packages installed: Portage: 3.0.61 Profile: default/linux/amd64/17.1/desktop/plasma Kernel: 5.16.1-gentoo-x86_64 gcc: 13.2.1_p20231216 glibc: 2.38-r9 pycups: 2.0.1-r1 cups: 2.4.7-r2 cups-bjnp: 2.0.3-r1 cups-browsed: 2.0.0 cups-filters: 2.0.0 cups-meta: 1 cups-pdf: 3.0.1-r3 cups-pk-helper: 0.2.7-r1 libcupsfilters: 2.0.0-r3 Building cnijfilter produces a bunch of deprecation warnings related to CUPS API, many of which state: "Use cupsCopyDestInfo and friends instead". Therefore I do not know for how much longer future versions of CUPS will continue to build the current code, and it is possible the existing patches will need to be modified - or new patches added - at some point in future.