LinuxForum.Fans
Тема

Переделка драйвера принтера Canon MP250/MP280

Автор: Wehrmacht_Rover 12 сообщений 1368 просмотров
12.09.2017 05:01 · отредактировано #425075

Можно ли переделать PPD файл принтера так чтобы появилась возможность нормальной двусторонней печати, как в оффтопике?
Очень не хватает этой функции, так как приходится периодически много печатать с двух сторон, а использовать только ради этого мелкомягкие окна категорически не хочется. *NO*
Может кто уже пытался переделывать драйвера принтера?
Или нужно идти дальше и переделывать сам Gutenprint?

12.09.2017 07:58 #425077

Попробовал собрать дрова из оверлея на замену гутенпринта, но не тут то было *DONT_KNOW* *SORRY*
[console]
USE="-mp280 mp230" emerge net-print/cnijfilter-drivers
...
x86_64-pc-linux-gnu-gcc -O2 -L../../401/libs_bin64 -Wl,-O1 -Wl,--as-needed -o cif bjferror.o bjfilter.o bjfimage.o bjfoption.o bjfpos.o bjfrcaccess.o getipc.o bjflist.o -lcnbpcmcm401 -lcnbpess401 -lm -ldl -ltiff -lpng -lcnbpcnclapi401 -lcnbpcnclbjcmd401 -lcnbpcnclui401 -lpopt
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpcmcm401
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lcnbpess401
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[2]: *** [Makefile:361: cif] Ошибка 1
make[2]: выход из каталога «/var/tmp/portage/net-print/cnijfilter-drivers-3.80/work/cnijfilter-source-3.80-1/mp230/cnijfilter/src»
make[1]: *** [Makefile:355: all-recursive] Ошибка 1
make[1]: выход из каталога «/var/tmp/portage/net-print/cnijfilter-drivers-3.80/work/cnijfilter-source-3.80-1/mp230/cnijfilter»
make: *** [Makefile:296: all] Ошибка 2
* ERROR: net-print/cnijfilter-drivers-3.80::gentoo-zh failed (compile phase):
[/console]
Вот эти файлы
[console]server cnijfilter-drivers # ls /tmp/cnijfilter-source-3.80-1/401/libs_bin64/
libcnbpcmcm401.so libcnbpcnclbjcmd401.so libcnbpess401.so
libcnbpcmcm401.so.8.10.1 libcnbpcnclbjcmd401.so.3.3.0 libcnbpess401.so.4.1.3
libcnbpcnclapi401.so libcnbpcnclui401.so libcnbpo401.so
libcnbpcnclapi401.so.3.8.0 libcnbpcnclui401.so.3.8.0 libcnbpo401.so.1.0.1[/console]
Makefile.am

Показать
text
INCLUDES = \
    -I$(top_srcdir)/include/cncl \
    -I$(top_srcdir)/include/misc

bin_PROGRAMS = cif

cif_SOURCES = \ bjferror.c \ bjferror.h \ bjfilter.c \ bjfilter.h \ bjfimage.c \ bjfimage.h \ bjfoption.c \ bjfoption.h \ bjfpos.c \ bjfpos.h \ bjipc.h \ bjfrcaccess.c \ bjfrcaccess.h \ bjfversion.h \ getipc.c \ bjflist.c \ uitypes.h

cif_LDADD = -lcnbpcmcm@CNCL_LIB_ID@ -lcnbpess@CNCL_LIB_ID@ -lm -ldl -ltiff -lpng\ -lcnbpcnclapi@CNCL_LIB_ID@ -lcnbpcnclbjcmd@CNCL_LIB_ID@ -lcnbpcnclui@CNCL_LIB_ID@ -lpopt cif_LDFLAGS = -L../../@CNCL_LIB_ID@/libs_bin@ARC@

Замена -lcnbpcmcm на -libcnbpcmcm и т.д. в файле Makefile.am не помогла

12.09.2017 23:24 #425078

/tmp/cnijfilter-source-3.80-1/401/libs_bin64/
-L../../401/libs_bin64
выход из каталога «/var/tmp/portage/net-print/cnijfilter-drivers-3.80/work/cnijfilter-source-3.80-1/mp230/cnijfilter/src»

