These drivers should also work for i560 i850 iP3000 MP730 i865 iP4000 iP5000 MP750 MP780 i250 i320 i350 iP2000
Created attachment 83752 [details] net-print/bjfilter/bjfilter-2.50.ebuild
Created attachment 83753 [details, diff] net-print/bjfilter/files/bjfilter-2.50-pixusip4100-ppd.patch
I've tested it on x86 (32bit) with MP780.
Builds on x86 and finishes successfully (USE=pixusip4100), but doesn't install any libs from ${S}/bjfilter-2.50/work/bjfilter-2.50/pixusip4100/221/. This results in several missing program libraries, pixusip4100_ps for instance reports: "error while loading shared libraries: libcnbpcmcm221.so: cannot open shared object file: No such file or directory" and fails to run. However, even after copying the *.so files to /usr/lib/, printing with cups seems not possible. I don't have any real pointers what's still wrong, since there were no further errors I encountered when starting various programs, so maybe there just are a few more files missing? Portage 2.0.54 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.5-r3, 2.6.15-archck4-r1 i686) ================================================================= System uname: 2.6.15-archck4-r1 i686 AMD Athlon(tm) 64 Processor 3500+ Gentoo Base System version 1.6.14 ccache version 2.3 [disabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O3 -pipe -msse2 -msse3" CHOST="i686-pc-linux-gnu" # equery files bjfilter [ Searching for packages matching bjfilter... ] * Contents of net-print/bjfilter-2.50: /usr /usr/lib /usr/lib/bjlib /usr/lib/cups /usr/lib/cups/backend /usr/lib/cups/backend/canon_parallel /usr/lib/cups/backend/canon_usb /usr/lib/cups/filter /usr/lib/cups/filter/pstocanonbj /usr/local /usr/local/bin /usr/local/bin/bjcmdpixusip4100 /usr/local/bin/bjcups /usr/local/bin/bjcupsmon /usr/local/bin/bjfilterpixusip4100 /usr/local/bin/lgmonpixusip4100 /usr/local/bin/pixusip4100_ps /usr/local/bin/pixusip4100_raw /usr/local/bin/printuipixusip4100 /usr/local/bin/stsmonpixusip4100 /usr/local/share /usr/local/share/bjcupsmon /usr/local/share/bjcupsmon/pixmaps /usr/local/share/bjcupsmon/pixmaps/Ink_24b.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24b1.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24b2.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24b3.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24bf.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24c.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24c1.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24c2.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24c3.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_24cf.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_bb.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_bk.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_cy.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_el.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_er.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_gr.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_low.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_low010.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_low040.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_low070.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_low_bb.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_ma.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_out.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_out_bb.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_pb.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_pc.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_pm.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_re.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_sp.xpm /usr/local/share/bjcupsmon/pixmaps/Ink_ye.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_bb.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_bk.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_cy.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_el.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_er.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_gr.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_ma.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_pb.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_pc.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_pm.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_re.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_sp.xpm /usr/local/share/bjcupsmon/pixmaps/Inkg_ye.xpm /usr/local/share/cups /usr/local/share/cups/model /usr/local/share/locale /usr/local/share/locale/de /usr/local/share/locale/de/LC_MESSAGES /usr/local/share/locale/de/LC_MESSAGES/bjcupsmon.mo /usr/local/share/locale/de/LC_MESSAGES/printuipixusip4100.mo /usr/local/share/locale/de/LC_MESSAGES/stsmonpixusip4100.mo /usr/local/share/printuipixusip4100 /usr/local/share/printuipixusip4100/black_bar.xpm /usr/local/share/printuipixusip4100/cyan_bar.xpm /usr/local/share/printuipixusip4100/locale-table /usr/local/share/printuipixusip4100/magenta_bar.xpm /usr/local/share/printuipixusip4100/ngptn_pixusip4100.xpm /usr/local/share/printuipixusip4100/okptn_pixusip4100.xpm /usr/local/share/printuipixusip4100/printui.glade /usr/local/share/printuipixusip4100/printui.res /usr/local/share/printuipixusip4100/yellow_bar.xpm /usr/local/share/stsmonpixusip4100 /usr/local/share/stsmonpixusip4100/pixmaps /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24b.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24b1.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24b2.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24b3.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24bf.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24c.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24c1.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24c2.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24c3.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_24cf.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_bb.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_bk.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_cy.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_el.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_er.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_gr.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_low.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_low010.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_low040.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_low070.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_low_bb.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_ma.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_out.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_out_bb.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_pb.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_pc.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_pm.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_re.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_sp.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Ink_ye.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_bb.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_bk.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_cy.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_el.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_er.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_gr.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_ma.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_pb.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_pc.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_pm.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_re.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_sp.xpm /usr/local/share/stsmonpixusip4100/pixmaps/Inkg_ye.xpm /usr/share /usr/share/cups /usr/share/cups/model /usr/share/cups/model/canonpixusip4100.ppd
Created attachment 83862 [details] net-print/bjfilter/bjfilter-2.50.ebuild fixed copying neccessary libraries
fixed not copying libraries (mentioned in Comment #4). I'll take a closer look if any other neccessary file isn't copied by the ebuild this afternoon. I'm also working on AMD64 compatibility.
Created attachment 83894 [details] net-print/bjfilter/bjfilter-2.50.ebuild Changelog since last bugzilla upload (1) fixed copying neccessary database-files (2) The ebuild will now *only* apply neccessary patches (3) more verbose output on failure (4) removed some unneccessary overhead (simple cp instead of autoheader && .. && autoconf && make && make install)
Created attachment 83903 [details] net-print/bjfilter/bjfilter-2.50.ebuild wrong dependency fixed (app-emulation/emul-x86-gtklibs -> app-emulation/emul-linux-x86-gtklibs)
There is actually another major bug. Emerge won't find neccessary libraries (closed source binaries from canon) right now. I am working on that
Created attachment 83921 [details] net-print/bjfilter/bjfilter-2.50.ebuild I hope I fixed the linking-problem
Created attachment 83973 [details] net-print/bjfilter/bjfilter-2.50.ebuild changed AMD64-specific pkg_setup now inherits from flag-o-matic multilib (not doing so was a bug)
Created attachment 84028 [details] net-print/bjfilter/bjfilter-2.50.ebuild updated dependencies (they've been a quick hack before) install complete driver set if no model was chosen by useflag install some tools only if the new use-flag "bjtools" is set
There is still a problem with AMD64. I don't know how to get 32bit versions of: dev-libs/popt gnome-base/libglade dev-libs/libxml They are not in any emul-linux-x86 - package! I am open for any suggestion!
Confirmed working on x86 with a pixma ip5000 printer, if the "pixmaip4000" use-flag is set. The missing files issue I reported earlier was fixed. Problems I could still find: - Line 119 contains a typo- should be "ewarn" instead of "ewarning". - _autochoose doesn't work - USE-flags need to be set atm. Furthermore, the einfo part about the use-flags might not be simple/readable enough for many users (it think it'd be a good idea to make it VERY obvious what actually is an use-flag and what is part of a description). About the amd64 issue: The gentoo.org "32-bit compatibility" document suggests that ebuilds shouldn't contain -m32, and that users should install these themselves manually or set up a full chroot for 32bit. IMHO this is too complicated in this case. The only good solution I personally can think of is to ask the amd64 team to include the library dependencies you mentioned in emul-linux-*, and to exempt this package from the "don't create ebuilds with -m32" rule for now.
Created attachment 84053 [details] net-print/bjfilter/bjfilter-2.50.ebuild dependency: emul-linux-x86-glibc -> emul-linux-x86-compat useflag instructions hopefully more readable now fixed "autochoose"-bug
Created attachment 84283 [details] net-print/bjfilter/bjfilter-2.50.ebuild new dependency emul-linux-x86-bjdeps (bug #129352) provides dev-libs/popt in 32bit on AMD64. I hope it now works for amd64 too.
Created attachment 84450 [details] net-print/bjfilter/bjfilter-2.50.ebuild a little compactification use amd64 && append-flags -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 With emul-linux-x86-bjdeps (#bug 129352) it now works on AMD64 too! :)
It now works with x86 and amd64. But bjtools (status monitor, clean nozzles, adjust printhead) is only available on x86 until I enhance emul-linux-x86-bjdeps. Please give me Feedback, which Canon Printer actually work and which don't. Feel invited to tune the *.ppd files and report your changes. I will adopt every improvement.
Hm, it doesn't compile for me. This is the error which I get: <...> checking for gcc option to accept ANSI C... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ANSI C... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for ANSI C header files... yes ./configure: line 5066: syntax error near unexpected token `1.2.0,' ./configure: line 5066: `AM_PATH_GTK(1.2.0, ,' !!! ERROR: net-print/bjfilter-2.50 failed. Call stack: ebuild.sh, line 1532: Called dyn_compile ebuild.sh, line 929: Called src_compile bjfilter-2.50.ebuild, line 138: Called die !!! Error: bjcupsmon/autoconf.sh failed !!! If you need support, post the topmost build error, and the call stack if relevant. # emerge --info Portage 2.1_pre7-r5 (default-linux/x86/2006.0, gcc-4.1.0, glibc-2.4-r1, 2.6.16-gentoo-r2 i686) ================================================================= System uname: 2.6.16-gentoo-r2 i686 Intel(R) Celeron(R) CPU 2.00GHz Gentoo Base System version 1.12.0_pre17 ccache version 2.4 [enabled] dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium4 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache confcache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.dtiltas.lt/mirror/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/" LC_ALL="lt_LT.utf8" LDFLAGS="-Wl,--as-needed" LINGUAS="lt" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib acpi alsa apache2 avi beagle berkdb bitmap-fonts bzip2 cairo caps cdr chroot cli crypt ctype cups dba dbus dlloader dri dvd eds emboss encode expat fastbuild fbcon ffmpeg firefox flac foomaticdb force-cgi-redirect fortran ftp gd gdbm gif glx gnome gnutls gpm gstreamer gtk gtk2 hal howl imlib isdnlog jpeg libg++ libwww lm_sensors logrotate mad memlimit mikmod mmx mmxext motif mp3 mpeg ncurses new-login nls nptl nptlonly nsplugin nvidia offensive ogg opengl oss pam pcre pdf pdflib perl png posix pppd python quicktime readline reiserfs sdl session simplexml soap sockets spell spl sqlite sse sse2 ssl symlink tcpd tiff tokenizer truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs xml xsl xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_lt userland_GNU video_cards_nvidia" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG # emerge -pv bjfilter These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] net-print/bjfilter-2.50 USE="bjtools pixmaip1500 -amd64 -pixmaip1000 -pixusip3100 -pixusip4100 -pixusip8600" 0 kB [1]
Don't know if this helps, but here I can see a warning about AM_PATH_GTK: <...> make[1]: Leaving directory `/var/tmp/portage/bjfilter-2.50/work/bjfilter-2.50/bjcups' processing . Creating ./aclocal.m4 ... Running glib-gettextize... Ignore non-fatal messages. Copying file mkinstalldirs Copying file po/Makefile.in.in Please add the files codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4 from the /usr/share/aclocal directory to your autoconf macro directory or directly to your aclocal.m4 file. You will also need config.guess and config.sub, which you can get from ftp://ftp.gnu.org/pub/gnu/config/. Making ./aclocal.m4 writable ... Running aclocal ... aclocal:configure.in:14: warning: macro `AM_PATH_GTK' not found in library Running autoheader... autoheader-2.59: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' autoheader-2.59: WARNING: and `config.h.top', to define templates for `config.h.in' autoheader-2.59: WARNING: is deprecated and discouraged. autoheader-2.59: autoheader-2.59: WARNING: Using the third argument of `AC_DEFINE' and autoheader-2.59: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without autoheader-2.59: WARNING: `acconfig.h': autoheader-2.59: autoheader-2.59: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1, autoheader-2.59: [Define if a function `main' is needed.]) autoheader-2.59: autoheader-2.59: WARNING: More sophisticated templates can also be produced, see the autoheader-2.59: WARNING: documentation. <...>
Created attachment 85030 [details] net-print/bjfilter/bjfilter-2.50.ebuild Added keyword ~amd64
In respont to comment #19: I don't know, what's causing the trouble, but you might temporarily try some more conservative settings in your make.conf (just place some #'s and remove them afterwards). If that still doesn't work - disable the bjtools useflag because the current error occured within a bjtools component. I'm sorry, but this is my first ebuild. :)
oops .. pardon that typo ... I meant 'In response to'
Created attachment 88018 [details] net-print/bjfilter/bjfilter-2.50.ebuild Added a new useflag "takushipatch" because of a few people having some trouble with pstocanonbj. It will replace the original "pstocanonbj.c" with http://mambo.kuhp.kyoto-u.ac.jp/~takushi/debian/pstocanonbj-3.1/src/pstocanonbj.c during unpacking of sources. I recommend not to use this new flag unless CUPS complains about pstocanonbj.
Created attachment 90096 [details] net-print/bjfilter/bjfilter-2.50.ebuild This ebuild is now restricted to use the confcache feature
Running cups 1.2.1-r2 I had to add symbolic links /usr/local/bin/bjfilterpixusip4100 is actually expected by cups to be in /usr/bin /usr/lib/cups/filter/pstocanonobj is actually expected by cups to be in /usr/libexec/cups/filter
Created attachment 92392 [details] net-print/bjfilter/bjfilter-2.50.ebuild code compactification renaming of useflags for consistency with the bjfilter ebuild new "unstablecups" useflag for compatibility with newest CUPS
Confirmed working on x86 with a Canon ip5200 usb. Found out I needed to set linguas in my make.conf. I think it might be a good idea to put a check in the ebuild notifying people to set this. They can go search the forums and find the info as I did but if the ebuild had just told me straight up to set it it would have saved time. Thanks!!
Created attachment 92758 [details] Fixed conditional USE flag dependency Does not build for me when using the servicetools USE flag. The dependency has not been updated for the renamed USE flag, it only requires libxml if bjtools is used. However, I still get a build error as follows: file=./`echo ru | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/gmsgfmt -c -o $file ru.po file=./`echo sv | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/gmsgfmt -c -o $file sv.po file=./`echo th | sed 's,.*/,,'`.gmo \ && rm -f $file && /usr/bin/gmsgfmt -c -o $file th.po th.po:1083: number of format specifications in 'msgid' and 'msgstr' does not match /usr/bin/gmsgfmt: found 1 fatal error make[2]: *** [th.gmo] Error 1 make[2]: Leaving directory `/var/tmp/portage/bjfilter-2.50/work/bjfilter-2.50/pixmaip1000/printui/po' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/bjfilter-2.50/work/bjfilter-2.50/pixmaip1000/printui' make: *** [all] Error 2 !!! ERROR: net-print/bjfilter-2.50 failed. Call stack: ebuild.sh, line 1545: Called dyn_compile ebuild.sh, line 940: Called src_compile bjfilter-2.50.ebuild, line 165: Called src_compile_pr bjfilter-2.50.ebuild, line 232: Called die !!! Couldn't make pixmaip1000/printui !!! If you need support, post the topmost build error, and the call stack if relevant. athlon giga # emerge --info Portage 2.1.1_pre3-r4 (default-linux/x86/2006.0, gcc-3.4.6/vanilla, glibc-2.3.6-r4, 2.6.17-gentoo-r4 i686) ================================================================= System uname: 2.6.17-gentoo-r4 i686 AMD Athlon(tm) XP 3200+ Gentoo Base System version 1.12.1 app-admin/eselect-compiler: 2.0.0_rc2-r1 dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: [Not Present] sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -mmmx -msse -m3dnow" CHOST="i686-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/eselect/compiler /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -mmmx -msse -m3dnow" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.citylink.co.nz/gentoo http://mirror.pacific.net.au/linux/Gentoo" LC_ALL="en_US.utf8" MAKEOPTS="-j2" 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://sempron/gentoo-portage" USE="x86 3dnow 3dnowext X a52 aac acl acpi alsa apm arts asf audiofile avi bash-completion berkdb bitmap-fonts bzip2 calendar cdr cli crypt cups dbus dlloader dri dvd dvdread emboss encode esd fbsplash ffmpeg firefox flac foomaticdb fortran ftp gdbm gecko-sdk gif gpm gtk gtk2 hal idn imagemagick imap imlib ip1000 ipv6 isdnlog jabber java javascript jpeg kde kdeenablefinal kdexdeltas kerberos libg++ libwww mad mikmod mime mmx mmxext mng mono motif mozilla mozsvg mp3 mpeg mplayer msn ncurses nls nptl nsplugin nvidia offensive ogg ogvorbis opengl oss pam pcre pdf pdflib perl png posix pppd python qt qt3 qt4 quicktime rdesktop readline reflection samba sdl servicetools session spell spl sse ssl svg tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode unstablecups usb vorbis win32codecs wxwindows xcomposite xine xinerama xml xml2 xorg xosd xpm xscreensaver xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux lirc_devices_streamzap userland_GNU video_cards_vesa video_cards_nv video_cards_nvidia" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 92761 [details] net-print/bjfilter/bjfilter-2.50.ebuild Added a check to test if LINGUAS is set when trying to build when using the servicetools USE flag. The driver now builds for me and works (USE="ip1000 servicetools" and using cups-1.2.2 on an iP1000 printer).
Created attachment 92764 [details] net-print/bjfilter/bjfilter-2.50.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!"
It needs =gtk-1.2* with servicetools USE, not >=gtk-1.2. I had gtk-2.8.20-r1 installed, but it didn't build (see comment #19). I installed gtk-1.2.10-r11 and it built fine.
Also, it doesn't work with the newest CUPS even if the unstablecups USE flag is enabled. CUPS is expecting pstocanonbj in /usr/libexec/cups/filter/, but it isn't there, it's still in /usr/lib/cups/filter/. # emerge -pv bjfilter [ebuild R ] net-print/bjfilter-2.50 USE="ip1500 servicetools unstablecups -amd64 -ip1000 -ip3100 -ip4100 -ip8600 -takushipatch" 0 kB [2] # equery files bjfilter /usr /usr/bin /usr/bin/bjcmdpixmaip1500 /usr/bin/bjcups /usr/bin/bjcupsmon /usr/bin/bjfilterpixmaip1500 /usr/bin/lgmonpixmaip1500 /usr/bin/pixmaip1500_ps /usr/bin/pixmaip1500_raw /usr/bin/printuipixmaip1500 /usr/bin/stsmonpixmaip1500 /usr/lib /usr/lib/cups /usr/lib/cups/backend /usr/lib/cups/backend/canon_parallel /usr/lib/cups/backend/canon_usb /usr/lib/cups/filter /usr/lib/cups/filter/pstocanonbj /usr/libexec /usr/libexec/bjlib /usr/libexec/bjlib/bjfilterpixmaip1500.conf /usr/libexec/bjlib/cnb_2140.tbl /usr/libexec/bjlib/cnbpname214.tbl /usr/libexec/cups /usr/libexec/cups/filter /usr/libexec/libcnbpcmcm214.so /usr/libexec/libcnbpcmcm214.so.6.11.1 /usr/libexec/libcnbpcnclapi214.so /usr/libexec/libcnbpcnclapi214.so.3.1.0 /usr/libexec/libcnbpcnclbjcmd214.so /usr/libexec/libcnbpcnclbjcmd214.so.3.1.0 /usr/libexec/libcnbpcnclui214.so /usr/libexec/libcnbpcnclui214.so.3.1.0 /usr/libexec/libcnbpess214.so /usr/libexec/libcnbpess214.so.2.0.5 /usr/libexec/libcnbpo214.so /usr/libexec/libcnbpo214.so.1.0.11 <...>
I found that the driver only worked after compiling with WITHOUT unstablecups and takushipatch, then recompiling WITH said flags, then recompile again WITHOUT the flags. I use the latest version of cups (1.2.2) with a Canon iP1000. @ Comment #33: Have a look manually to see if the symbolic links are present in /usr/libexec/cups/filter - they don't show up in "equery files bjfilter" for me either. Fore reference, this is what my system looks like: sempron filter # cd /usr/libexec/cups/filter/ sempron filter # ls -l total 268 -rwxr-xr-x 1 root root 5020 2006-07-26 22:33 gziptoany -rwxr-xr-x 1 root root 44572 2006-07-26 22:33 hpgltops -rwxr-xr-x 1 root root 26168 2006-07-26 22:33 imagetops -rwxr-xr-x 1 root root 57004 2006-07-26 22:33 imagetoraster -rwxr-xr-x 1 root root 5624 2006-07-26 22:33 pdftops lrwxrwxrwx 1 root root 33 2006-07-26 22:33 pstocanonbj -> //usr/lib/cups/filter/pstocanonbj -rwxr-xr-x 1 root root 40700 2006-07-26 22:33 pstops lrwxrwxrwx 1 root root 29 2006-07-02 04:07 pstopxl -> //usr/lib/cups/filter/pstopxl lrwxrwxrwx 1 root root 32 2006-07-02 04:07 pstoraster -> //usr/lib/cups/filter/pstoraster lrwxrwxrwx 1 root root 13 2006-07-26 22:33 rastertodymo -> rastertolabel -rwxr-xr-x 1 root root 13644 2006-07-26 22:33 rastertoepson -rwxr-xr-x 1 root root 13424 2006-07-26 22:33 rastertohp -rwxr-xr-x 1 root root 14448 2006-07-26 22:33 rastertolabel -rwxr-xr-x 1 root root 36460 2006-07-26 22:33 texttops
No, I don't have a symlink to /usr/lib/cups/filter/pstocanonbj in /usr/libexec/cups/filter/... But I'll try to do it your way, that is recompile it 3 times: without, with, and again without those flags... # ls -l /usr/libexec/cups/filter/ total 260 -rwxr-xr-x 1 root root 4344 2006-08-03 23:27 gziptoany -rwxr-xr-x 1 root root 41076 2006-08-03 23:27 hpgltops -rwxr-xr-x 1 root root 26468 2006-08-03 23:27 imagetops -rwxr-xr-x 1 root root 53620 2006-08-03 23:27 imagetoraster -rwxr-xr-x 1 root root 5624 2006-08-03 23:27 pdftops -rwxr-xr-x 1 root root 38888 2006-08-03 23:27 pstops -rwxr-xr-x 1 root root 1884 2006-08-04 00:19 pstopxl -rwxr-xr-x 1 root root 1554 2006-08-04 00:19 pstoraster lrwxrwxrwx 1 root root 13 2006-08-03 23:28 rastertodymo -> rastertolabel -rwxr-xr-x 1 root root 13992 2006-08-03 23:27 rastertoepson -rwxr-xr-x 1 root root 13388 2006-08-03 23:27 rastertohp -rwxr-xr-x 1 root root 14320 2006-08-03 23:27 rastertolabel -rwxr-xr-x 1 root root 36632 2006-08-03 23:27 texttops
No, that did not help. Still no pstocanonbj or a symlink to it in /usr/libexec/cups/filter/.
(In reply to comment #36) > No, that did not help. Still no pstocanonbj or a symlink to it in > /usr/libexec/cups/filter/. > Try creating them manually, and test to see if the printer works. If it does, perhaps the ebuild could be modified to explicitly create the links.
Well, I made a symlink to pstocanonbj in /usr/libexec/cups/filter/ and it worked, BUT only if bjfilter is compiled without unstablecups USE flag, that is when bin/ is installed in /usr/local/ aics, not /usr as is with unstablecups USE flag. I really don't know how and why it works one way, but not other one.
Created attachment 93518 [details] net-print/bjfilter/bjfilter-2.50.ebuild (In reply to comment #38) > Well, I made a symlink to pstocanonbj in > /usr/libexec/cups/filter/ and it worked, BUT only > if bjfilter is compiled without unstablecups USE > flag, that is when bin/ is installed in /usr/local/ aics, > not /usr as is with unstablecups USE flag. I > really don't know how and why it works one way, but > not other one. > Sounds very similar to my experience, but for some reason one of my prior merges must have created the link. New ebuild manually creates the symlinks if USE=unstablecups, and the directory structure is otherwise maintained. The directory structure created when using the unstablecups USE flag did not work with the latest cups (the very reason the flag was created).
Created attachment 94411 [details] net-print/bjfilter/bjfilter-2.50.ebuild -> won't depend on non-existing bjdeps-0.2 anymore if 'servicetools' and 'amd64' is enabled but instead print out an error
Hello, today there is a really cheap price for a Pixma MP 800 does it works with this driver ? And is there a way to have those ebuilds through layman ? Thank.
Created attachment 100541 [details] net-print/bjfilter/bjfilter-2.50-r1.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.)
This new ebuild places the filter in /usr/libexec/filter (should be /usr/libexec/cups/filter) and puts the backend in /usr/libexec/backend (should be /usr/libexec/cups/backend). I was using cups unstable 1.2.5 at the time. The cups autodetection stuff needs work.
Created attachment 100703 [details] net-print/bjfilter/bjfilter-2.50-r2.ebuild fixed the directory structure This was a very stupid mistake.
# if use servicetools: # >=gtk+-1.2* Ho ho ho, what a surprise! Has anyone compiled bjfilter successfully with servicetools USE flag and the latest gtk+? I haven't. However, it builds, if gtk-1.2* is on the system. If I'm right, it should depend on =gtk+-1.2, not >=. Any comments on this? ^^
I have both gtk+ 1.2.10-r12 and 2.10.6 installed and it builds successfully with the servicetools USE flag. I haven't managed to get any of the tools to actually work though, mind you there doesn't seem to be any documentation on the tools so I don't know what they are supposed to do. PS: Anyone successfully used the canon_usb backend with status feedback? I keep getting errors about "Unable to open USB port device file: No such file or directory" where Device URI = canon_usb:/dev/usb/lp0. I have confirmed that /dev/usb/lp0 exists and functions correctly with the default usb backend that uses the usb://Canon/iP1000 URI.
(In reply to comment #46) > I have both gtk+ 1.2.10-r12 and 2.10.6 installed and it builds successfully > with the servicetools USE flag. Well yeah, that's it, you have it (=gtk+-1.2*). Try to temporarily unmerge gtk+-1.2.10-r12 and then try to compile bjfilter with servicetools flag enabled and see if it compiles fine.
Unmerged gtk+-1.2.10-r12 and attempted to remerge bjfilter, failed to compile with gtk errors. checking for egrep... /bin/grep -E checking for ANSI C header files... yes ./configure: line 5824: syntax error near unexpected token `1.2.0,' ./configure: line 5824: `AM_PATH_GTK(1.2.0, ,' !!! ERROR: net-print/bjfilter-2.50-r2 failed.
Created attachment 100712 [details] net-print/bjfilter/bjfilter-2.50-r3.ebuild >> 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 Thank you very much. After all, this is still my very first ebuild - and the most complicated one, too. Take a look to see what I mean. :) About the servicetools: run "printuipixusipXXX" (XXX=4100, ...) goto the maintenance tab and clean your printers nozzles for example. That's the most useful feature about the servicetools.
giga@giga ~ $ printuipixmaip1000 Gdk-WARNING **: Missing charsets in FontSet creation Gdk-WARNING **: KSC5601.1987-0 Gdk-WARNING **: GB2312.1980-0 The servicetool utilities don't run on any of my systems. I am not sure what is configured incorrectly on my systems that causes this, I will look into this further.
Created attachment 100921 [details] net-print/bjfilter/bjfilter-2.50-r4.ebuild fixed amd64 bug with with >=cups-1.2 little cleanup
http://mambo.kuhp.kyoto-u.ac.jp/~takushi/debian/pstocanonbj-3.1/src/pstocanonbj.c (mentioned in the ebuild) seems to be down... Instead the author has version 3.2 and 3.3 of his filter online. Maybe the line in the ebuild should be upgraded to one of these two versions...
Created attachment 101969 [details] net-print/bjfilter/bjfilter-2.50-r5.ebuild I removed the takushipatch-useflag, as this patch isn't maintained anymore and doesn't seem to be used at all
(In reply to comment #50) > giga@giga ~ $ printuipixmaip1000 > > Gdk-WARNING **: Missing charsets in FontSet creation > > > Gdk-WARNING **: KSC5601.1987-0 > > > Gdk-WARNING **: GB2312.1980-0 > > The servicetool utilities don't run on any of my systems. I am not sure what is > configured incorrectly on my systems that causes this, I will look into this > further. > I have the same problem... However the GUI _worked_ some time (a few months) ago. "bjcups -P <printer_name>" gives the same output and hangs. "bjfilterpixmaip1500 --gui" states "Gtk-WARNING **: cannot open display: localhost:0.0" and exits, (The display :0.0 is correct.)
some libs are duplicated instead of symlinked. this makes ldconfig complains: .so files should be symlinks to .so.version files. this is silenced by portage, but visible with direct ldconfig or via paludis here's a diff to fix that: --- bjfilter-2.50-old.ebuild 2006-11-29 13:38:51.000000000 +0100 +++ bjfilter-2.50-new.ebuild 2006-11-29 15:06:10.000000000 +0100 @@ -271,7 +271,15 @@ fi cd ../.. - cp ${_prid}/libs_bin/* ${D}${_libdir} || die + cd ${_prid}/libs_bin + for file in `ls libcn*.so`; do + rm ${file} || die + done; + for file in `ls libcn*`; do + ln -s ${file} `echo ${file} | sed 's/\(.*\.so\).*/\1/'` || die + done; + cd ../.. + cp -P ${_prid}/libs_bin/* ${D}${_libdir} || die cp ${_prid}/database/* ${D}${_libdir}/bjlib || die cp ppd/canon${_pr}.ppd ${D}${_ppddir} || die }
some notes: - there should be whitespaces around parentheses in DEPEND: e.g '!amd64? (sys-libs/glibc' should be '!amd64? ( sys-libs/glibc' (sans quotes) - LICENSE="???" is invalid: it refers to a conditional use flag '??'. see glep 0023 http://www.gentoo.org/proj/en/glep/glep-0023.html both make alternate package managers fail.
Created attachment 103001 [details] net-print/bjfilter/bjfilter-2.50-r6.ebuild Cleanup: * changed license from "???" to "UNKNOWN" * fixed dependency syntax * preserve library-symlinks Thanks to Lloeki for the advice. Actually it was even simpler to fix the library symlinks than he suggested. I just replaced "cp" by "cp -a", which did the job.
on amd64: bjfilter fails to build with =app-emulation/emul-linux-x86-baselibs-2.5.5 because of openssl 0.9.7 which seems to suffer a bug: /emul/linux/x86/usr/lib/libssl.so.0.9.7: undefined reference to `HMAC_CTX_set_flags' emerge -1 =app-emulation/emul-linux-x86-baselibs-2.5.4 solves this.
Please add it to portage!
What about support Canon S300? ftp://download.canon.jp/pub/driver/bj/linux/bjfilterbjs300-2.1-1.i386.rpm
(In reply to comment #57) > [...] > * fixed dependency syntax > [...] Unfortunately you still missed to add two whitespace in the dependency syntax: (sys-libs/glibc should become ( sys-libs/glibc and >=media-libs/libpng-1.0.9) should become >=media-libs/libpng-1.0.9 ) So r6 is still broken in paludis...
Created attachment 158675 [details] net-print/bjfilter/bjfilter-2.50-r7.ebuild Updated to use bjfilter-common-2.50-3.src.rpm from download.canon.jp (bjfilter-common-2.50-2.src.rpm doesn't exist anymore)
Updated in my overlay for anyone's convenience: http://svn.hurikhan.ath.cx/gentoo/trunk
Hi, thanks for the ebuild, but it doesn't working now, complain about : Manifest file not found: '/usr/local/portage/net-print/bjfilter/Manifest' Before the error output was different, and that is the bug report I sent: http://bugs.gentoo.org/show_bug.cgi?id=240464 Let me know if you need more information. Cheers
(In reply to comment #64) Hi Peng Liu Somehow your Portage has trouble downloading the file. Try to manually download the file ftp://download.canon.jp/pub/driver/bj/linux/bjfilter-common-2.50-3.src.rpm Save it at /usr/portage/distfiles/bjfilter-common-2.50-3.src.rpm Then it should work! Regards Colin
Hi Colin: But I seems couldn't download that file in anyway, gFtp, firefox, opera. How do I know that link is avaliable or not, looks like I couldn't browse that ftp sit using address like: ftp://download.canon.jp/pub/driver/bj/linux/ either? Cheers (In reply to comment #65) > (In reply to comment #64) > Hi Peng Liu > > Somehow your Portage has trouble downloading the file. Try to manually download > the file > ftp://download.canon.jp/pub/driver/bj/linux/bjfilter-common-2.50-3.src.rpm > > Save it at /usr/portage/distfiles/bjfilter-common-2.50-3.src.rpm > > Then it should work! > > Regards > Colin >
(In reply to comment #63) > Updated in my overlay for anyone's convenience: > http://svn.hurikhan.ath.cx/gentoo/trunk Thanks a lot, the ip3100 USE flag enables a driver that works for my Canon i550.
Created attachment 183765 [details] fixes syntax error missing space by parenthesis: '(s' RDEPEND: virtual/ghostscript >=net-print/cups-1.1.14 !amd64? (sys-libs
(this is an automated message based on filtering criteria that matched this bug) 'EBUILD' is in the KEYWORDS which should mean that there is a ebuild attached to this bug. This bug is assigned to maintainer-wanted which means that it is not in the main tree. Heuristics show that no Gentoo developer has commented on your ebuild. Hello, The Gentoo Team would like to firstly thank you for your ebuild submission. We also apologize for not being able to accommodate you in a timely manner. There are simply too many new packages. Allow me to use this opportunity to introduce you to Gentoo Sunrise. The sunrise overlay[1] is a overlay for Gentoo which we allow trusted users to commit to and all users can have ebuilds reviewed by Gentoo devs for entry into the overlay. So, the sunrise team is suggesting that you look into this and submit your ebuild to the overlay where even *you* can commit to. =) Because this is a mass message, we are also asking you to be patient with us. We anticipate a large number of requests in a short time. Thanks, On behalf of the Gentoo Sunrise Team, Jeremy. [1]: http://www.gentoo.org/proj/en/sunrise/ [2]: http://overlays.gentoo.org/proj/sunrise/wiki/SunriseFaq
Created attachment 283035 [details] bjfilter-2.50-r7.ebuild The last release (-r6, which weirdly is called -r8 in the zugaina overlay) isn’t working anymore, because there is neither a virtual/ghostscript nor a dev-libs/libxml. I fixed this, by replacing them with app-text/ghostscript-gpl and dev-libs/libxml2. I also tested it, and compiling/merging it works. Although I the printer just blinks once and doesn’t print anything. But I guess that’s just here… P.S.: That -r8 one in zugaina is OLDER.
I've observed another kind of bug, bjfilter depends on <=media-libs/libpng-1.5. Probably libpng-1.2. I crashes during compilation like this: 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 function ‘png_image_init’: bjfimage.c:1335:6: error: dereferencing pointer to incomplete type bjfimage.c:1347:16: warning: 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:1347:16: warning: 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 *’ For me only helped installing libpng-1.2 by hand (make install) and then running emerge bjfilter. Later on old libpng is not needed.
Created attachment 296235 [details] bjfilter-2.50-libpng.patch
Created attachment 296237 [details] bjfilter-2.50-r9.ebuild
Comment on attachment 296235 [details] bjfilter-2.50-libpng.patch >Modifications to fit the new libpng interface. > >--- bjfilter-2.50/bjfilter/src/bjfimage.c 2011-12-18 02:02:33.000000000 +0100 >+++ bjfilter-2.50/bjfilter/src/bjfimage.c 2011-12-18 02:11:14.000000000 +0100 >@@ -1278,8 +1278,8 @@ > short tmpformat; > short retbyte = 0; > short bpp = 3; >- long width = 0; >- long length = 0; >+ png_uint_32 width = 0; >+ png_uint_32 length = 0; > long rstep = 0; > long RasterLength = 0; > long i; >@@ -1332,7 +1332,7 @@ > goto onErr; > } > >- if (setjmp (png_ptr->jmpbuf)) >+ if (setjmp(png_jmpbuf(png_ptr))) > { > png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); > goto onErr;
Created attachment 296241 [details] bjfilter-2.50-libpng.patch
Comment on attachment 296237 [details] bjfilter-2.50-r9.ebuild Starting from the bjfilter-2.50-r7.ebuild I created a new bjfilter-2.50-r9.ebuild fixing problems with >=libpng-1.4.0. I used r9 too keep in line with the numbering in the zugaina overlay. The actual problem was caused by a change in the error handling interface in libpng-1.4. The attached patch (bjfilter-2.50-libpng.patch) fixes this problem. Note: The libxml2 stuff is still unfixed.
Are you interested in maintaning this driver directly yourself in the new printer-drivers overlay [1]? If yes, just send me via personal e-mail at dilfridge@gentoo.org a public ssh key [2], so we can give you git push access to the overlay. If you have a gnupg key, you should sign that e-mail [3]. Just a few rules: * Initially, the ebuilds should work for you, and not break anything else. * You enter yourself as maintainer in metadata.xml (together with the printing herd), and are then automatically cc'ed in bug reports on bugzilla. * We will guide you towards improving the ebuilds over the next months so they follow the rules and qa guidelines of the Gentoo main portage tree. In particular this means also using a recent EAPI (3 or perferably 4), and fixing repoman warnings [4]. Don't worry, we'll help you with that. * I hope this is never going to happen, but... ebuilds that "work but go against the guidelines" and do not see any improvement will be removed again one year after initial addition. There are many ways to get help. * You can directly ask me by personal e-mail (my time is limited, but I'll try), * you can ask on freenode, channel #gentoo-dev-help, * you can read the documentation (ebuild howto [5], devmanual [6]), * ... [1] http://git.overlays.gentoo.org/gitweb/?p=proj/printer-drivers.git;a=summary [2] http://www.gentoo.org/doc/en/articles/openssh-key-management-p1.xml [3] http://www.gentoo.org/doc/en/gnupg-user.xml [4] http://dev.gentoo.org/~zmedico/portage/doc/man/repoman.1.html [5] http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2 [6] http://devmanual.gentoo.org/
bjfilter-2.50-r9 does not work with amd64 using the newest emul-linux-x86 libraries (app-emulation/emul-linux-x86-baselibs-20120520). Error message: (...) gcc -DHAVE_CONFIG_H -I. -I.. -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -MT pstocanonbj.o -MD -MP -MF .deps/pstocanonbj.Tpo -c -o pstocanonbj.o pstocanonbj.c pstocanonbj.c: In function ‘get_ps_params’: pstocanonbj.c:189:3: warning: pointer targets in passing argument 1 of ‘buflist_new’ differ in signedness ../../libs/buftool/buflist.h:38:10: note: expected ‘unsigned char *’ but argument is of type ‘char *’ pstocanonbj.c:235:5: warning: value computed is not used pstocanonbj.c:319:3: warning: pointer targets in passing argument 1 of ‘buflist_new’ differ in signedness ../../libs/buftool/buflist.h:38:10: note: expected ‘unsigned char *’ but argument is of type ‘char *’ mv -f .deps/pstocanonbj.Tpo .deps/pstocanonbj.Po gcc -DHAVE_CONFIG_H -I. -I.. -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -MT canonopt.o -MD -MP -MF .deps/canonopt.Tpo -c -o canonopt.o canonopt.c mv -f .deps/canonopt.Tpo .deps/canonopt.Po gcc -DHAVE_CONFIG_H -I. -I.. -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -MT paramlist.o -MD -MP -MF .deps/paramlist.Tpo -c -o paramlist.o paramlist.c mv -f .deps/paramlist.Tpo .deps/paramlist.Po /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -L../../libs/buftool -Wl,-O1 -Wl,--as-needed -o pstocanonbj pstocanonbj.o canonopt.o paramlist.o -lcups ../../libs/buftool/libbuftool.a -lpopt -lcups libtool: link: gcc -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -Wl,-O1 -Wl,--as-needed -o pstocanonbj pstocanonbj.o canonopt.o paramlist.o -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -L../../libs/buftool ../../libs/buftool/libbuftool.a /usr/lib32/libpopt.so -lcups /usr/lib32/libpopt.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[2]: *** [pstocanonbj] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-print/bjfilter-2.50-r9/work/bjfilter-2.50/pstocanonbj/filter' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-print/bjfilter-2.50-r9/work/bjfilter-2.50/pstocanonbj' make: *** [all] Error 2 * ERROR: net-print/bjfilter-2.50-r9 failed (compile phase): * Couldn't make pstocanonbj * * Call stack: * ebuild.sh, line 85: Called src_compile * environment, line 2513: Called die * The specific snippet of code: * make || die "Couldn't make pstocanonbj"; *
As was noticed before, bjfilter-2.50-r9 Doesn't compile on amd64 because of problematic libpopt.so. Here's my info # emerge --info bjfilter Portage 2.1.10.65 (default/linux/amd64/10.0/desktop/gnome, 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-_Core-TM-_i5_CPU_750_@_2.67GHz-with-gentoo-2.1 Timestamp of tree: Wed, 18 Jul 2012 11: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-r2, 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 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.4-r1 (virtual/os-headers) sys-libs/glibc: 2.14.1-r3 Repositories: gentoo proaudio x-portage ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" 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/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /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" 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="ftp://ftp.df.lth.se/pub/gentoo ftp://ftp.klid.dk/gentoo http://ftp.klid.dk/ftp/gentoo" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en pl" MAKEOPTS="-j5" 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="/var/lib/layman/pro-audio /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cdr cli colord consolekit cracklib crypt cue cups cxx dbus dmx dri dts dvd dvdr eds emacs emboss encode evo exif fam firefox flac fontconfig fortran gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv jack java javascript jpeg lcms ldap libnotify mad mmx mng modules mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nptl nsplugin ogg openal opengl openmp pam pango pcre pdf png policykit ppds pppd qt3support qt4 readline samba sdl session socialweb spell sse sse2 ssl startup-notification svg symlink tcpd threads tiff timidity truetype udev udisks unicode upower usb vorbis wavpack wifi wxwidgets x264 xcb xml xmpp 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 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="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en pl" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fglrx fbdev vesa" 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 # emerge -pqv '=net-print/bjfilter-2.50-r9' [ebuild N ] net-print/bjfilter-2.50-r9 USE="(amd64) ip1500 -ip1000 -ip3100 -ip4100 -ip8600 -nocupsdetection -servicetools" # cat /var/tmp/portage/net-print/bjfilter-2.50-r9/temp/build.log (...) make all-recursive make[1]: Entering directory `/var/tmp/portage/net-print/bjfilter-2.50-r9/work/bjfilter-2.50/pstocanonbj' Making all in filter make[2]: Entering directory `/var/tmp/portage/net-print/bjfilter-2.50-r9/work/bjfilter-2.50/pstocanonbj/filter' gcc -DHAVE_CONFIG_H -I. -I.. -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -MT pstocanonbj.o -MD -MP -MF .deps/pstocanonbj.Tpo -c -o pstocanonbj.o pstocanonbj.c pstocanonbj.c: In function ‘get_ps_params’: pstocanonbj.c:189:3: warning: pointer targets in passing argument 1 of ‘buflist_new’ differ in signedness ../../libs/buftool/buflist.h:38:10: note: expected ‘unsigned char *’ but argument is of type ‘char *’ pstocanonbj.c:235:5: warning: value computed is not used pstocanonbj.c:319:3: warning: pointer targets in passing argument 1 of ‘buflist_new’ differ in signedness ../../libs/buftool/buflist.h:38:10: note: expected ‘unsigned char *’ but argument is of type ‘char *’ mv -f .deps/pstocanonbj.Tpo .deps/pstocanonbj.Po gcc -DHAVE_CONFIG_H -I. -I.. -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -MT canonopt.o -MD -MP -MF .deps/canonopt.Tpo -c -o canonopt.o canonopt.c mv -f .deps/canonopt.Tpo .deps/canonopt.Po gcc -DHAVE_CONFIG_H -I. -I.. -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -MT paramlist.o -MD -MP -MF .deps/paramlist.Tpo -c -o paramlist.o paramlist.c mv -f .deps/paramlist.Tpo .deps/paramlist.Po /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -L../../libs/buftool -Wl,-O1 -Wl,--as-needed -o pstocanonbj pstocanonbj.o canonopt.o paramlist.o -lcups ../../libs/buftool/libbuftool.a -lpopt -lcups libtool: link: gcc -O2 -Wall -I../../libs/buftool -march=native -O2 -pipe -Wl,-O1 -Wl,--as-needed -o pstocanonbj pstocanonbj.o canonopt.o paramlist.o -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib -L/usr/lib32 -L../../libs/buftool ../../libs/buftool/libbuftool.a /usr/lib32/libpopt.so -lcups /usr/lib32/libpopt.so: could not read symbols: File in wrong format collect2: ld returned 1 exit status make[2]: *** [pstocanonbj] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-print/bjfilter-2.50-r9/work/bjfilter-2.50/pstocanonbj/filter' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-print/bjfilter-2.50-r9/work/bjfilter-2.50/pstocanonbj' make: *** [all] Error 2 * ERROR: net-print/bjfilter-2.50-r9 failed (compile phase): * Couldn't make pstocanonbj * * Call stack: * ebuild.sh, line 85: Called src_compile * environment, line 2510: Called die * The specific snippet of code: * make || die "Couldn't make pstocanonbj";
Created attachment 401008 [details] bjfilter-2.50-r10.ebuild I have updated bjfilter ebuild to use the new abi_x86_32 USE flag for dependencies. The package app-emulation/emul-linux-x86-bjdeps is no longer needed. Only tested on ~amd64 and printer ip4100.
Is anyone still interested in this?
If you are still interested in the 2.50 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.