Difference between revisions of "Using 32-bit applications on Arch64"

From ArchWiki
Jump to: navigation, search
(synchronized interlanguage links with the other wikis)
(42 intermediate revisions by 20 users not shown)
Line 1: Line 1:
==Introduction==
+
[[Category:Arch64]]
64-Bit-Processors like Athlon 64 are able to execute 32- and 64-Bit-programs ar the same time. Unfortunately the x86_64-version of Arch (Arch64) does not provide any 32-Bit-libs by default.
+
[[fr:Utiliser des applications 32bits avec Arch64]]
 
+
{{Merge|Multilib}}
Currently I am working on an easy solution to solve this. It does not use a cross-compiler nor a chroot-environment. I just make use of the arch32-packages which are allready there.
+
64-Bit-Processors like Athlon 64 are able to execute 32- and 64-bit programs at the same time.
 
+
''Note'': All libs will be installed under ''/opt/lib32''. Arch64 should not be affected by this. In the case of any problems use ''pacman -R lib32'' to remove all libs.
+
 
+
'''Atenttion''': Never try to install all libs with ''pacman -S lib32''. And do '''not''' install any arch32-package.
+
  
 
==Packages==
 
==Packages==
All 32-bit-packages can be found in the [community]-repository. The packages are kept in sync to the ones from arch32. Use them at your own risk.
+
32bit packages can now be found in the [multilib]-repository. You will need to add this repository before downloading any 32bit lib.
 +
 
 
==Installation==
 
==Installation==
You will allways need to install ''lib32-glibc'' in order to execute 32-bit-programs. It might be necessary to fake the output of ''uname''. Use the package ''linux32'' for this.
+
You will always need to install ''lib32-glibc'' in order to execute 32-bit-programs. It might be necessary to fake the output of ''uname''. Use the package ''linux32'' for this.
 +
 
 +
Some legacy C++ programs also need ''lib32-libstdc++5''.
  
Some c++-programs also need ''lib32-libstdc++5''.
 
 
===OpenGL-Applications===
 
===OpenGL-Applications===
Programs using OpenGL need one of the following libs which fits to your graphicscard:
+
Programs using OpenGL need one of the following libraries:
* nVidia: lib32-nvidia-utils
+
* Open source drivers: lib32-{ati,intel,mach64,mga,nouveau,r128,savage,sis,tdfx,unichrome}-dri
* ATI: lib32-ati-fglrx-utils
+
* Closed source drivers: lib32-{catalyst,nvidia}-utils
* DRI: (all opensource-drivers like those for Intel-chips) lib32-libgl-dri
+
* Software rendering: lib32-libgl
 +
 
 
===QT-Applications===
 
===QT-Applications===
 
Programs using QT should run at once after installing ''lib32-qt''.
 
Programs using QT should run at once after installing ''lib32-qt''.
Line 24: Line 23:
 
For Alsa and OpenAL-Support you have to install ''lib32-alsa-lib'' and ''lib32-openal''.
 
For Alsa and OpenAL-Support you have to install ''lib32-alsa-lib'' and ''lib32-openal''.
  
==Tested Applications==
+
==Environment Variables==
* Doom3, Enemy-Territory, Unreal Tournament
+
Some useful Env Variables when running 32bit-applications without chroot:
** lib32-nvidia-beta-utils, lib32-openal, lib32-alsa-lib, lib32-libstdc++5
+
* Opera
+
** lib32-qt
+
* Google Earth
+
** lib32-qt and a OpenGL-driver (see above)
+
* Skype
+
** lib32-qt, ib32-alsa-lib
+
  
[[Category:Arch64]]
+
For gtk2 input modules and such
 +
GTK_PATH=/opt/lib32/usr/lib/gtk-2.0/
 +
For pango (lib32-pango includes these config files)
 +
PANGO_RC_FILE="/opt/lib32/config/pango/pangorc"
 +
Iconv (conversion from 'XXXXXXX' is not supported or cannot convert from X to Y -errors)
 +
GCONV_PATH=/opt/lib32/usr/lib/gconv
 +
Library paths without having them in /etc/ld.so.conf
 +
LD_LIBRARY_PATH="/opt/lib32/usr/lib/:/opt/lib32/lib/:$LD_LIBRARY_PATH"
 +
GDK stuff (GdkPixbuf warnings errors criticals, lib32-gtk2 includes the file)
 +
GDK_PIXBUF_MODULE_FILE="/opt/lib32/config/gdk/gdk-pixbuf.loaders"

Revision as of 15:51, 22 February 2014

Merge-arrows-2.pngThis article or section is a candidate for merging with Multilib.Merge-arrows-2.png

Notes: please use the second argument of the template to provide more detailed indications. (Discuss in Talk:Using 32-bit applications on Arch64#)

64-Bit-Processors like Athlon 64 are able to execute 32- and 64-bit programs at the same time.

Packages

32bit packages can now be found in the [multilib]-repository. You will need to add this repository before downloading any 32bit lib.

Installation

You will always need to install lib32-glibc in order to execute 32-bit-programs. It might be necessary to fake the output of uname. Use the package linux32 for this.

Some legacy C++ programs also need lib32-libstdc++5.

OpenGL-Applications

Programs using OpenGL need one of the following libraries:

  • Open source drivers: lib32-{ati,intel,mach64,mga,nouveau,r128,savage,sis,tdfx,unichrome}-dri
  • Closed source drivers: lib32-{catalyst,nvidia}-utils
  • Software rendering: lib32-libgl

QT-Applications

Programs using QT should run at once after installing lib32-qt.

Alsa & OpenAL

For Alsa and OpenAL-Support you have to install lib32-alsa-lib and lib32-openal.

Environment Variables

Some useful Env Variables when running 32bit-applications without chroot:

For gtk2 input modules and such

GTK_PATH=/opt/lib32/usr/lib/gtk-2.0/

For pango (lib32-pango includes these config files)

PANGO_RC_FILE="/opt/lib32/config/pango/pangorc"

Iconv (conversion from 'XXXXXXX' is not supported or cannot convert from X to Y -errors)

GCONV_PATH=/opt/lib32/usr/lib/gconv

Library paths without having them in /etc/ld.so.conf

LD_LIBRARY_PATH="/opt/lib32/usr/lib/:/opt/lib32/lib/:$LD_LIBRARY_PATH"

GDK stuff (GdkPixbuf warnings errors criticals, lib32-gtk2 includes the file)

GDK_PIXBUF_MODULE_FILE="/opt/lib32/config/gdk/gdk-pixbuf.loaders"