Differences
This shows you the differences between two versions of the page.
diana:batch_diana_on_headless_systems [2014-06-24 13:48:40] davidb [Building Qt] |
diana:batch_diana_on_headless_systems [2022-05-31 09:29:31] |
||
---|---|---|---|
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 (4.8.1 and [[http:// | ||
- | |||
- | The patches we use are part of the Debian packaging we use to build packages for Ubuntu 12.04. These can be obtained from a git repository: | ||
- | |||
- | < | ||
- | git clone https:// | ||
- | </ | ||
- | |||
- | The standard Debian package building process involves applying the patches found in the '' | ||
- | |||
- | ==== Building on a Debian Derivative ==== | ||
- | |||
- | If you are building on a Debian derived distribution, | ||
- | |||
- | < | ||
- | debuild -sa -uc -us | ||
- | </ | ||
- | |||
- | Note that, if you use the distribution' | ||
- | |||
- | The result should be a package in the parent directory you can install using dpkg or aptitude. | ||
- | ==== Building on Other Distributions ==== | ||
- | |||
- | If you are building on another distribution, | ||
- | |||
- | < | ||
- | 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 '' | ||
- | |||
- | 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# | ||
- | |||
- | // |