Package Details: cnijfilter-e510 3.80-3

Git Clone URL: https://aur.archlinux.org/cnijfilter-e510.git (read-only, click to copy)
Package Base: cnijfilter-e510
Description: Canon IJ Printer Driver (For PIXMA E510 series)
Upstream URL: https://www.canon-europe.com/support/consumer_products/products/printers/inkjet/other_pixma/pixma_e514.aspx
Licenses: custom
Submitter: beroal
Maintainer: None
Last Packager: beroal
Votes: 0
Popularity: 0.000000
First Submitted: 2015-12-30 11:17 (UTC)
Last Updated: 2017-08-19 19:46 (UTC)

Latest Comments

beroal commented on 2024-03-27 21:40 (UTC)

Unfortunately, I don't know how to build this driver for recent kernels.

MarsSeed commented on 2024-03-27 19:54 (UTC)

Fails to build (clean chroot):

[...]

processing ./cnijnpr
Running aclocal  ...
[...]

Running ./configure --prefix=/usr --enable-progpath=/usr/bin --datadir=/usr/share --program-suffix=e510 ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to enable C11 features... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.7... yes
checking for GTK+ - version >= 2.0.0... yes (version 2.24.33)
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for catalogs to be installed...  cs da de el es fi fr hu it ja ko nl nb pl pt ru sv th tr zh zh_TW id
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating po/Makefile.in
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
[...]

make[2]: Entering directory '/build/cnijfilter-e510/src/cnijfilter-source-3.80-2/cngpijmon/src'
gcc -DHAVE_CONFIG_H -I. -DUSE_LIB_GLASE -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -I/usr/include/libpng16 -pthread -I/usr/include/fribidi    -O2 -Wall -MT bjcupsmon_main.o -MD -MP -MF .deps/bjcupsmon_main.Tpo -c -o bjcupsmon_main.o bjcupsmon_main.c
gcc -DHAVE_CONFIG_H -I. -DUSE_LIB_GLASE -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -I/usr/include/libpng16 -pthread -I/usr/include/fribidi    -O2 -Wall -MT bjcupsmon_cups.o -MD -MP -MF .deps/bjcupsmon_cups.Tpo -c -o bjcupsmon_cups.o bjcupsmon_cups.c
In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                 from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:33,
                 from bjcupsmon_common.h:27,
                 from bjcupsmon_main.c:24:
/usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: ‘GTypeDebugFlags’ is deprecated [-Wdeprecated-declarations]
  236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
      | ^~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:26,
                 from /usr/include/glib-2.0/gobject/gbinding.h:31,
                 from /usr/include/glib-2.0/glib-object.h:24,
                 from /usr/include/glib-2.0/gio/gioenums.h:30,
                 from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32:
