Difference between revisions of "Multilib"

From ArchWiki
Jump to: navigation, search
(lib32-libstdc++5 fix)
m (change recommended command from -Sy to -Syy)
(31 intermediate revisions by 19 users not shown)
Line 1: Line 1:
Multilib support is coming to Arch, see: http://mailman.archlinux.org/pipermail/arch-dev-public/2010-August/017702.html
+
[[Category:Arch64]]
 +
[[Category:Package management]]
 +
[[ja:Multilib]]
 +
[[ru:Multilib]]
 +
Enabling the [multilib] repository allows the user to run and build 32-bit applications on 64-bit installations of Arch Linux. [multilib] creates a directory containing 32-bit instruction set libraries inside {{ic|/usr/lib32/}}, which 32-bit binary applications may need when executed.
  
The repository can be found here:
+
To use the [[Official_Repositories#.5Bmultilib.5D|[multilib] repository]], uncomment the following from {{ic|/etc/pacman.conf}}:
  
 
  [multilib]
 
  [multilib]
 
  Include = /etc/pacman.d/mirrorlist
 
  Include = /etc/pacman.d/mirrorlist
  
== TODO list ==
+
You will then need to update the package list by running {{ic|pacman}} with the {{ic|-Syy}} switch.
  
* build [[Multilib_Project/Needed_Packages]] using the new toolchain (done)
+
== Directory structure ==
* clean up lib32 stuff from community (done)
+
* arch-multilib mailing list (done)
+
* infrastructure (folders) on sigurd for the new repository (done)
+
* adjust dbscripts so cleanup doesn't kill our packages (done)
+
* world domination (pending)
+
  
== Developers and TUs interested in helping with multilib ==
+
A 64-bit installation of Arch Linux with [multilib] enabled follows a directory structure similar to Debian. The 32-bit compatible libraries are located under {{ic|/usr/lib32/}}, and the native 64-bit libraries under {{ic|/usr/lib/}}.
  
* Thomas Bächler
+
== See also ==
* Jan Steffens
+
* Sven-Hendrik Haase
+
* Ionut Biru
+
* Rémy Oudompheng
+
* Laurent Carlier
+
* Devin Cofer
+
* ...
+
  
 
+
* [[Arch64 FAQ#Multilib Repository - Multilib Project]]
== lib32-libstdc++5 fix ==
+
* [//mailman.archlinux.org/mailman/listinfo/arch-multilib arch-multilib] mailing list
 
+
If your system complains that it "could not satisfy dependencies" because "lib32-libstdc++5" requires the package "lib32-gcc" then these are the steps that can be taken to fix this problem.
+
 
+
1) Make sure that you have added this to pacman.conf
+
 
+
[multilib]
+
Include = /etc/pacman.d/mirrorlist
+
 
+
2) The make sure to update your pacman package list:
+
 
+
pacman -Syy
+
 
+
3) Next remove lib32-libstdc++5
+
 
+
pacman -Rd lib32-libstdc++5
+
 
+
4) Then upgrade your system.
+
 
+
pacman -Syu
+
 
+
5) Then install the multilib gcc package
+
 
+
pacman -S gcc-multilib
+
 
+
6) Download the PKGBUILD for lib32-libstdc++5
+
 
+
http://aur.archlinux.org/packages.php?ID=11191
+
 
+
7) Extract the contents of the PKGBUILD and modify the PKGBUILD by replacing the dependency "lib32-gcc" with the words "gcc-multilib"
+
 
+
8) Run `makepkg` to build the package (make sure you do NOT run makepkg as root or sudo)
+
 
+
9) Install the lib32-libstdc++5 package which makepkg built for you
+
 
+
pacman -U lib32-libstdc++5-3.3.6-3-x86_64.pkg.tar.xz
+
 
+
 
+
I hope this helps.
+

Revision as of 22:13, 5 April 2013

Enabling the [multilib] repository allows the user to run and build 32-bit applications on 64-bit installations of Arch Linux. [multilib] creates a directory containing 32-bit instruction set libraries inside /usr/lib32/, which 32-bit binary applications may need when executed.

To use the [multilib] repository, uncomment the following from /etc/pacman.conf:

[multilib]
Include = /etc/pacman.d/mirrorlist

You will then need to update the package list by running pacman with the -Syy switch.

Directory structure

A 64-bit installation of Arch Linux with [multilib] enabled follows a directory structure similar to Debian. The 32-bit compatible libraries are located under /usr/lib32/, and the native 64-bit libraries under /usr/lib/.

See also