Все с путями нормально? Он при сборке ожидает библиотеки на 2 уровня выше, но по приведенному фрагменту этого не видно... Сверьте пути.

13.09.2017 09:21 #425082
bormant написал:
/tmp/cnijfilter-source-3.80-1/401/libs_bin64/
-L../../401/libs_bin64
выход из каталога «/var/tmp/portage/net-print/cnijfilter-drivers-3.80/work/cnijfilter-source-3.80-1/mp230/cnijfilter/src»

Все с путями нормально? Он при сборке ожидает библиотеки на 2 уровня выше, но по приведенному фрагменту этого не видно... Сверьте пути.

Первая строка - это вручную распакованные исходники чтобы отредактировать Makefile.am, но, как говорил выше, это не помогло (заменил в нём -lcnbpcnclapi на -libcnbpcnclapi, где оно находит правильные имена файлов, непонятно)

13.09.2017 10:18 #425083

Попробуйте использовать другой ебилд тыц.
Получение прямых ссылок на файл ->Raw

13.09.2017 18:57 #425090
"Wehrmacht_Rover" написал:
заменил в нём -lcnbpcnclapi на -libcnbpcnclapi

не надо этого делать. Тут ведь вот какая штука...

0) исполняемый файл -- x86_64-pc-linux-gnu-gcc -- это компилятор gcc
1) -lcnbpcnclap -- это ключ "-l" и его параметр "cnbpcnclap"
2) ключ -l -- это указание прилинковать библиотеку
3) cnbpcnclap -- это имя библиотеки
4) чтобы из имени библиотеки получить имя файла, линкер добавляет префикс "lib" ...
5) ... и будет искать библиотеку libcnbpcnclap

13.09.2017 20:28 #425091

bormant
Это уже лишнее, я уже дал сылку на ебилд который нормально собирается. Там причина что конфиг Makefile.am и другие файлы копируются в определенный каталог, а пути при этом в конфиге остаются прежними, вот и получается балалайка. Изначально ебилд нерабочий и рабочим ни когда и не был.

13.09.2017 23:43 #425095

ormorph,
это для понимания, чтобы не было потом "заменил в нём -lcnbpcnclapi на -libcnbpcnclapi".
Понимание лишним не будет.

14.09.2017 10:18 #425096
ormorph написал:
Попробуйте использовать другой ебилд тыц.
Получение прямых ссылок на файл ->Raw

Большое спасибо за подсказку.
Но как оттуда что-либо скачать? *SCRATCH* Непонятно, хоть убейся, как получить ссылку.
И почему в списке этого репозитария нет этого самого cnijfilter-drivers? Как его нашли? %)

14.09.2017 10:39 · отредактировано #425098

Скачал все-таки *YAHOO*
Какой же это секас, с этого гитхаба скачивать :!
Полчаса потратил, сначала клонировал весь репозиторий, но там, как ни странно, этого пакета не оказалось %) :D
Добавлено: 14th Sep 2017 10:39:00

Klim написал:
Wehrmacht_Rover, https://github.com/mfld-fr/gentoo/tree/759d63ea37e81c20055e6a87625d0c51518e80f9 кнопка clone or download, там выберите Download ZIP, а потом уже из архива дернете.

А фигли :P

Wehrmacht_Rover написал:
но там, как ни странно, этого пакета не оказалось

Как это вообще? *CRAZY*

14.09.2017 14:00 · отредактировано #425099
"Wehrmacht_Rover" написал:
Как это вообще?

Да не обязательно клонировать весь репозиторий, если можно просто скачать каждый файл отдельно.
Просто щелкаешь по файлу, затем щелкаешь кнопку Raw и далее копируешь адрес в адресной строке, а далее скачиваешь wget:
[console]$ wget адрес[/console]
Если нужен репозиторийс данным ебилдом, то можно скачать так:

text
$ git clone https://github.com/mfld-fr/gentoo --branch cnijfilter-1
Войдите или зарегистрируйтесь, чтобы ответить.