Я думал, что 11.10 должен иметь поддержку нескольких архитектур, но установка 32-разрядного .deb дает мне ошибку «неправильной архитектуры». Что мне нужно сделать, чтобы установить этот deb?
CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb
Вот результат, когда я пытаюсь принудительно выполнить установку с помощью команды force architecture
Selecting previously deselected package crossplatformui:i386.
(Reading database ... 186238 files and directories currently installed.)
Unpacking crossplatformui:i386 (from CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb) ...
Setting up crossplatformui:i386 (2.1.1) ...
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service acpid restart
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop acpid ; start acpid. The restart(8) utility is also available.
acpid stop/waiting
acpid start/running, process 2569
package libqtgui4 exist
QT_VERSION = 4
make -C /lib/modules/3.0.0-12-generic/build M=/usr/local/bin/ztemtApp/zteusbserial/below2.6.27 modules
make[1]: Entering directory `/usr/src/linux-headers-3.0.0-12-generic'
CC [M] /usr/local/bin/ztemtApp/zteusbserial/below2.6.27/usb-serial.o
/usr/local/bin/ztemtApp/zteusbserial/below2.6.27/usb-serial.c:34:28: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.
make[2]: *** [/usr/local/bin/ztemtApp/zteusbserial/below2.6.27/usb-serial.o] Error 1
make[1]: *** [_module_/usr/local/bin/ztemtApp/zteusbserial/below2.6.27] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-12-generic'
make: *** [modules] Error 2
dpkg: error processing crossplatformui:i386 (--install):
subprocess installed post-installation script returned error exit status 2
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Errors were encountered while processing:
crossplatformui:i386
Может кто-то помочь ?
Похоже, что заголовок не найден из-за многокричных изменений. Извлеките deb-файл, примените исправления, перестройте deb и установите его:
Измените каталог, содержащий debfile. Создайте временный каталог для исправления материала и перейдите в него (имя каталога было выбрано случайным образом):mkdir kasapa-deb && cd kasapa-deb
Извлеките файлы управления и установки: dpkg --control CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb
dpkg --extract CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb .
Примените исправления, отредактировав DEBIAN/postinst. Если строка с CFLAGS += еще не существует, вставьте (например, после первых прокомментированных строк, строки с ведущими #): CFLAGS += -I/usr/include/$(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)
Если она уже существует, просто добавьте часть -I ... к существующему CFLAGS (разделенные пробелом). Пока вы на нем, вы можете сделать пакет отображаемым как 64-битный, при условии, что файлы в пакете действительно 64-разрядные. Отредактируйте DEBIAN/control и измените Architecture: i386 на Architecture: amd64. Переустановите пакет, создав новый файл в родительском каталоге: dpkg-deb -b . ..
Установите новый пакет: sudo dpkg -i ../[name of the package that was just created].deb
Теперь вы можете удалить временный каталог. Это теоретически предполагается работать. Если пакет содержит двоичные файлы, которые созданы для 32-разрядных, вам также необходимо установить 32-разрядные зависимости, например libc6:
sudo apt-get install libc6:i386
Похоже, что заголовок не был найден из-за многовариантных изменений. Извлеките deb-файл, примените исправления, перестройте deb и установите его:
mkdir kasapa-deb && cd kasapa-deb
dpkg --control CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb
dpkg --extract CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb .
DEBIAN/postinst
. Если строка с CFLAGS +=
еще не существует, вставьте (например, после первых прокомментированных строк, строки с ведущими #
): CFLAGS += -I/usr/include/$(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)
Если она уже существует, просто добавьте часть -I ...
к существующему CFLAGS
(разделенные пробелом) DEBIAN/control
и измените Architecture: i386
на Architecture: amd64
. dpkg-deb -b . ..
sudo dpkg -i ../[name of the package that was just created].deb
Это теоретически предполагается работать. Если пакет содержит двоичные файлы, которые созданы для 32-разрядных, вам также необходимо установить 32-разрядные зависимости, например libc6
:
sudo apt-get install libc6:i386
Попробуйте установить его через терминал.
Вы открываете терминал и должны находиться в вашей домашней папке
user@computer:~$
type cd Downloads (или папке, в которой находится ваш пакет (d2)
user@computer:~/Downloads$
Затем введите
sudo dpkg --force-architecture -i CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb
и пакет должен быть установлен без проверки архитектуры.
Вы также можете посмотреть здесь (прокрутите вниз до модема Espresso), возможно, это поможет вам. Но в целом это делается, как я писал.
Попробуйте установить его через терминал.
Вы открываете терминал и должны находиться в вашей домашней папке
user@computer:~$
типа cd Downloads
(или в папке, в которой находится ваш пакет in), и вы должны находиться в папке загрузки
user@computer:~/Downloads$
Затем введите
sudo dpkg --force-architecture -i CrossPlatformUI-V2.1.1-Kasapa-i386-ubuntu.deb
, и пакет должен быть установлен без проверки архитектуры.
Вы также можете посмотреть здесь (прокрутите вниз до модема Espresso), возможно, это поможет вам. Но в целом это делается, как я писал.