Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
|
diana:batch_diana_on_headless_systems [2025-11-27 17:37:17] lisbethb removed |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Batch Diana on Headless Systems ====== | ||
| - | |||
| - | Normally, Diana is configured to run on systems with an X server, using OpenGL for accelerated rendering of maps and data. When running Diana in batch mode with the '' | ||
| - | |||
| - | On servers, where it is not desirable to run an X server, we cannot use the '' | ||
| - | |||
| - | - It uses a custom build of the Qt libraries that do not depend on X libraries. | ||
| - | - It provides a wrapper that redirects OpenGL calls to Qt, rendering products entirely in software. Only the subset of OpenGL functions that Diana uses are wrapped. | ||
| - | |||
| - | ===== Building Qt ===== | ||
| - | |||
| - | We build an alternative set of Qt libraries using the standard Qt 4.8 sources, | ||
| - | applying some patches and using an " | ||
| - | |||
| - | Packages were built with Qt4 versions | ||
| - | * 4.8.1 | ||
| - | * [[http:// | ||
| - | * [[http:// | ||
| - | |||
| - | The patches we use are part of the Debian packaging we use to build packages for Ubuntu 12.04 and 14.04. | ||
| - | These can be obtained from [[https:// | ||
| - | |||
| - | git clone https:// | ||
| - | # the branch 4.8-qpa contains the most recent patches (as of 2016-02-26) | ||
| - | git checkout 4.8-qpa | ||
| - | |||
| - | To build debian packages, we re-package the Qt4 source code to obtain the directory structure expected by the dpkg build tools, then extract the re-packaged source archive, copy in the '' | ||
| - | |||
| - | Packages for some ubuntu releases are available from the [[https:// | ||
| - | |||
| - | ==== Building on Other Distributions ==== | ||
| - | |||
| - | If you are building on another distribution, | ||
| - | Enter the Qt 4.8 source directory and run a command of the following form on each of the patches in ascending numerical order; for example: | ||
| - | |||
| - | < | ||
| - | patch -p1 < ../ | ||
| - | patch -p1 < ../ | ||
| - | patch -p1 < ../ | ||
| - | patch -p1 < ../ | ||
| - | patch -p1 < ../ | ||
| - | </ | ||
| - | |||
| - | You can then run the configure script using the command given in the '' | ||
| - | |||
| - | < | ||
| - | ./configure -confirm-license -depths 16,32 -qpa dummy -qconfig wms \ | ||
| - | -exceptions -fast -glib -iconv -largefile -nis \ | ||
| - | -no-accessibility -no-audio-backend -no-cups -no-dbus \ | ||
| - | -no-declarative -no-declarative-debug -no-gfx-linuxfb \ | ||
| - | -no-gfx-multiscreen -no-javascript-jit -nomake demos \ | ||
| - | -nomake docs -nomake examples -nomake tests -nomake tools \ | ||
| - | -no-multimedia -no-opengl -no-phonon -no-phonon-backend \ | ||
| - | -no-qt3support -no-script -no-scripttools \ | ||
| - | -no-separate-debug-info -no-sql-ibase -no-sql-sqlite2 \ | ||
| - | -no-webkit -xmlpatterns -opensource -openssl \ | ||
| - | -optimized-qmake -pch -prefix-install -prefix / | ||
| - | -release -rpath -shared -stl -svg -system-freetype \ | ||
| - | -no-libjpeg -no-libmng -system-libpng -no-libtiff -system-zlib | ||
| - | </ | ||
| - | |||
| - | If this fails then you will need to provide the appropriate dependencies for your system. | ||
| - | |||
| - | Once configured, build and install in the usual way: | ||
| - | |||
| - | < | ||
| - | make | ||
| - | sudo make install | ||
| - | </ | ||
| - | |||
| - | ===== Configuring and Building Diana ===== | ||
| - | |||
| - | Diana is typically only built for batch use on headless systems since the GUI is only useful when there is an attached display. This means that only the '' | ||
| - | |||
| - | Packages compiled for headless systems are available from the [[https:// | ||
| - | |||
| - | ==== Building on Other Distributions ==== | ||
| - | |||
| - | Only a subset of the libraries mentioned on the [[autotools|Building Metlibs and Diana with Autotools]] page are required. Follow the instructions there to build and install Fimex and the miLogger, puCtools, puTools, miRaster and diField libraries. | ||
| - | |||
| - | Enter the Diana source directory, and configure, build and install '' | ||
| - | |||
| - | < | ||
| - | ./ | ||
| - | ./configure --disable-silent-rules \ | ||
| - | --prefix=/ | ||
| - | --enable-obs-bufr \ | ||
| - | --enable-video-export \ | ||
| - | --enable-geotiff \ | ||
| - | --with-qt4=/ | ||
| - | --with-qt4-includedir=/ | ||
| - | --with-qt4-libdir=/ | ||
| - | --with-qmake=/ | ||
| - | --with-moc=/ | ||
| - | --with-rcc=/ | ||
| - | --with-uic=/ | ||
| - | --with-lupdate=/ | ||
| - | --with-lrelease=/ | ||
| - | --enable-embedded \ | ||
| - | --enable-perl \ | ||
| - | --enable-batch-only | ||
| - | make | ||
| - | sudo make install | ||
| - | </ | ||
| - | |||
| - | ===== Next Steps ===== | ||
| - | |||
| - | See the [[gettingstarted# | ||
| - | |||
| - | // | ||