To build the Canon imageCLASS MF3010 Linux driver from source, download the “UFR II/UFR II LT Printer Driver for Linux V3.20” archive from Canon’s support website.
On Fedora 25, you need two adjustments to build the RPM cleanly:
1. Spec File Patch (cndrvcups-common.spec)
Exclude internal dependency requirements and apply the gmodule patch:
--- cndrvcups-common.spec.orig 2016-11-16 14:37:13.341877857 +0530
+++ cndrvcups-common.spec 2016-11-16 14:34:40.674461102 +0530
@@ -1,5 +1,6 @@
%define VERSION 3.60
%define RELEASE 1
+%global __requires_exclude ^libcaiousb.so$
%ifarch x86_64
%define libs32 /usr/lib
@@ -19,6 +20,7 @@ Vendor: CANON INC.
Group: Applications/Publishing
Source: cndrvcups-common-%{version}-%{release}.tar.gz
+Patch0: cndrvcups-common-gmodule.patch
BuildRoot: %{_tmppath}/%{name}-root
@@ -27,6 +29,8 @@ BuildRoot: %{_tmppath}/%{name}-root
%prep
%setup -q
+%patch0 -p1
+
cd buftool
./autogen.sh --prefix=%{_prefix} --enable-progpath=%{_bindir} --libdir=%{_libdir} --disable-shared --enable-static
2. Add gmodule Dependency Patch
In modern Fedora releases, gmodule must be explicitly included in PKG_CHECK_MODULES:
--- cndrvcups-common-3.60/cngplp/configure.in 2014-12-05 15:26:04.000000000 +0530
+++ cndrvcups-common-3.60/cngplp/configure.in 2016-11-16 14:17:32.517073588 +0530
@@ -11,7 +11,7 @@ AM_PROG_CC_STDC
AC_HEADER_STDC
AM_PROG_LIBTOOL
-pkg_modules="gtk+-2.0 >= 2.0.0"
+pkg_modules="gtk+-2.0 >= 2.0.0 gmodule"
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
AC_SUBST(PACKAGE_CFLAGS)
AC_SUBST(PACKAGE_LIBS)
Place the patch in SOURCES/, run rpmbuild -ba cndrvcups-common.spec, and install the resulting RPMs.