/usr/include/glib-2.0/gobject/gtype.h:725:1: note: declared here
  725 | {
      | ^
In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                 from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:33,
                 from bjcupsmon_common.h:27,
                 from bjcupsmon_cups.c:31:
/usr/include/gtk-2.0/gtk/gtktypeutils.h:236:1: warning: ‘GTypeDebugFlags’ is deprecated [-Wdeprecated-declarations]
  236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
      | ^~~~
In file included from /usr/include/glib-2.0/gobject/gobject.h:26,
                 from /usr/include/glib-2.0/gobject/gbinding.h:31,
                 from /usr/include/glib-2.0/glib-object.h:24,
                 from /usr/include/glib-2.0/gio/gioenums.h:30,
                 from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32:
/usr/include/glib-2.0/gobject/gtype.h:725:1: note: declared here
  725 | {
      | ^
In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
                 from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtk.h:126:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
   73 |   GTimeVal last_popdown;
      |   ^~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:34,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/glib-2.0/gobject/gbinding.h:30:
/usr/include/glib-2.0/glib/gtypes.h:580:8: note: declared here
  580 | struct _GTimeVal
      |        ^~~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
                 from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtk.h:126:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
   73 |   GTimeVal last_popdown;
      |   ^~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:34,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/glib-2.0/gobject/gbinding.h:30:
/usr/include/glib-2.0/glib/gtypes.h:580:8: note: declared here
  580 | struct _GTimeVal
      |        ^~~~~~~~~
bjcupsmon_main.c: In function ‘initApplication’:
bjcupsmon_main.c:496:167: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  496 |                                                                                 gTimeoutFuncTag = gtk_timeout_add(TIMEOUT_CALL_UPDATE_UI_FUNC, (GtkFunction)updateUI, (gpointer)backend_Is);
      |                                                                                                                                                                       ^
bjcupsmon_main.c:531:127: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  531 |                                         gTimeoutFuncTag = gtk_timeout_add(TIMEOUT_CALL_UPDATE_UI_FUNC, (GtkFunction)updateUI, (gpointer)backend_Is);
      |                                                                                                                               ^
bjcupsmon_main.c:374:41: warning: variable ‘Odev’ set but not used [-Wunused-but-set-variable]
  374 |                 output_dev              Odev;
      |                                         ^~~~
bjcupsmon_main.c: In function ‘updateUI’:
bjcupsmon_main.c:637:17: warning: ‘ftime’ is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
  637 |                 ftime(&curTime);
      |                 ^~~~~
In file included from bjcupsmon_main.c:29:
/usr/include/sys/timeb.h:29:12: note: declared here
   29 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
bjcupsmon_main.c:679:45: warning: variable ‘retx’ set but not used [-Wunused-but-set-variable]
  679 |                                         int retx = 0;
      |                                             ^~~~
bjcupsmon_main.c:827:9: warning: ‘ftime’ is deprecated: Use gettimeofday or clock_gettime instead [-Wdeprecated-declarations]
  827 |         ftime(&prevTime);
      |         ^~~~~
/usr/include/sys/timeb.h:29:12: note: declared here
   29 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
bjcupsmon_main.c:618:33: warning: variable ‘Odev’ set but not used [-Wunused-but-set-variable]
  618 |         output_dev              Odev;
      |                                 ^~~~
bjcupsmon_main.c: In function ‘initApplication’:
bjcupsmon_main.c:232:17: warning: ‘strncat’ specified bound 5 equals source length [-Wstringop-overflow=]
  232 |                 strncat(manufacture, STR_MANUFACTURER_NAME, strlen(STR_MANUFACTURER_NAME) );
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:433:41: warning: ‘strncat’ specified bound 1 equals source length [-Wstringop-overflow=]
  433 |                                         strncat(windowTitle, " ", strlen(" "));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:438:41: warning: ‘strncat’ specified bound 1 equals source length [-Wstringop-overflow=]
  438 |                                         strncat(windowTitle, " ", strlen(" "));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:439:41: warning: ‘strncat’ specified bound 3 equals source length [-Wstringop-overflow=]
  439 |                                         strncat(windowTitle, STR_USB_NAME, strlen(STR_USB_NAME));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:443:41: warning: ‘strncat’ specified bound 1 equals source length [-Wstringop-overflow=]
  443 |                                         strncat(windowTitle, " ", strlen(" "));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:444:41: warning: ‘strncat’ specified bound 3 equals source length [-Wstringop-overflow=]
  444 |                                         strncat(windowTitle, STR_USB_NAME, strlen(STR_USB_NAME));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:450:41: warning: ‘strncat’ specified bound 1 equals source length [-Wstringop-overflow=]
  450 |                                         strncat(windowTitle, " ", strlen(" "));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:451:41: warning: ‘strncat’ specified bound 14 equals source length [-Wstringop-overflow=]
  451 |                                         strncat(windowTitle, STR_PRODUCT_NAME, strlen(STR_PRODUCT_NAME));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:509:33: warning: ‘strncat’ specified bound 1 equals source length [-Wstringop-overflow=]
  509 |                                 strncat(windowTitle, " ", strlen(" "));                                         // V2.3 add
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:510:33: warning: ‘strncat’ specified bound 14 equals source length [-Wstringop-overflow=]
  510 |                                 strncat(windowTitle, STR_PRODUCT_NAME, strlen(STR_PRODUCT_NAME));
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_cups.c: In function ‘getProductName’:
bjcupsmon_cups.c:115:9: warning: ‘cupsGetPPD’ is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
  115 |         pPPDName = cupsGetPPD(pDestName);
      |         ^~~~~~~~
In file included from bjcupsmon_cups.c:23:
/usr/include/cups/ppd.h:358:26: note: declared here
  358 | extern const char       *cupsGetPPD(const char *name) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
      |                          ^~~~~~~~~~
bjcupsmon_cups.c:117:17: warning: ‘ppdOpenFile’ is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
  117 |                 if ((pPPD = ppdOpenFile(pPPDName)) != NULL) {
      |                 ^~
/usr/include/cups/ppd.h:389:26: note: declared here
  389 | extern ppd_file_t       *ppdOpenFile(const char *filename) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
      |                          ^~~~~~~~~~~
bjcupsmon_cups.c:121:61: warning: argument to ‘sizeof’ in ‘snprintf’ call is the same expression as the destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
  121 |                                 snprintf(pModelIDstr, sizeof(pModelIDstr), "%d", pPPD->model_number);
      |                                                             ^
bjcupsmon_cups.c:124:25: warning: ‘ppdClose’ is deprecated: Use cupsCopyDestInfo and friends instead. [-Wdeprecated-declarations]
  124 |                         ppdClose(pPPD);
      |                         ^~~~~~~~
/usr/include/cups/ppd.h:364:25: note: declared here
  364 | extern void             ppdClose(ppd_file_t *ppd) _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.");
      |                         ^~~~~~~~
bjcupsmon_cups.c: In function ‘checkPrinterState’:
bjcupsmon_cups.c:214:9: warning: ‘httpConnectEncrypt’ is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
  214 |         if ((pHTTP = httpConnectEncrypt(pServerName, ippPort(), cupsEncryption())) == NULL) {
      |         ^~
In file included from /usr/include/cups/ipp.h:18,
                 from /usr/include/cups/cups.h:28,
                 from bjcupsmon_cups.c:22:
/usr/include/cups/http.h:477:26: note: declared here
  477 | extern http_t           *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
      |                          ^~~~~~~~~~~~~~~~~~
bjcupsmon_cups.c:220:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  220 |                 pRequest->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
      |                         ^~
bjcupsmon_cups.c:221:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  221 |                 pRequest->request.op.request_id   = 1;
      |                         ^~
bjcupsmon_cups.c:230:38: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  230 |                         if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
      |                                      ^~
bjcupsmon_cups.c:235:79: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  235 |                                         printerState = (ipp_state_t)pAttribute->values[0].integer;
      |                                                                               ^~
bjcupsmon_cups.c: In function ‘getPrinterStatus’:
bjcupsmon_cups.c:287:17: warning: ‘httpConnectEncrypt’ is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
  287 |                 if ((pHTTP = httpConnectEncrypt(serverName, ippPort(), cupsEncryption())) == NULL) {
      |                 ^~
/usr/include/cups/http.h:477:26: note: declared here
  477 | extern http_t           *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
      |                          ^~~~~~~~~~~~~~~~~~
bjcupsmon_cups.c:293:33: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  293 |                         pRequest->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
      |                                 ^~
bjcupsmon_cups.c:294:33: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  294 |                         pRequest->request.op.request_id   = 1;
      |                                 ^~
bjcupsmon_cups.c:303:46: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  303 |                                 if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
      |                                              ^~
bjcupsmon_cups.c:315:76: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  315 |                                                 strncpy(pStatus, pAttribute->values[0].string.text, bufSize);
      |                                                                            ^~
bjcupsmon_cups.c: In function ‘removeJob’:
bjcupsmon_cups.c:368:25: warning: ‘httpConnectEncrypt’ is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
  368 |                         if ((pHTTP = httpConnectEncrypt(serverName, ippPort(), cupsEncryption())) == NULL) {
      |                         ^~
/usr/include/cups/http.h:477:26: note: declared here
  477 | extern http_t           *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
      |                          ^~~~~~~~~~~~~~~~~~
bjcupsmon_cups.c:374:41: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  374 |                                 pRequest->request.op.operation_id = IPP_CANCEL_JOB;
      |                                         ^~
bjcupsmon_cups.c:375:41: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  375 |                                 pRequest->request.op.request_id   = 1;
      |                                         ^~
bjcupsmon_cups.c:386:54: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  386 |                                         if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
      |                                                      ^~
bjcupsmon_cups.c: In function ‘getJobID’:
bjcupsmon_cups.c:443:9: warning: ‘httpConnectEncrypt’ is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
  443 |         if ((pHTTP = httpConnectEncrypt(pServerName, ippPort(), cupsEncryption())) == NULL) {
      |         ^~
/usr/include/cups/http.h:477:26: note: declared here
  477 | extern http_t           *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
      |                          ^~~~~~~~~~~~~~~~~~
bjcupsmon_cups.c:449:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  449 |                 pRequest->request.op.operation_id = IPP_GET_JOBS;
      |                         ^~
bjcupsmon_cups.c:450:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  450 |                 pRequest->request.op.request_id   = 1;
      |                         ^~
bjcupsmon_cups.c:461:38: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  461 |                         if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
      |                                      ^~
bjcupsmon_cups.c:465:55: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  465 |                                 pAttribute = pResponse->attrs;
      |                                                       ^~
bjcupsmon_cups.c:468:80: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  468 |                                         while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_JOB) {
      |                                                                                ^~
bjcupsmon_cups.c:469:72: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  469 |                                                 pAttribute = pAttribute->next;
      |                                                                        ^~
bjcupsmon_cups.c:475:80: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  475 |                                         while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_JOB) {
      |                                                                                ^~
bjcupsmon_cups.c:476:70: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  476 |                                                 if (strcmp(pAttribute->name, "job-id") == 0 && pAttribute->value_tag == IPP_TAG_INTEGER) {
      |                                                                      ^~
bjcupsmon_cups.c:476:106: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  476 |                                                 if (strcmp(pAttribute->name, "job-id") == 0 && pAttribute->value_tag == IPP_TAG_INTEGER) {
      |                                                                                                          ^~
bjcupsmon_cups.c:477:75: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  477 |                                                         jobID = pAttribute->values[0].integer;
      |                                                                           ^~
bjcupsmon_cups.c:479:70: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  479 |                                                 if (strcmp(pAttribute->name, "job-state") == 0 && pAttribute->value_tag == IPP_TAG_ENUM) {
      |                                                                      ^~
bjcupsmon_cups.c:479:109: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  479 |                                                 if (strcmp(pAttribute->name, "job-state") == 0 && pAttribute->value_tag == IPP_TAG_ENUM) {
      |                                                                                                             ^~
bjcupsmon_cups.c:480:92: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  480 |                                                         jobState = (ipp_jstate_t)pAttribute->values[0].integer;
      |                                                                                            ^~
bjcupsmon_cups.c:482:70: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  482 |                                                 if (strcmp(pAttribute->name, "job-originating-user-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
      |                                                                      ^~
bjcupsmon_cups.c:482:125: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  482 |                                                 if (strcmp(pAttribute->name, "job-originating-user-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
      |                                                                                                                             ^~
bjcupsmon_cups.c:483:82: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  483 |                                                         pJobUserName = pAttribute->values[0].string.text;
      |                                                                                  ^~
bjcupsmon_cups.c:485:72: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  485 |                                                 pAttribute = pAttribute->next;
      |                                                                        ^~
bjcupsmon_cups.c:502:72: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  502 |                                                 pAttribute = pAttribute->next;
      |                                                                        ^~
bjcupsmon_cups.c: In function ‘getPrinterURI’:
bjcupsmon_cups.c:554:9: warning: ‘httpConnectEncrypt’ is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
  554 |         if ((pHTTP = httpConnectEncrypt(cupsServer(), ippPort(), cupsEncryption())) == NULL) {
      |         ^~
/usr/include/cups/http.h:477:26: note: declared here
  477 | extern http_t           *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
      |                          ^~~~~~~~~~~~~~~~~~
bjcupsmon_cups.c:560:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  560 |                 pRequest->request.op.operation_id = CUPS_GET_PRINTERS;
      |                         ^~
bjcupsmon_cups.c:561:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  561 |                 pRequest->request.op.request_id   = 1;
      |                         ^~
bjcupsmon_cups.c:570:38: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  570 |                         if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
      |                                      ^~
bjcupsmon_cups.c:574:55: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  574 |                                 pAttribute = pResponse->attrs;
      |                                                       ^~
bjcupsmon_cups.c:577:80: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  577 |                                         while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) {
      |                                                                                ^~
bjcupsmon_cups.c:578:72: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  578 |                                                 pAttribute = pAttribute->next;
      |                                                                        ^~
bjcupsmon_cups.c:584:80: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  584 |                                         while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) {
      |                                                                                ^~
bjcupsmon_cups.c:585:70: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  585 |                                                 if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
      |                                                                      ^~
bjcupsmon_cups.c:585:112: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  585 |                                                 if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
      |                                                                                                                ^~
bjcupsmon_cups.c:586:78: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  586 |                                                         pPrinter = pAttribute->values[0].string.text;
      |                                                                              ^~
bjcupsmon_cups.c:588:70: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  588 |                                                 if (strcmp(pAttribute->name, "printer-uri-supported") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
      |                                                                      ^~
bjcupsmon_cups.c:588:121: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  588 |                                                 if (strcmp(pAttribute->name, "printer-uri-supported") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
      |                                                                                                                         ^~
bjcupsmon_cups.c:589:74: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  589 |                                                         pUri = pAttribute->values[0].string.text;
      |                                                                          ^~
bjcupsmon_cups.c:591:72: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  591 |                                                 pAttribute = pAttribute->next;
      |                                                                        ^~
bjcupsmon_cups.c:608:73: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  608 |                                                  pAttribute = pAttribute->next;
      |                                                                         ^~
bjcupsmon_cups.c: In function ‘getDeviceURI’:
bjcupsmon_cups.c:657:9: warning: ‘httpConnectEncrypt’ is deprecated: Use httpConnect2 instead. [-Wdeprecated-declarations]
  657 |         if ((pHTTP = httpConnectEncrypt(cupsServer(), ippPort(), cupsEncryption())) == NULL) {
      |         ^~
/usr/include/cups/http.h:477:26: note: declared here
  477 | extern http_t           *httpConnectEncrypt(const char *host, int port, http_encryption_t encryption) _CUPS_DEPRECATED_1_7_MSG("Use httpConnect2 instead.");
      |                          ^~~~~~~~~~~~~~~~~~
bjcupsmon_cups.c:663:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  663 |                 pRequest->request.op.operation_id = CUPS_GET_PRINTERS;
      |                         ^~
bjcupsmon_cups.c:664:25: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  664 |                 pRequest->request.op.request_id   = 1;
      |                         ^~
bjcupsmon_cups.c:673:38: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  673 |                         if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
      |                                      ^~
bjcupsmon_cups.c:677:55: error: invalid use of incomplete typedef ‘ipp_t’ {aka ‘struct _ipp_s’}
  677 |                                 pAttribute = pResponse->attrs;
      |                                                       ^~
bjcupsmon_cups.c:680:80: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  680 |                                         while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) {
      |                                                                                ^~
bjcupsmon_cups.c:681:72: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  681 |                                                 pAttribute = pAttribute->next;
      |                                                                        ^~
bjcupsmon_cups.c:687:80: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  687 |                                         while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) {
      |                                                                                ^~
bjcupsmon_cups.c:688:70: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  688 |                                                 if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
      |                                                                      ^~
bjcupsmon_cups.c:688:112: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  688 |                                                 if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
      |                                                                                                                ^~
bjcupsmon_cups.c:689:78: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  689 |                                                         pPrinter = pAttribute->values[0].string.text;
      |                                                                              ^~
bjcupsmon_cups.c:691:70: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  691 |                                                 if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
      |                                                                      ^~
bjcupsmon_cups.c:691:110: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  691 |                                                 if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
      |                                                                                                              ^~
bjcupsmon_cups.c:692:75: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  692 |                                                         pDUri = pAttribute->values[0].string.text;
      |                                                                           ^~
bjcupsmon_cups.c:694:72: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  694 |                                                 pAttribute = pAttribute->next;
      |                                                                        ^~
bjcupsmon_cups.c:703:73: error: invalid use of incomplete typedef ‘ipp_attribute_t’ {aka ‘struct _ipp_attribute_s’}
  703 |                                                  pAttribute = pAttribute->next;
      |                                                                         ^~
bjcupsmon_cups.c: In function ‘getPrinterURI’:
bjcupsmon_cups.c:626:17: warning: ‘strncpy’ output truncated before terminating nul copying 9 bytes from a string of the same length [-Wstringop-truncation]
  626 |                 strncpy(pServerName, "localhost", strlen("localhost"));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:431: bjcupsmon_cups.o] Error 1
make[2]: *** Waiting for unfinished jobs....
bjcupsmon_main.c:223:17: warning: ‘strncpy’ specified bound 1024 equals destination size [-Wstringop-truncation]
  223 |                 strncpy(gDestName, pPrinterName, sizeof(gDestName));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:449:41: warning: ‘strncpy’ output may be truncated copying 1009 bytes from a string of length 1023 [-Wstringop-truncation]
  449 |                                         strncpy(windowTitle, productName, sizeof(windowTitle)-strlen(STR_PRODUCT_NAME)-1 );             // V2.3 strcat->strcpy
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:442:41: warning: ‘strncpy’ output may be truncated copying 1020 bytes from a string of length 1023 [-Wstringop-truncation]
  442 |                                         strncpy(windowTitle, productName, sizeof(windowTitle)-strlen(STR_USB_NAME)-1 );
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:437:41: warning: ‘strncpy’ output may be truncated copying 1020 bytes from a string of length 1023 [-Wstringop-truncation]
  437 |                                         strncpy(windowTitle, productName, sizeof(windowTitle)-strlen(STR_USB_NAME)-1 );
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:434:41: warning: ‘strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
  434 |                                         strncat(windowTitle, macaddress, strlen(macaddress));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjcupsmon_main.c:434:41: note: length computed here
  434 |                                         strncat(windowTitle, macaddress, strlen(macaddress));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv -f .deps/bjcupsmon_main.Tpo .deps/bjcupsmon_main.Po
make[2]: Leaving directory '/build/cnijfilter-e510/src/cnijfilter-source-3.80-2/cngpijmon/src'

beroal commented on 2017-08-19 19:53 (UTC)

updated

shahril commented on 2017-06-18 06:01 (UTC) (edited on 2017-06-18 06:01 (UTC) by shahril)

For those who're looking for an easy way to install E510 driver into Arch Linux, then it's better to look for "gutenprint". It's a package whose bundle lot of printer drivers out of the box, without needing to compile for each printer.