Epson Stylus Photo T50 Series (ebuild)

Драйвер принтеров Artisan 50, Epson Stylus Photo P50/T50/T59/T60
Домашняя страница: http://avasys.jp/eng/
Лицензия LGPL 2.1
Исходники: http://linux.avasys.jp/drivers/pips/src/pips-common-3.7.0.tar.gz
Ебилдов нигде не нашел :(

UPD
Нашел еще вот эти исходники: http://linux.avasys.jp/drivers/lsb/epson-inkjet/stable/SRPMS/epson-inkjet-printer-stylus-photo-t50-series-1.0.0-1lsb3.2.src.rpm

UPD2
Создал ебилд-реквест

UPD3
Удалось-таки почти во всем разобраться и написать более-менее работающий ебилд, который уже лежит в багзилле (хотя багу и закрыли :)). Репоман, правда, ругается. Но по крайней мере все собирается и почти все работает. Разве что под рукой нет принтера, чтоб проверить самое главное - собственно печать.
- Не работает Status Monitor. Вылетает с непонятной ошибкой PIPS Error: Out of memory.

:)

Не это?

Это первое, что нашел. Но там

Это первое, что нашел. Но там драйвер только для G700.

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Поправьте ebuild сами. Был бы

Поправьте ebuild сами. Был бы под рукой такой принтер - можно было поизвращаться.
Кстати, версия дров далеко не последняя: см. http://linux.avasys.jp/drivers/pips/src/

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

Спасибо за подсказку. Сам я

Спасибо за подсказку.
Сам я что-то не догадался посмотреть содержимое каталога.
Однако проблемы это не решает.

Я пробовал написать ебилд. Что для версии 3.7, что для 3.8 в процессе компиляции получаю одну и ту же ошибку:

x86_64-pc-linux-gnu-gcc -DLOCALE_PATH=\"/usr/share/locale\" -D_LPR_DIRECT -O2 -pipe -ftracer -fomit-frame-pointer -funroll-loops -march=native -mfpmath=sse -mmmx -msse -msse2 -msse3 -Wall -Wl,-O1 -Wl,--as-needed -o .libs/pips-filter debug.o pfatt.o pfimg.o pfpng.o pips-filter.o pngfilter.o rawfilter.o  -lstdc++ ../../libltdl/.libs/libltdlc.a -ldl /usr/lib64/libxml2.so -lz -lm ../../Core/libutils/.libs/libpips-utils.so -lpthread 
../../Core/libutils/.libs/libpips-utils.so: undefined reference to `xmlStrcmp'
../../Core/libutils/.libs/libpips-utils.so: undefined reference to `xmlDocGetRootElement'
../../Core/libutils/.libs/libpips-utils.so: undefined reference to `xmlNodeListGetString'
../../Core/libutils/.libs/libpips-utils.so: undefined reference to `xmlFreeDoc'
../../Core/libutils/.libs/libpips-utils.so: undefined reference to `xmlParseFile'
../../Core/libutils/.libs/libpips-utils.so: undefined reference to `xmlGetProp'
../../Core/libutils/.libs/libpips-utils.so: undefined reference to `xmlFree'
collect2: ld returned 1 exit status
make[3]: *** [pips-filter] Ошибка 1
make[3]: Leaving directory `/var/tmp/portage/net-print/pips-common-3.8.0/work/pips-common-3.8.0/Core/pips-filter'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/var/tmp/portage/net-print/pips-common-3.8.0/work/pips-common-3.8.0/Core'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/net-print/pips-common-3.8.0/work/pips-common-3.8.0'
make: *** [all] Ошибка 2
emake failed

Что самое странное, если распаковать сорцы и скомпилировать вручную - никаких ошибок не обнаруживается. :(
ЧЯДНТ?

Вот набросок на ебилд, с которым сейчас экспериментирую.

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

EAPI="3"иsrc_unpack() {

EAPI="3"
и
src_unpack() {
unpack ${A}
и
#src_compile() {
# cd "${S}"
# ./configure || die "configure failed"
Абсолютно взаимоисключающие друг друга вещи.
Алсо, если автотулсы - поробуй eautoreconf.
Приведи его хоть к какому то вменяемому виду - тогда и пробуй. Алсо, репоман - первый друг и помощник ебилдера

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Добавь к зависимостям

Добавь к зависимостям libxml2.

Не грусти, товарищ! Всё хорошо, beautiful good!

Добавил. Но от проблемы с

Добавил. Но от проблемы с компиляцией это не избавит. libxml2 есть в системе. И причина проблемы мне пока не понятна.

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Youshi написал(а): Добавил.

Youshi написал(а):
Добавил. Но от проблемы с компиляцией это не избавит. libxml2 есть в системе. И причина проблемы мне пока не понятна.

Сравни аргументы ./configure твоей успешной сборки ручками и в логах emerge.

:wq
--
Live free or die

Методом "научного тыка"

Методом "научного тыка" выяснил, что ./configure тут совершенно ни при чем.

Однако есть подозрение, что проблема в параметрах оптимизации GCC.

Спотыкается вот на этой строчке:

x86_64-pc-linux-gnu-gcc -DLOCALE_PATH=\"/usr/share/locale\" -D_LPR_DIRECT -O2 -pipe -ftracer -fomit-frame-pointer -funroll-loops -march=native -mfpmath=sse -mmmx -msse -msse2 -msse3 -Wall -Wl,-O1 -Wl,--as-needed -o .libs/pips-filter debug.o pfatt.o pfimg.o pfpng.o pips-filter.o pngfilter.o rawfilter.o -lstdc++ ../../libltdl/.libs/libltdlc.a -ldl /usr/lib64/libxml2.so -lz -lm ../../Core/libutils/.libs/libpips-utils.so -lpthread

А вот так собирается нормально:

x86_64-pc-linux-gnu-gcc -DLOCALE_PATH=\"/usr/share/locale\" -D_LPR_DIRECT -g -O2 -Wall -o .libs/pips-filter debug.o pfatt.o pfimg.o pfpng.o pips-filter.o pngfilter.o rawfilter.o -lstdc++ ../../libltdl/.libs/libltdlc.a -ldl /usr/lib64/libxml2.so -lz -lm ../../Core/libutils/.libs/libpips-utils.so -lpthread

В связи с чем нарисовывается новый вопрос: какие флаги могли повлечь за собой это?

UPD
Или, возможно, виноваты LDFLAGS. Пока не разобрался.

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Проблема оказалась

Проблема оказалась действительно в LDFLAGS. Удалось собрать ебилд с вот таким нехитрым костылем:

sed -i Core/pips-filter/Makefile -e 's/^LDFLAGS =.*$/LDFLAGS =/g' || die 'pips-filter patching failed'
sed -i Gui/ekpd-tool/Makefile -e 's/^LDFLAGS =.*$/LDFLAGS =/g' || die 'ekpd-tool patching failed'
sed -i Gui/ekpstm/Makefile -e 's/^LDFLAGS =.*$/LDFLAGS =/g' || die 'ekpstm patching failed'
sed -i Gui/espmntg/Makefile -e 's/^LDFLAGS =.*$/LDFLAGS =/g' || die 'espmntg patching failed'

Это все, до чего я смог додуматься...
Возможно, существует более "красивое" решение?

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Возможно, существует более

Возможно, существует более "красивое" решение?

конечно сусществует.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Каков вопрос, таков ответ.

Каков вопрос, таков ответ. Ага?

Можно узнать, хотя бы, в какую сторону копать?
Что читать? Куда смотреть?

UPD
Спасибо за подробное разъяснение :)
"Красивый" метод нашел. Нашел и конкретный проблемный флаг: -Wl,--as-needed

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

http://bugs.gentoo.org/show_b

http://bugs.gentoo.org/show_bug.cgi?id=209520 -тут с этим работают

Pips Lite не поддерживает

Pips Lite не поддерживает нужный мне принтер.

PS
Вообще как-то странно там у них дрова устроены. Для каждой линейки отдельный демон в исходниках и бинарный драйвер - отдельно (но включающий бинарники демона).

Не могли чтоли одного на всех демона написать и под него разные дрова. TurboPrint же вон сделали. Жаль, что платные дрова у них :(.

Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!

Не хотят данные драйвера

Не хотят данные драйвера работать :( Опробовал на двух amd64 машинах. При попытке распечатать что угодно, ekpd сваливается в сегфолт

ekpd[11510]: segfault at 7fff00000000 ip 0000000000408950 sp 00007fffdac12300 error 6 in ekpd[400000+c000]

emerge --info тут http://dpaste.com/hold/517379/
Принтер Epson Stylus Photo T50

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".