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
Post a Comment