Проблемы с Кв. - добираются и <пакет>: именование i386

Я пытаюсь создать пакет для 32-разрядного приложения. на 64-разрядной машине, запускающей 64-разрядную Ubuntu 14.04. Сборка была успешна, выполнение приложения правильно, я также создал .deb для нее с помощью debhelper, но когда дело доходит до на самом деле устанавливают его, удивление:

# apt-get install nd-tcms-agent
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  nd-tcms-agent:i386 : Depends: lib32gcc1:i386 (>= 1:4.1.1) but it is not installable
                  Depends: lib32stdc++6:i386 (>= 4.4.0) but it is not installable
                  Depends: libc6-i386:i386 (>= 2.17) but it is not installable
E: Unable to correct problems, you have held broken packages.

Я упоминал, что мой код создал успешно? И это не имело бы, были те библиотеки, не установленные!

Теперь, вот то, что я сделал:

# apt-cache showpkg lib32gcc1:i386
Package: lib32gcc1:i386
Versions:

Reverse Depends:
  nd-tcms-agent:i386,lib32gcc1:i386 1:4.1.1
Dependencies:
Provides:
Reverse Provides:

Куда это пошло бы? Я клянусь, что это было здесь минуту назад...

Угадайте что?!? Это скрывалось позади :i386 суффикс:

