Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SteamOS can’t install Steam (because SteamOS broke the Debian multiarch mechanism) #177

Closed
illwieckz opened this issue Apr 10, 2014 · 5 comments

Comments

@illwieckz
Copy link

Hi, installing libssl1.0.0 for both i386 and amd64 architecture from SteamOS repository does not work at all.

The head of the /usr/share/doc/libssl1.0.0/changelog.Debian.gz. file inside the libssl1.0.0:i386=1.0.1e-2+deb7u4+bsos1 package contains:

openssl (1.0.1e-2+deb7u4+bsos1) stable; urgency=low

  * Building openssl for project steamos:alchemist:main repository main
    arch i586 srcmd5 eb7fc8740831114e8be4e52be971d5f9

 -- abuild <abuild@buildd>  Tue, 11 Feb 2014 16:33:13 +0000

Hi, the head of the /usr/share/doc/libssl1.0.0/changelog.Debian.gz. file inside the libssl1.0.0:amd64=1.0.1e-2+deb7u4+bsos1 package contains:

openssl (1.0.1e-2+deb7u4+bsos1) stable; urgency=low

  * Building openssl for project steamos:alchemist:main repository main
    arch x86_64 srcmd5 eb7fc8740831114e8be4e52be971d5f9

 -- abuild <abuild@buildd>  Tue, 11 Feb 2014 16:32:56 +0000

So the diff is:

@@ -1,9 +1,9 @@
 openssl (1.0.1e-2+deb7u4+bsos1) stable; urgency=low

   * Building openssl for project steamos:alchemist:main repository main
-    arch i586 srcmd5 eb7fc8740831114e8be4e52be971d5f9
+    arch x86_64 srcmd5 eb7fc8740831114e8be4e52be971d5f9

- -- abuild <abuild@buildd>  Tue, 11 Feb 2014 16:33:13 +0000
+ -- abuild <abuild@buildd>  Tue, 11 Feb 2014 16:32:56 +0000

 openssl (1.0.1e-2+deb7u4) stable; urgency=medium

Because this file is unique regardless of the architecture, it becomes impossible to install multiple architecture versions of the same package

root@steamos:/root# LANG=C apt-get install --reinstall -V libssl1.0.0:amd64=1.0.1e-2+deb7u4+bsos1 libssl1.0.0:i386=1.0.1e-2+deb7u4+bsos1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
   libssl1.0.0:i386 (1.0.1e-2+deb7u4+bsos1)
0 upgraded, 1 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 4 258 kB of archives.
After this operation, 7 163 kB of additional disk space will be used.
Get:1 http://repo.steampowered.com/steamos/ alchemist_beta/main libssl1.0.0 amd64 1.0.1e-2+deb7u4+bsos1 [1 250 kB]
Get:2 http://repo.steampowered.com/steamos/ alchemist_beta/main libssl1.0.0 i386 1.0.1e-2+deb7u4+bsos1 [3 008 kB]
Fetched 4 258 kB in 22s (186 kB/s)
Preconfiguring packages ...
(Reading database ... 96128 files and directories currently installed.)
Preparing to replace libssl1.0.0:amd64 1.0.1e-2+deb7u4+bsos1 (using .../libssl1.0.0_1.0.1e-2+deb7u4+bsos1_amd64.deb) ...
Unpacking replacement libssl1.0.0:amd64 ...
Unpacking libssl1.0.0:i386 (from .../libssl1.0.0_1.0.1e-2+deb7u4+bsos1_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/libssl1.0.0_1.0.1e-2+deb7u4+bsos1_i386.deb (--unpack):
 trying to overwrite shared '/usr/share/doc/libssl1.0.0/changelog.Debian.gz', which is different from other instances of package libssl1.0.0:i386
Errors were encountered while processing:
 /var/cache/apt/archives/libssl1.0.0_1.0.1e-2+deb7u4+bsos1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

That breaks the apt system:

root@gollum:/root# LANG=C apt-get install --reinstall -V libssl1.0.0:amd64=1.0.1e-2+deb7u4+bsos1 libssl1.0.0:i386=1.0.1e-2+deb7u4+bsos1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
   libssl1.0.0:i386 (1.0.1e-2+deb7u4+bsos1)
0 upgraded, 1 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/3 008 kB of archives.
After this operation, 7 163 kB of additional disk space will be used.
E: Internal Error, No file name for libssl1.0.0:amd64

So we can repair the apt system but not your package:

root@gollum:/root# LANG=C apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up libssl1.0.0:amd64 (1.0.1e-2+deb7u4+bsos1) ...
Processing triggers for libc-bin ...

Trying to libssl1.0.0 for both i386 and amd64 architecture from Debian repository:

root@gollum:/root# LANG=C apt-get install --reinstall -V libssl1.0.0:amd64=1.0.1e-2+deb7u4 libssl1.0.0:i386=1.0.1e-2+deb7u4
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
   libssl1.0.0:i386 (1.0.1e-2+deb7u4)
The following packages will be DOWNGRADED:
   libssl1.0.0 (1.0.1e-2+deb7u4+bsos1 => 1.0.1e-2+deb7u4)
0 upgraded, 1 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Need to get 4 283 kB of archives.
After this operation, 7 171 kB of additional disk space will be used.
Do you want to continue [Y/n]?
Get:1 http://http.debian.net/debian/ wheezy/main libssl1.0.0 amd64 1.0.1e-2+deb7u4 [1 256 kB]
Get:2 http://http.debian.net/debian/ wheezy/main libssl1.0.0 i386 1.0.1e-2+deb7u4 [3 027 kB]
Fetched 3 062 kB in 20s (152 kB/s)
Preconfiguring packages ...
dpkg: warning: downgrading libssl1.0.0:amd64 from 1.0.1e-2+deb7u4+bsos1 to 1.0.1e-2+deb7u4
(Reading database ... 96128 files and directories currently installed.)
Preparing to replace libssl1.0.0:amd64 1.0.1e-2+deb7u4+bsos1 (using .../libssl1.0.0_1.0.1e-2+deb7u4_amd64.deb) ...
Unpacking replacement libssl1.0.0:amd64 ...
Unpacking libssl1.0.0:i386 (from .../libssl1.0.0_1.0.1e-2+deb7u4_i386.deb) ...
Setting up libssl1.0.0:amd64 (1.0.1e-2+deb7u4) ...
Setting up libssl1.0.0:i386 (1.0.1e-2+deb7u4) ...
Processing triggers for libc-bin ...

It works with Debian packages, not with yours. Something in your building tools breaks the multiarch system.

Please do not write arch-centric changelog neither common files inside multiarch Debian package

@illwieckz
Copy link
Author

Hi,

Since you deleted the 1.0.1e-2+deb7u4 version from your repository, SteamOS can’t be installed successfully on a x86_64 system if you want to install 32 bit binaries (like Steam).

Nobody can install libssl for both 32bit and 64 bit binaries on SteamOS, because your packages are broken, and your package are broken because the changelog.Debian.gz are different on the two packages for the same version.

This file has the same path in the two packages because this file is arch-independent. But the package itself is arch-centric, so it is not allowed to have different changelog files for two packages of the same binary for two differents architectures.

You broke the Debian multiarch system.

SteamOS is unusable.

@illwieckz
Copy link
Author

steam official package depend on curl which depend on libculr3 which depend on libssl1.0.0, so SteamOS can’t install Steam.

@illwieckz illwieckz changed the title Cannot install both libssl1.0.0:i386 and libssl1.0.0:amd64 on SteamOS from Steam repository (please do not write arch-centric changelog inside multiarch Debian package) SteamOS can’t install Steam (because SteamOS broke the Debian multiarch mechanism) May 22, 2014
@illwieckz
Copy link
Author

I’ve renamed this issue from:

Cannot install both libssl1.0.0:i386 and libssl1.0.0:amd64 on SteamOS from Steam repository (please do not write arch-centric changelog inside multiarch Debian package)

to:

SteamOS can’t install Steam (because SteamOS broke the Debian multiarch mechanism)

@johnv-valve
Copy link
Contributor

Fixed in today's alchemist_beta release http://steamcommunity.com/groups/steamuniverse/discussions/1/540743756995697451/

@illwieckz
Copy link
Author

Thanks, it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants