新しいFujitsuLifeBookP1630にKubuntu13.04(64ビット)をインストールし、いくつかのパッケージを追加しました。
最初にaptitude
、次にaptitude update && safe-upgrade
、次にxinput-calibrator
(システムを再起動するたびに再度実行する必要があることを除いて、動作しているようです)、次にgcc
、make
、build-essential
、checkinstall
、binutils
、およびlinux-source
。
次に、ページからリンクされているファイル cybergene-fujitsu-usb-touchscreen-112fdb75b406.Zip をダウンロードしました https://bitbucket.org/cybergene/fujitsu-usb-touchscreen/overview (とらえどころのないv0.3.9だと思いますが、どこからでもその名前でリンクされているようには見えません);その内容をディレクトリ~/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406
に抽出し、make
を実行しようとしました。コンソール(er、Konsole)のトレースは以下のとおりです。
archelon@ingelrayok:~/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406$ make
make -C /lib/modules/3.8.0-30-generic/build M=/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406 modules
make[1]: Entering directory `/usr/src/linux-headers-3.8.0-30-generic'
CC [M] /home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.o
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c: In function ‘usb_u810_tablet_irq’:
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:133:4: error: implicit declaration of function ‘dbg’ [-Werror=implicit-function-declaration]
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:182:3: error: implicit declaration of function ‘err’ [-Werror=implicit-function-declaration]
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c: In function ‘usb_u810_tablet_probe’:
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:246:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:253:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:263:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:270:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:277:6: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:302:5: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:358:5: error: called object ‘err’ is not a function
/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.c:366:5: error: called object ‘err’ is not a function
cc1: some warnings being treated as errors
make[2]: *** [/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/fujitsu_usb_touchscreen.o] Error 1
make[1]: *** [_module_/home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.8.0-30-generic'
make: *** [fujitsu_usb_touchscreen.ko] Error 2
archelon@ingelrayok:~/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406$
また、他のコンピューターであるKubuntu12.04を実行しているToshibaSatelliteR10ではmake
がエラーなしで完了することにも注意してください。このマシンには、スタイラス付きの(完全に機能する)タブレットもあります。 (東芝のタブレットは、富士通のUSB抵抗膜方式タッチスクリーンとは対照的に、アクティブデジタイザーを備えたWacomです)。だから、おそらく私はいくつかのパッケージなどを見逃しているだけです---私は何年も何もコンパイルしておらず、特にそれが得意ではありませんでした。たぶんあなたは私を整理することができます。
更新:13.04を12.04 LTSに置き換え、/ homeパーティションを保持すると、パッケージがコンパイルされます。make
はエラーなしで完了します。ただし、make install
はそうではありません。 [正確には、checkinstall
(またはSudo checkinstall
)を実行しました。これはmake install
を呼び出します。これは、前者が後者の単純なアップグレードであることがわかるためです(少なくとも私の目的では)、パッケージ管理システムとの統合を提供します。]最初は、次のエラーで失敗しました。
make: execvp: /etc/init.d/fujitsu_touchscreen: Permission denied
make: *** [install] Error 127
調査の結果、影響を受けるファイルでchmod +x
を使用してみました。
$ Sudo chmod +x /etc/init.d/fujitsu_touchscreen
Sudo checkinstall
を再度実行すると、アクセス許可エラーが解決されたように見えます。再び失敗する前に、それははるかに進んでいきます。 stdoutに出力するために提供するログには、次のようなdpkg
エラーが表示されます。
dpkg: error processing /home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/cybergene-fujitsu-usb-touchscreen-112fdb75b406_AMD64.deb (--install):
unable to create `/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy.dpkg-new' (while processing `/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy'): No such file or directory
そして、確かに、/sys/module/fujitsu_usb_touchscreen/parameters/touch_maxy
はありますが、/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy
はありません。どうやら誤植がどこかに導入されたようです。したがって、私はそれを見つけて修正する必要があります。しかし、残念ながら、メイクファイルのinstall;
セクション以外の場所を見つけることはほとんどできず、そこにはありません。 (代わりにinstall
ファイルがあることは理解していますか?しかし、この場合はありません。)...ヘルプ?
(これは完全に別個の問題であるため、別の質問をしました: `make install`は明らかにタイプミスが原因で失敗しますが、makefileでは失敗しません:どのように見つけて修正しますか? )
UPDATE 2013-10-18Kubuntu 12.04を再インストールした後、今回は/ homeパーティションを再作成します(これも13.04のインストール中に生成されました)。 )、すぐ上の奇妙なエラーを再現できなくなりました。アンダースコアがスラッシュにどのように変更されたかはまだ知りたいのですが、誰にもわからないようです。このパッケージに対してcheckinstall
を正常に実行できていないのに、make install
を実行したことにも注意してください。 /etc/init.d/fujitsu_touchscreen
の実行とhal
のインストールが必要であり、インストールが完了するとすぐにGUIがフリーズし、その後気付いた特別な新機能はなく、システムは再開できなくなります。一時停止から。 Magick Rotation パッケージが私が探していたすべてを提供できるように見えるので、私はその後fujitsu-usb-touchscreen
への興味を失いました。ただし、「すぐに使用できる」機能はありません。 バグレポート を提出しました。これには、発見したエレガントでない回避策も記載されています。
fujitsu_usb_touchscreen.cは、同封のREADMEファイルが「Fujitsuusbタッチスクリーンカーネルモジュールとユーティリティv0.3.5」を報告しているにもかかわらず、v0.3.9だと言っています。これを言うのは嫌ですが、「私にとってはうまくいきます」:
_wget https://bitbucket.org/cybergene/fujitsu-usb-touchscreen/get/112fdb75b406.Zip
unzip 112fdb75b406.Zip
cd cybergene-fujitsu-usb-touchscreen-112fdb75b406
make
_
3つの可能性:
おそらくZipファイルが壊れていますか?もう一度ダウンロードして、抽出/作成の手順を繰り返してみてください。
現在のlinux-headersパッケージがインストールされていることを確認してください(これは、linux/kernel.h、linux/slab.h、linux/module.h、linux/init.h、linux/usb /input.hなどに必要です。 )。例:_find /usr/src/ -iname slab.h
_
パッケージの作者は、「パッケージのインストールに問題がある場合は、私にメールを送ってください」と言っています。もうやってみましたか?
--beg:edit
私はVirtualBoxゲストでこれをテストしてきました。私が使っていたものは、少し前にkubuntu-13.04-desktop-i386.isoからインストールされたもので、おそらくいくつかの追加のヘッダーがあり、それが幸せでした。
Kubuntu-13.04-desktop-AMD64.isoからクリーンなゲストをインストールしたところ、エラーを再現できました。何が起こっているのかわかりませんが、fujitsu_usb_touchscreen.cでインクルードの直後に次の行を追加すると、エラーなしでコンパイルされます。
_#define dbg(args...) printk(args)
#define err(args...) printk(args)
_
また、usb_u810_tablet_probe()関数は_int err
_を定義しますが、これは人間とerr()
関数/マクロを混同します。
お役に立てれば!