# apt-cache showpkg lib32gcc1
Package: lib32gcc1
Versions:
1:4.9.3-0ubuntu4 (/var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty-updates_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language:
             File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages
              MD5: a31c67d540f86442c895f2663cb4d5c9
 Description Language: de
             File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-de
              MD5: a31c67d540f86442c895f2663cb4d5c9
 Description Language: en
             File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-en
              MD5: a31c67d540f86442c895f2663cb4d5c9

1:4.9-20140406-0ubuntu1 (/var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages)
 Description Language:
             File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages
              MD5: a31c67d540f86442c895f2663cb4d5c9
 Description Language: de
             File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-de
              MD5: a31c67d540f86442c895f2663cb4d5c9
 Description Language: en
             File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-en
                  MD5: a31c67d540f86442c895f2663cb4d5c9


Reverse Depends:
  nvidia-352-updates,lib32gcc1
  nvidia-352,lib32gcc1
  nvidia-340-updates,lib32gcc1
  nvidia-340,lib32gcc1
  nvidia-304-updates,lib32gcc1
  nvidia-304,lib32gcc1
  fglrx-updates-core,lib32gcc1
  fglrx-core,lib32gcc1
  libx32go5,lib32gcc1 1:4.1.1
  libx32gcc-4.8-dev,lib32gcc1 1:4.8.4-2ubuntu1~14.04.3
  lib32stdc++6-4.8-dbg,lib32gcc1 1:4.1.1
  lib32stdc++6,lib32gcc1 1:4.1.1
  lib32objc4,lib32gcc1 1:4.1.1
  lib32go5,lib32gcc1 1:4.1.1
  lib32go4,lib32gcc1 1:4.1.1
  lib32gfortran3,lib32gcc1 1:4.4.0
  lib32gcc1-dbg,lib32gcc1 1:4.9.3-0ubuntu4
  lib32gcc-4.8-dev,lib32gcc1 1:4.8.4-2ubuntu1~14.04.3
  lib32asan0,lib32gcc1 1:4.1.1
  brother-lpr-drivers-extra,lib32gcc1 1:4.1.1
  lib32stdc++6-4.6-dbg,lib32gcc1 1:4.1.1
  lib32stdc++6-4.4-dbg,lib32gcc1 1:4.1.1
  lib32objc3,lib32gcc1 1:4.1.1
  lib32go0,lib32gcc1 1:4.1.1
  gcc-4.6-multilib,lib32gcc1 1:4.6.4-6ubuntu2
  gcc-4.4-multilib,lib32gcc1 1:4.4.7-8ubuntu1
  nvidia-331-updates,lib32gcc1
  nvidia-331,lib32gcc1
  nvidia-304-updates,lib32gcc1
  nvidia-304,lib32gcc1
  fglrx-updates,lib32gcc1
  fglrx,lib32gcc1
  libx32go5,lib32gcc1 1:4.1.1
  libx32gcc-4.8-dev,lib32gcc1 1:4.8.2-19ubuntu1
  libx32gcc-4.7-dev,lib32gcc1 1:4.7.3-12ubuntu1
  lib32stdc++6-4.8-dbg,lib32gcc1 1:4.1.1
  lib32stdc++6-4.7-dbg,lib32gcc1 1:4.1.1
  lib32stdc++6,lib32gcc1 1:4.1.1
  lib32objc4,lib32gcc1 1:4.1.1
  lib32go5,lib32gcc1 1:4.1.1
  lib32go4,lib32gcc1 1:4.1.1
  lib32gfortran3,lib32gcc1 1:4.4.0
  lib32gcc1-dbg,lib32gcc1 1:4.9-20140406-0ubuntu1
  lib32gcc-4.8-dev,lib32gcc1 1:4.8.2-19ubuntu1
  lib32gcc-4.7-dev,lib32gcc1 1:4.7.3-12ubuntu1
  lib32asan0,lib32gcc1 1:4.1.1
Dependencies:
1:4.9.3-0ubuntu4 - gcc-4.9-base (5 4.9.3-0ubuntu4) libc6-i386 (2 2.2.4)
1:4.9-20140406-0ubuntu1 - gcc-4.9-base (5 4.9-20140406-0ubuntu1) libc6-i386 (2 2.2.4)
Provides:
1:4.9.3-0ubuntu4 -
1:4.9-20140406-0ubuntu1 -
Reverse Provides:

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

Или, может просто случиться так, что я получаю эту вещь смешанной дуги полностью неправильно...

Спасибо и удачи!

1
задан 26 October 2016 в 16:34

1 ответ

И здесь прибывает мое обходное решение (я действительно полагаю, что это обходное решение и не решение!):

Это - то, как информация об управлении моего пакета смотрела первоначально:

$ dpkg -I ../nd-tcms-agent_1.1-1_i386.deb
 new debian package, version 2.0.
 size 248492 bytes: control archive=624 bytes.
     410 bytes,    10 lines      control
     315 bytes,     4 lines      md5sums
 Package: nd-tcms-agent
 Version: 1.1-1
 Architecture: i386
 Maintainer: my@email-address.com
 Installed-Size: 929
 Depends: lib32gcc1 (>= 1:4.1.1), lib32stdc++6 (>= 4.4.0), libc6-i386 (>= 2.17), libcurl3-gnutls (>= 7.16.2), libzmq3 (>= 3.2.3+dfsg)
 Section: utils
 Priority: optional
 Homepage: [...]
 Description: [...]

я подчеркиваю: Depends: там были добавлены к нему debhelper, на основе информации, которую это собрало само во время создания пакета.

Так, то, что я сделал, должно было попытаться переопределить их сам путем добавления debian/shlibs.local файл:

libgcc_s                1       libgcc1 (>= 1:4.1.1)
libstdc++               6       libstdc++6 (>= 4.4.0)
libm                    6       libc6 (>= 2.17)
libpthread              0       libc6 (>= 2.17)
libc                    6       libc6 (>= 2.17)

(я не буду вдаваться в подробности того, что там, существует много информации о тот онлайн и в руководствах)

И теперь, чтения информации об управлении моего пакета:

$ dpkg -I ../nd-tcms-agent_1.1-1_i386.deb
 new debian package, version 2.0.
 size 248320 bytes: control archive=620 bytes.
      401 bytes,    10 lines      control
      315 bytes,     4 lines      md5sums
  Package: nd-tcms-agent
  Version: 1.1-1
  Architecture: i386
  Maintainer: my@email-address.com
  Installed-Size: 929
  Depends: libc6 (>= 2.17), libcurl3-gnutls (>= 7.16.2), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), libzmq3 (>= 3.2.3+dfsg)
  Section: utils
  Priority: optional
  Homepage: [...]
  Description: [...]

Теперь, если все зависимости от освобождения, упомянутого в debian/shlibs.local, на самом деле разрешены правильно на основе корректной дуги, или нет, оставлен для Вашего/вз лучшего предположения (возможно, я, возможно, просто поместил что-либо там, которое решило к пакету, который имеет a: вариант i386 - вот почему я полагаю, что это обходное решение и не решение!); то, что является бесспорным, - то, что теперь мой пакет действительно устанавливает (и Ваш желание также, вероятно, при направлении с той же проблемой)...

За Ваше здоровье!

1
ответ дан 7 December 2019 в 15:46

Другие вопросы по тегам:

Похожие вопросы: