Problems with apt-get and <package>:i386 naming - Ask Ubuntu


i trying build package 32-bit app. on 64-bit machine running 64-bit ubuntu 14.04. build successful, app runs correctly, have created .deb using debhelper, when comes install it, surprise:

# apt-get install nd-tcms-agent reading package lists... done building dependency tree reading state information... done packages not installed. may mean have requested impossible situation or if using unstable distribution required packages have not yet been created or been moved out of incoming. following information may resolve situation:  following packages have unmet dependencies:   nd-tcms-agent:i386 : depends: lib32gcc1:i386 (>= 1:4.1.1) not installable                   depends: lib32stdc++6:i386 (>= 4.4.0) not installable                   depends: libc6-i386:i386 (>= 2.17) not installable e: unable correct problems, have held broken packages. 

did mention code built successfully? , wouldn't have had, libraries not installed!

now, here's did:

# 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: 

where'd go? swear here minute ago...

guess what?!? hiding behind :i386 suffix:

# 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: 

you should know did not add depends: package hand. debhelper did. , know may not directly problem, if happen know guy had marvellous idea add : suffix "foreign" packages is, please rub nose in this, while i'm looking workaround!

or, may getting mixed-arch thing totally wrong...

thanks , luck!

and here comes workaround (i believe workaround, , not solution!):

this how package's control info looked originally:

$ 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: [...] 

i stress: depends: in there added debhelper, based on info collected during building package.

so, did try override them myself, adding debian/shlibs.local file:

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) 

(i won't go details of what's in there, there's plenty of info online , in manuals)

and now, package's control info reads:

$ 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: [...] 

now, if dependencies libs mentioned in debian/shlibs.local resolved correctly based on correct arch, or not, left your/mine best guess (maybe have put anyhting in there resolved package has :i386 variant -- that's why consider workaround, , not solution!); what's package install (and yours will, too, probably, if had faced same problem)...

cheers!


Comments

Popular posts from this blog

download - Firefox cannot save files (most of the time), how to solve? - Super User

windows - "-2146893807 NTE_NOT_FOUND" when repair certificate store - Super User