Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > не компилится драйвер


Автор: Vasay 27.4.2008, 12:54
Доброго времени.

Возникла у меня тут проблема - запуск тачскрина на HP tx2010

Народ сделал патч для драйвера linuxwacom и говорит - все работает. Решил я поставить этот драйвер на mandriva 2008.1 64бит.

До этого, я компилил linuxwacom без патча на mandriva 2008 i586 - компилился, только работал неправильно.

А сейчас, что с патчем, что без -
Цитата

missing binary operator before token "("


Порядок моих действий:

Цитата

patch -p1 < ../usbtx2000z.patch
./configure --enable-wacom
make


и make выдает:

Код

[root@localhost linuxwacom-0.7.9-11]# make
Making all in src
make[1]: Entering directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src'
Making all in .
make[2]: Entering directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src'
rm -f wacom.4x.gz
gzip -9c < ./wacom.4x > wacom.4x.gz
make[2]: Leaving directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src'
Making all in wacomxi
make[2]: Entering directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src/waco
mxi'
make[2]: Цель `all' не требует выполнения команд.
make[2]: Leaving directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src/wacom
xi'
Making all in util
make[2]: Entering directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src/util
'
if /bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.
./../src/include -I../../src/include -I../../src/include    -Wall -pedantic -g -
O2 -D__amd64__ -MT wacomcfg.lo -MD -MP -MF ".deps/wacomcfg.Tpo" -c -o wacomcfg.l
o wacomcfg.c; \
        then mv -f ".deps/wacomcfg.Tpo" ".deps/wacomcfg.Plo"; else rm -f ".deps/
wacomcfg.Tpo"; exit 1; fi
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I. -I../../src/include -I../../src/include -I../../src
/include -Wall -pedantic -g -O2 -D__amd64__ -MT wacomcfg.lo -MD -MP -MF .deps/wa
comcfg.Tpo -c wacomcfg.c  -fPIC -DPIC -o .libs/wacomcfg.o
 gcc -DHAVE_CONFIG_H -I. -I. -I../../src/include -I../../src/include -I../../src
/include -Wall -pedantic -g -O2 -D__amd64__ -MT wacomcfg.lo -MD -MP -MF .deps/wa
comcfg.Tpo -c wacomcfg.c -o wacomcfg.o >/dev/null 2>&1
/bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -pedantic -g -O2 -D__amd64_
_   -o libwacomcfg.la -rpath /usr/local/lib -no-undefined -version-info 0:1:0 wa
comcfg.lo -L/usr/lib64 -lX11 -lXi
gcc -shared  .libs/wacomcfg.o  -L/usr/lib64 /usr/lib64/libX11.so /usr/lib64/libX
i.so  -Wl,-soname -Wl,libwacomcfg.so.0 -o .libs/libwacomcfg.so.0.0.1
(cd .libs && rm -f libwacomcfg.so.0 && ln -s libwacomcfg.so.0.0.1 libwacomcfg.so
.0)
(cd .libs && rm -f libwacomcfg.so && ln -s libwacomcfg.so.0.0.1 libwacomcfg.so)
ar cru .libs/libwacomcfg.a  wacomcfg.o
ranlib .libs/libwacomcfg.a
creating libwacomcfg.la
(cd .libs && rm -f libwacomcfg.la && ln -s ../libwacomcfg.la libwacomcfg.la)
if gcc -DHAVE_CONFIG_H -I. -I. -I../../src/include -I../../src/include -I../../s
rc/include    -Wall -pedantic -g -O2 -D__amd64__ -MT xidump.o -MD -MP -MF ".deps
/xidump.Tpo" -c -o xidump.o xidump.c; \
        then mv -f ".deps/xidump.Tpo" ".deps/xidump.Po"; else rm -f ".deps/xidum
p.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I../../src/include -I../../src/include -I../../s
rc/include    -Wall -pedantic -g -O2 -D__amd64__ -MT wacscrn.o -MD -MP -MF ".dep
s/wacscrn.Tpo" -c -o wacscrn.o wacscrn.c; \
        then mv -f ".deps/wacscrn.Tpo" ".deps/wacscrn.Po"; else rm -f ".deps/wac
scrn.Tpo"; exit 1; fi
/bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -pedantic -g -O2 -D__amd64_
_   -o xidump -L/usr/lib64 -lX11 -lXi -lm xidump.o wacscrn.o
gcc -Wall -pedantic -g -O2 -D__amd64__ -o xidump xidump.o wacscrn.o  -L/usr/lib6
4 /usr/lib64/libxcb-xlib.so /usr/lib64/libxcb.so /usr/lib64/libXi.so /usr/lib64/
libXext.so /usr/lib64/libX11.so /usr/lib64/libXdmcp.so -ldl /usr/lib64/libXau.so
 -lm
if gcc -DHAVE_CONFIG_H -I. -I. -I../../src/include -I../../src/include -I../../s
rc/include    -Wall -pedantic -g -O2 -D__amd64__ -MT xsetwacom.o -MD -MP -MF ".d
eps/xsetwacom.Tpo" -c -o xsetwacom.o xsetwacom.c; \
        then mv -f ".deps/xsetwacom.Tpo" ".deps/xsetwacom.Po"; else rm -f ".deps
/xsetwacom.Tpo"; exit 1; fi
if gcc -DHAVE_CONFIG_H -I. -I. -I../../src/include -I../../src/include -I../../s
rc/include    -Wall -pedantic -g -O2 -D__amd64__ -MT wcmAction.o -MD -MP -MF ".d
eps/wcmAction.Tpo" -c -o wcmAction.o wcmAction.c; \
        then mv -f ".deps/wcmAction.Tpo" ".deps/wcmAction.Po"; else rm -f ".deps
/wcmAction.Tpo"; exit 1; fi
/bin/sh ../../libtool --tag=CC --mode=link gcc -Wall -pedantic -g -O2 -D__amd64_
_   -o xsetwacom  xsetwacom.o wcmAction.o libwacomcfg.la
gcc -Wall -pedantic -g -O2 -D__amd64__ -o .libs/xsetwacom xsetwacom.o wcmAction.
o  ./.libs/libwacomcfg.so -L/usr/lib64 /usr/lib64/libxcb-xlib.so /usr/lib64/libx
cb.so /usr/lib64/libXi.so /usr/lib64/libXext.so /usr/lib64/libX11.so /usr/lib64/
libXdmcp.so -ldl /usr/lib64/libXau.so -Wl,--rpath -Wl,/usr/local/lib
creating xsetwacom
make[2]: Leaving directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src/util'
Making all in xdrv
make[2]: Entering directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src/xdrv
'
gcc -MM -g -O2 -D__amd64__   ./xf86Wacom.c ./wcmSerial.c ./wcmUSB.c ./wcmISDV4.c
 ./wcmXCommand.c ./wcmCommon.c ./wcmCompat.c ./wcmConfig.c ./wcmFilter.c > .depe
nd
./xf86Wacom.c:587:41: error: missing binary operator before token "("
./xf86Wacom.c:660:41: error: missing binary operator before token "("
./wcmCommon.c:79:41: error: missing binary operator before token "("
./wcmCommon.c:94:41: error: missing binary operator before token "("
./wcmCommon.c:514:41: error: missing binary operator before token "("
./wcmCommon.c:534:41: error: missing binary operator before token "("
./wcmCommon.c:626:41: error: missing binary operator before token "("
./wcmCommon.c:644:41: error: missing binary operator before token "("
./wcmCommon.c:741:41: error: missing binary operator before token "("
./wcmCommon.c:768:41: error: missing binary operator before token "("
./wcmCommon.c:1458:41: error: missing binary operator before token "("
./wcmConfig.c:88:41: error: missing binary operator before token "("
make[2]: Цель `all' не требует выполнения команд.
make[2]: Leaving directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src/xdrv'
make[1]: Leaving directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11/src'
make[1]: Entering directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11'
make[1]: Цель `all-am' не требует выполнения команд.
make[1]: Leaving directory `/home/vasay/wacom/test/linuxwacom-0.7.9-11'

Автор: bilbobagginz 27.4.2008, 13:19
думаю на этапе ./configure не было обнаружено нужных заголовков.

Автор: Vasay 27.4.2008, 14:26
bilbobagginz, 

Да, Спасибо. Не обратил внимание на варнинг.

даставил кое-что, варнинга больше нет. Но не могу найти, что я должен поставить, чтоб все было "yes"

Цитата

  BUILD ENVIRONMENT:
       architecture - x86_64-manbo-linux-gnu
       linux kernel - yes 2.6.24
       module versioning - no
       kernel source - yes /lib/modules/2.6.24.4-laptop-1mnb/source
       XFree86 source - no
       Xorg SDK - yes /usr/include/xorg
       XSERVER64 - yes
       dlloader - yes
       XLib - yes /usr/lib64
       TCL - yes /usr/include
       TK - yes /usr/include
       ncurses - yes

  BUILD OPTIONS:
            wacom.o - yes
            wacdump - yes
            xidump - yes
            libwacomcfg - yes
            libwacomxi - yes
            xsetwacom - yes
            hid.o - no
            usbmouse.o - no
            evdev.o - no
           mousedev.o - no
           input.o - no
           wacom_drv.so - yes /usr/lib64/xorg/modules/input
           wacom_drv.o - no
           wacom*_drv quirks - libc-wrapper tablet-screen-scaling IsXExtensionPointer key-events dixScreenOrigins



Добавлено через 3 минуты и 9 секунд
Если это вообще надо...

Что такое module versioning - ?
XFree86 source - это же старье?

Автор: powerfox 27.4.2008, 14:45
Цитата(Vasay @  27.4.2008,  13:54 Найти цитируемый пост)
./xf86Wacom.c:587:41: error: missing binary operator before token "("

А можно строчку кода, на которую ругань, в студию?

Автор: Vasay 27.4.2008, 14:52
powerfox, 

Данной ругани уже нету smile Не заметил, что configure дал варнинг.

Сейчас варнингов нет, но после конфигуре вылетает, то что я привел в предыдущем посте. 

Насколько я понял не хватает 
       module versioning - no
       XFree86 source - no


Автор: nickless 28.4.2008, 14:18
А сейчас оно всё равно не собирается?

Автор: Vasay 28.4.2008, 15:04
nickless, 

частично.

Так как я понятия не имею, что надо доставить, чтоб было "module versioning - yes" - такого пакета в репозитарии мандривы нет.

Автор: nickless 28.4.2008, 15:22
Цитата(Vasay @  28.4.2008,  14:04 Найти цитируемый пост)
что надо доставить, чтоб было "module versioning - yes"

Это фича ядра
Цитата

 .config - Linux Kernel v2.6.25-gentoo-r1 Configuration
 ────────────────────────────────────────────────────────────────────────
  ┌──────────────────── Module versioning support ────────────────────┐
  │ CONFIG_MODVERSIONS:                                               │
  │                                                                   │
  │ Usually, you have to use modules compiled with your kernel.       │
  │ Saying Y here makes it sometimes possible to use modules          │
  │ compiled for different kernels, by adding enough information      │
  │ to the modules to (hopefully) spot any changes which would        │
  │ make them incompatible with the kernel you are running.  If       │
  │ unsure, say N.                                                    │
  │                                                                   │
  │ Symbol: MODVERSIONS [=n]                                          │
  │ Prompt: Module versioning support                                 │
  │   Defined at init/Kconfig:821                                     │
  │   Depends on: MODULES                                             │
  │   Location:                                                       │
  │     -> Enable loadable module support (MODULES [=y])              │

И тебе она (ИМХО) не нужна smile 

Вообще обычно не нужно (а иногда это вообще невозможно), чтобы ./configure на все тесты выдала YES, так что если не собирается (make clean делал?) - выкладывай ошибки.

