Ubuntu

gettext fails to install; package relationships should be with "gettext:any", "gettext-base:any", or are not required/useful at all

Reported by k0kicha on 2012-03-13
658
This bug affects 129 people
Affects Status Importance Assigned to Milestone
gettext (Ubuntu)
Undecided
Unassigned
Precise
Undecided
Unassigned
Quantal
Undecided
Unassigned
Raring
Undecided
Unassigned
wine1.4 (Ubuntu)
Medium
Scott Ritchie
Precise
Medium
Scott Ritchie
Quantal
Medium
Scott Ritchie
Raring
Medium
Scott Ritchie

Bug Description

[IMPACT]

This bug can make Wine uninstallable in some cases.

[TESTCASE]

Install wine1.4. See comment #13

[Regression Potential]

gettext was never needed for Wine's installed binaries, so none is forseen

[Other Info]

This may be a workaround to a bug in apt, as it seems to have a logical failure here since it is failing to install due to a package listed only in Recommends. Fixing apt would be more risky.

[ORIGINAL REPORT]

I simply checked for updates and hit the update button. After some time this error appeared.

ProblemType: Package
DistroRelease: Ubuntu 12.04
Package: gettext 0.18.1.1-5ubuntu3
ProcVersionSignature: Ubuntu 3.2.0-18.29-generic 3.2.9
Uname: Linux 3.2.0-18-generic x86_64
ApportVersion: 1.94.1-0ubuntu2
Architecture: amd64
Date: Tue Mar 13 15:22:20 2012
DuplicateSignature:
 Unpacking wine1.4 (from .../wine1.4_1.4-0ubuntu1_amd64.deb) ...
 Selecting previously unselected package gettext-base:i386.
 dpkg: error processing /var/cache/apt/archives/gettext-base_0.18.1.1-5ubuntu3_i386.deb (--unpack):
  gettext-base:i386 0.18.1.1-5ubuntu3 (Multi-Arch: no) is not co-installable with gettext-base:amd64 0.18.1.1-5ubuntu3 (Multi-Arch: no) which is currently installed
ErrorMessage: gettext:i386 0.18.1.1-5ubuntu3 (Multi-Arch
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
SourcePackage: gettext
Title: package gettext 0.18.1.1-5ubuntu3 failed to install/upgrade: gettext:i386 0.18.1.1-5ubuntu3 (Multi-Arch
UpgradeStatus: Upgraded to precise on 2012-03-13 (0 days ago)

k0kicha (nikifun) wrote :
tags: removed: need-duplicate-check
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gettext (Ubuntu):
status: New → Confirmed
Jan Holthuis (holthuis-jan) wrote :

This bug is extremly annoying, as it also prevents users from installing various packages (e.g. wine).

Shaheed Haque (srhaque-i) wrote :

Indeed. Please can this bug be reviewed with a view to increasing its Importance?

Craig Hansen (craig-hansen) wrote :

I got this error on the first attempt to install, but as far as I can tell, everything completed ok on the second attempt. I was installing a large number of packages at once with apt-get install, so I'm not sure what app this package relates to. In any case, rerunning the same apt-get install command completed without errors.

I found a way to install wine via Synaptic:

Before you begin, make sure all wine* and wine-gecko* packages are removed (I'm not sure if that's necessary, but that was my starting point in trying to work around this problem).

First, select to install the "wine" package. It will warn you that it's going to mark debhelper (etc) for removal. Go ahead and let it mark them.

Next, go to Custom Filters > Marked Changes, and for each thing it wanted to remove (red), right click the package and choose "Unmark".

Finally, choose "Apply" and it should complete successfully.

Good luck!

resplin (resplin) wrote :

This is still a problem. Anyone know how to work around it from the command line?

resplin (resplin) wrote :

After doing some research in the issue queue, it appears that this is really a problem with the Aptitude problem resolver and multi-arch.

apt-get install sees the gettext:i386 dependency as a "recommends" and doesn't install it.

See https://bugs.launchpad.net/ubuntu/+source/aptitude/+bug/975898

and

https://bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768

opensshd (opensshd) wrote :

Workaround - amd64 12.04 - stock repos:

sudo apt-cache policy wine

returns 1.4.0

sudo apt-get build-dep wine

Downloaded the source code for it here:

[url]http://sourceforge.net/projects/wine/files/Source/wine-1.4.tar.bz2/download[/url]

After build dep is done I:

$ ./configure --without-x --without-freetype
$ make
$ sudo make install

Wine installs no errors.

Then as the workaround to the GUI frontend I:

sudo apt-get install q4wine

QT GUI works =]

opensshd (opensshd) wrote :

Winetricks Included ^ ^

opensshd (opensshd) wrote :

And no, I should add, this way never asked me to remove any packages. Definitely not a fix.

opensshd (opensshd) wrote :

sudo apt-get install --purge --reinstall wine

this command now works without requiring removal of packages...

Daniel Hartwig (wigs) wrote :

Almost all duplicates here have wine1.4 packages involved.

Binary packages wine1.4-i386 and wine1.4-amd64 both have “Recommends: gettext”, which is Multi-Arch: allowed. As a result the system attempts to install both gettext:i386 and gettext:amd64, which is not allowed. The wine1.4 packages should whether they actually use the package gettext (see below) and, if so, whether using “Recommends: gettext:any” is more appropriate.

The direct recommends was introduced with this change:

wine1.4 (1.4-0ubuntu1) precise; urgency=low

  * New upstream release
    - Bug fixes only, we are in code freeze.
  * debian/control:
    - break/replace packages before 1.4
    - Add a lot of optional packages to the list of recommends that were not
      auto-depended on by dh_shlibdeps: gettext, […]

-- Scott Ritchie <email address hidden> Sun, 11 Mar 2012 07:42:41 -0700

however, runtime library support for gettext is provided in the libgettextpo0 package which is correctly included in ${shlibs:Depends}. The package gettext should only be interesting for it's tools and shell script support. Unless wine is using gettext in shell scripts or manipulating po, gmo files at runtime it probably does not need this package at all.

Daniel Hartwig (wigs) wrote :

> install both gettext:i386 and gettext:amd64, which is not allowed. The
> wine1.4 packages should *consider* whether they actually use the package gettext …

Daniel Hartwig (wigs) wrote :

At this point the issue is invalid for gettext. This actual cause is other packages declaring inappropriate relationships with gettext. See previous comment.

Changed in gettext (Ubuntu):
status: Confirmed → Invalid
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in wine1.4 (Ubuntu):
status: New → Confirmed

At least one report here (bug #977078) features playonlinux which depends on gettext-base. That report also contains the wine1.4 packages which are problematic, though since playonlinux is arch: all and appears to be using gettext-base for it's shell script support the dependency in playonlinux could be changed to gettext-base:any to avoid problems.

Playonlinux maintainers, please invalidate this task on your package if you have assessed this and disagree.

summary: - package gettext 0.18.1.1-5ubuntu3 failed to install/upgrade:
- gettext:i386 0.18.1.1-5ubuntu3 (Multi-Arch
+ gettext fails to install; package relationships should be with
+ "gettext:any" or are not required/useful
summary: gettext fails to install; package relationships should be with
- "gettext:any" or are not required/useful
+ "gettext:any", "gettext-base:any", or are not required/useful at all
Daniel Hartwig (wigs) wrote :

Structure of gettext packaging in Debian is currently being discussed <http://bugs.debian.org/683751>, and it is likely this will no longer be an issue for playonlinux.

The wine1.4 recommends still needs to be examined.

Changed in playonlinux (Ubuntu):
status: New → Invalid
Daniel Hartwig (wigs) on 2012-10-08
no longer affects: playonlinux (Ubuntu)
Daniel Hartwig (wigs) wrote :

Recently brought up on debian-devel@ [1].

Wine maintainers, your “Recommends: gettext” is most likely incorrect. Please attend to this issue.

[1] http://lists.debian.org/debian-devel/2012/10/msg00410.html

Changed in gettext (Ubuntu Quantal):
status: New → Invalid
Changed in gettext (Ubuntu Precise):
status: New → Invalid
Changed in wine1.4 (Ubuntu Precise):
assignee: nobody → Scott Ritchie (scottritchie)
Changed in wine1.4 (Ubuntu Quantal):
assignee: nobody → Scott Ritchie (scottritchie)
Changed in wine1.4 (Ubuntu Raring):
assignee: nobody → Scott Ritchie (scottritchie)
Changed in wine1.4 (Ubuntu Quantal):
status: New → Confirmed
Changed in wine1.4 (Ubuntu Precise):
status: New → Triaged
importance: Undecided → Medium
Changed in wine1.4 (Ubuntu Quantal):
status: Confirmed → Triaged
importance: Undecided → Medium
Changed in wine1.4 (Ubuntu Raring):
importance: Undecided → Medium
status: Confirmed → Triaged
Scott Ritchie (scottritchie) wrote :

Depending on foo:any was not allowed in the Precise cycle, unfortunately. The update for Wine will have to make use of the wine1.4-common package as a workaround.

I do believe Wine needs more than just the library. It does some odd things with po files and windows format translations. I am double-checking with upstream now though.

Daniel Hartwig (wigs) wrote :

> I am double-checking with
> upstream now though.

Appreciated.

Scott Ritchie (scottritchie) wrote :

Upstream says even libgettext isn't needed at runtime, apparently -- Wine only needs to build the translations into the windows format, and then just uses those. I'm prepping an SRU.

On 1 November 2012 10:23, Scott Ritchie <email address hidden> wrote:
> Upstream says even libgettext isn't needed at runtime, apparently --
> Wine only needs to build the translations into the windows format, and
> then just uses those. I'm prepping an SRU.

Makes sense. The Debian packaging does not contain any explicit
relationship with gettext.

draco (draco31-fr) wrote :

Great !!!

I have installed PlayOnLinux yesterday on Xubuntu Precise 64 bits, about
400 MB of i386 packages were required. Pretty huge !

Thank you for your analysis and actions with upstream developpers ;-)

draco
Le 1 nov. 2012 03:23, "Scott Ritchie" <email address hidden> a écrit :

> Upstream says even libgettext isn't needed at runtime, apparently --
> Wine only needs to build the translations into the windows format, and
> then just uses those. I'm prepping an SRU.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/954029
>
> Title:
> gettext fails to install; package relationships should be with
> "gettext:any", "gettext-base:any", or are not required/useful at all
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/gettext/+bug/954029/+subscriptions
>

description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package wine1.4 - 1.4.1-0ubuntu2

---------------
wine1.4 (1.4.1-0ubuntu2) raring; urgency=low

  * Drop wine1.4-common package and use :any depends for multiarch
  * Remove recommends on gettext (LP: #954029)
  * Add CFLAGS="-DIP_UNICAST_IF=50" to configure (LP: #1065640)
  * Remove wine1.2 and wine1.3 dummy packages
    - Replaces all versions of them
 -- Scott Ritchie <email address hidden> Fri, 09 Nov 2012 14:06:10 -0800

Changed in wine1.4 (Ubuntu Raring):
status: Triaged → Fix Released
Daniel Hartwig (wigs) wrote :

Scott, any chance of an SRU?

To post a comment you must log in.