Version 17 (modified by 7 years ago) (diff) | ,
---|
Building
Platform specific index:
General Information
For running the *nix server, you will need Xvfb
or Xdummy (if available for your platform), xauth, keyboard utilities and xauth.
Switches
There are a number of build switches, which you can see with:
./setup.py --help
Many of those switches are related to picture encodings.
On some platforms with older versions of libraries, it is possible, preferable and often mandatory to build static versions of the codecs. (see "--with-static*
" flags)
Patching
There are a number of patches in the source tree that may need to be applied to build on some platforms to deal with library or tools compatibility.
In particular, many Debian versions require the "old-libav*
" patches.
[[Image(...)]] Building with distutils
For installing into a local ./install
directory as a normal user, simply run:
./setup.py install --home=./install
You then have to add the local installation directory to your PYTHONPATH
whenever you want to use xpra:
PYTHONPATH=./install/lib*/python xpra ...
To install globally for all users via sudo:
rm -rf build install sudo ./setup.py install
[[Image(...)]] Uninstall
setuptools/distutils do not provide any uninstallation mechanism, this has nothing to do with Xpra. That said, it is generally enough to remove (but you must ensure that these are the correct files as you may damage your system otherwise!):
/usr/bin/xpra /usr/lib*/python*/*-packages/xpra* /usr/share/xpra
[[Image(...)]] Fedora and [[Image(...)]] CentOS / RHEL
For building you will need to install:
yum install gcc python-devel libXtst-devel libXdamage-devel \ gtk2-devel pygtk2-devel pygobject2-devel
Fedora users can install Cython via yum:
yum install Cython
CentOS users will need to download and build from source (which is trivial), use EPEL ("Extra Packages for Enterprise Linux") or rely on third party packages.
yum install xorg-x11-server-Xorg xorg-x11-drv-dummy xorg-x11-xauth xorg-x11-xkb-utils
For x264 support, Fedora users should install the rpmfusion repository then:
yum install ffmpeg-devel x264-devel libvpx-devel
(building x264/vpx on CentOS is out of scope) At runtime, to get optimal support for PNG, JPEG and WEBP, install:
yum install python-imaging libwebp-devel
For OpenGL
support add:
yum install PyOpenGL libglpng gtkglarea2
And to run the automated tests with some OpenGL
examples:
yum install opengl-games-utils xscreensaver-gl-extras
[[Image(...)]] Debian and [[Image(...)]] Ubuntu
For building you will need to install:
apt-get install libx11-dev libxtst-dev libxcomposite-dev libxdamage-dev \ python-all-dev python-gobject-dev python-gtk2-dev cython
If you encounter "errors on char [32] keys_return .. Expected ')'
", then your version of Cython is probably too old, either upgrade it (from backports) or build it from source.
apt-get install xvfb xauth x11-xkb-utils
For x264 and vpx support, you should install:
apt-get install libx264-dev libvpx-dev libswscale-dev libavcodec-dev
Notes:
- some, generally older, distributions may not have all the development libraries available.
- Many distributions ship incomplete libvpx-dev packages that are missing the crucial vpx.pc package config file, you may want to download this copy and place it in your package config directory - at your own risk. (generally
/usr/lib/pkgconfig/
or/usr/lib64/pkgconfig/
)
[[Image(...)]] openSUSE
These instructions may not be up to date: For building you will need to install:
zypper install gcc python-cython python-devel \ gtk2-devel python-gtk-devel python-gobject2-devel
yum install xorg-x11-server-extra xorg-x11-xauth xkeyboard-config
[[Image(...)]] Gentoo
You can find up-to-date ebuilds http://xpra.org/dists/gentoo
[[Image(...)]] Arch Linux
[[Image(...)]] Microsoft Windows
Please follow these instructions to build all the required dependencies (and trim the parts that are only relevant to winswitch)
Then you can find the MS Windows specific build scripts here
[[Image(...)]] Mac OS X
Please follow these instructions to build all the required dependencies (and trim the parts that are only relevant to winswitch)
For clipboard support (client to server), you will also need to install PyObjC in the jhbuild shell (manual installation recommended)
Then you can find the OSX specific build scripts here
If you want to build the Qt4
client for OSX, see wiki/Building/OSX-Qt4
[[Image(...)]] OpenBSD
Install the following packages (ie: pkg_add
them):
pkg_add py-gtk2 py-Pillow
You may need to install cython from source if the version in the repository is too old.
For video encoding support install:
pkg_add x264 libvpx ffmpeg
At runtime, you may also want to have installed:
pkg_add libwebp