Автор: Vasay 5.5.2008, 12:57
Вобщем драйвер скомпилился, но возникла другая проблема - система не видит Wacom как устройство.... (т.е. нет устройства в /dev/input/ ) в mandriva 2008.0 i586 было... только я тогда с непропатченным драйвером пытался запустить... 

проверил все event-ы,  реакции на стилус нет... :-(

Автор: nickless 6.5.2008, 17:47
А в dmesg что-нибудь интересное есть?

Добавлено через 1 минуту и 19 секунд
ЗЫ Можно еще попробовать скомпилить его модулем, и понаблюдать что происходит в момент его загрузки modprobe-ом

Автор: Vasay 7.5.2008, 00:58
Цитата

А в dmesg что-нибудь интересное есть?


Есть две такие строчки:
Код

usbcore: registered new interface driver wacom
drivers/input/tablet/wacom_sys.c: v1.47:USB Wacom Graphire and Wacom Intuos tablet driver

Автор: nickless 7.5.2008, 02:27
Цитата(Vasay @  6.5.2008,  23:58 Найти цитируемый пост)
Есть две такие строчки:

Дык он вроде подхватился, а http://linuxwacom.sourceforge.net/index.php/howto/testtablet пробовал?

Автор: bilbobagginz 9.5.2008, 01:16
Цитата(Vasay @  27.4.2008,  12:54 Найти цитируемый пост)
Доброго времени.

я не знаю как у вас, а у меня планшет прекрасно на ubuntu 7.04 и выше работал "из коробки"  (Wacom Intuos 3, USB) 
под макосью надо было дрова ставить.
к чему компиляции и т.д. ? 
вы наверное еще любите себя колоть иголками от шиповника под ногтями, правда ?

Добавлено через 2 минуты и 32 секунды
Цитата(Vasay @  27.4.2008,  12:54 Найти цитируемый пост)
Возникла у меня тут проблема - запуск тачскрина на HP tx2010

я бы попробовал *buntu 8.04:
  • ubuntu - GNOME desktop
  • kubuntu - KDE desktop
  • xubuntu - XFCE desktop

мир вам.

Автор: Vasay 9.5.2008, 01:55
bilbobagginz, 

Цитата

мир вам.


Мир Вам и Вашему дому. С днем Победы!

Цитата

вы наверное еще любите себя колоть иголками от шиповника под ногтями, правда ?


Мазохизмом не страдаю, но только я не планшет запускаю, а таблетку с USB Wacom. Если Вы посмотрите, то на сайте http://linuxwacom.sourceforge.net/ написано, что таблетки поддерживаются только Serial.

Но добрые люди выпустили патч, для драйвера (usbtx2000z.patch), соответственно, мне необходимо взять исходники, пропатчить, а потом скомпилить.

Только у меня все руки не доходят нормально заняться.

Цитата

я бы попробовал *buntu 8.04:

    * ubuntu - GNOME desktop
    * kubuntu - KDE desktop
    * xubuntu - XFCE desktop


К mandrake/mandriva  я привык, да и не вижу принципиальных отличай между дистрибутивами.

Автор: bilbobagginz 9.5.2008, 02:15
ладно, насколько я понял из этого документа под убунту:
http://ubuntuforums.org/showthread.php?t=765915

есть рабочая и проверенная несколькими юзверями документашка.
попробуй пошагово просмотреть, и может быть поможет не дистрибутив, но хоть документашка.


Автор: Vasay 9.5.2008, 02:31
bilbobagginz, 

Я пользовался этой инструкцией http://ubuntuforums.org/showpost.php?p=4715731&postcount=27

Сейчас посмотрел, more /proc/bus/usb/devices

Цитата

T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#=  5 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=056a ProdID=0093 Rev= 2.54
S:  Manufacturer=Tablet
S:  Product=ISD-V4
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=7ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=8ms



Похоже, драйвер не цепляется к устройству...

Добавлено через 1 минуту и 39 секунд
Завтра попробую с i586 дистрибутивом - там у меня не патченный драйвер цеплялся. Правда реакция на стилус была не адекватной.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)