`make install` не работает, очевидно, из-за опечатки, но не в make-файле: как найти и исправить?
Я пытаюсь установить драйверы fujitsu-usb-touchscreen здесь, на Kubuntu 12.04, на мой новый Fujitsu LifeBook P1630. (См. Fujitsu-usb-touchscreen на Kubuntu 13.04 (64-разрядная версия) на P1630: ошибки `make`.) Я загрузил файл.zip, разархивировал его и запустил make
в каталоге, созданном таким образом; все это работало как ожидалось. Тем не менее, когда я бегу sudo checkinstall
(который вызывает make install
) дела идут не так хорошо. С первой попытки установка была прервана со следующей ошибкой:
make: execvp: /etc/init.d/fujitsu_touchscreen: Permission denied
make: *** [install] Error 127
Я в конце концов решил это
$ sudo chmod +x /etc/init.d/fujitsu_touchscreen
Но хотя второй sudo checkinstall
тогда не дает execvp
ошибка, это все еще терпит неудачу на более позднем этапе, и журнал (на 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
и это, по-видимому, то, что было задумано. Но это неправильное имя файла не появляется в make-файле или любом другом файле в каталоге, по крайней мере, я не могу его найти. И при этом он не появляется, как я обнаружил после запуска sudo checkinstall --install=no
как предложено ниже, в пакете.deb, созданном checkinstall.
Откуда может возникнуть такая типографская ошибка и как мне ее исправить?
Отредактировано, чтобы добавить: я просматриваю содержимое файла.deb с ark
, Инструмент по умолчанию Kubuntu. Он содержит только три файла: control.tar.gz
, data.tar.gz
, а также debian-binary
, data.tar.gz
содержит дерево каталогов, которое, по-видимому, соответствует обычной корневой файловой системе, с каталогами /etc, /lib, /sys и /usr. (Глядя на другие файлы.deb в моей системе, эта структура выглядит типичной.) Вот скриншот:
,
( Полный размер.)
Вот еще один скриншот, показывающий, что control.tar.gz
содержит три файла, один из которых пуст:
,
( Полный размер.)
Вот фактический файл.deb: https://www.dropbox.com/s/odwxxez0fhyvg7a/cybergene-fujitsu-usb-touchscreen_112fdb75b406-1_amd64.deb
Отредактировано 2013-09-28 добавить:
После повторной установки Kubuntu 12.04, на этот раз воссоздав раздел /home (который, опять же, был создан во время установки 13.04), я больше не могу воспроизвести эту ошибку. Мне все еще любопытно узнать, как подчеркивания изменились на косые, но похоже, что никто не имеет представления. Возможно, также интересно отметить, что, хотя я до сих пор не checkinstall
против этого пакета я сделал make install
; это требует казни стабилизации /etc/init.d/fujitsu_touchscreen
и установка hal
и графический интерфейс пользователя зависает вскоре после завершения установки; после этого я не заметил каких-либо особых новых функций, и система больше не может возобновлять приостановку; однако, это будет продолжено в другом месте.
1 ответ
Существует известная проблема с checkinstall, которая генерирует ошибки файловой системы, такие как вы продемонстрировали выше. В моем собственном использовании checkinstall я обычно использую следующую опцию с моей командной строкой, чтобы обойти возможную ошибку:
sudo checkinstall --fstrans=no
Страницы руководства дают следующее:
--fstrans
Включить/выключить трансляцию файловой системы. Включенная трансляция файловой системы приводит к тому, что установка продолжается во временном каталоге, таким образом, фактически не затрагивая вашу систему.
Неудовлетворительное решение, но до тех пор, пока ошибка не будет исправлена, она кажется необходимой...