Confdump Agent
1.4.0
|
See README.txt for general information about Confdump-Agent.
The Confdump-Agent build system is geared towards producing a standalone (static) executable that can be dropped on a target system without any system prerequisite.
Confdump-Agent currently depends on two third-party C++ libraries: Qt4-core and Boost. Rather than trying to be compatible with every released version of those, we designed our CMake-based build system to work with local copies of these libraries at a known version.
NB: On GNU/Linux, the libc of the build computer determines the kernel compatibility, for instance a binary linked on Debian/squeeze will not run on kernels < 2.6.18. In order to support down to the legacy RedHat Enterprise Linux 4 systems found at our customers', we build our releases on CentOS 4.
Download a source archive from http://www.boost.org/users/download/ (tested: 1.41.0) into $BOOST_SRC (e.g. boost_1_41_0/).
NB: The current build system expects BOOST_SRC to be $CONFDUMP_SRC/libs/boost_1_41_0/ . You can change that using "ccmake ." or any other CMake UI.
Download a "framework only" archive from http://qt.nokia.com/downloads (tested: 4.6.1) into $QT4_SRC (e.g. qt-everywhere-opensource-src-4.6.1/).
$ cd $BOOST_SRC $ ./bootstrap.sh $ cd tools/bcp $ ../../bjam $ cd $CONFDUMP_SRC
> cd %BOOST_SRC% > bootstrap > cd tools\bcp > ..\..\bjam > cd %CONFDUMP_SRC%
$ cd $CONFDUMP_SRC/libs $ mv $QT4_SRC qt4 $ cd qt4 $ ./configure --confirm-license -fast -static -opensource -no-qt3support -qt-zlib -silent -no-nis -no-dbus -no-glib -prefix $PWD $ make sub-tools-bootstrap sub-moc sub-rcc sub-uic sub-corelib
Note 1: the complete command-line if we need more libs later is ./configure --confirm-license -static -opensource -no-qt3support -no-multimedia -no-phonon -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -qt-zlib -no-gif -qt-libpng -no-libmng -qt-libjpeg -openssl-linked -silent -no-nis -no-dbus
Note 2: don't use the -j (concurrent build) make option here as the subtargets here require each other in sequence.
Note 3: Qt version 4.6.1 is not compatible with g++-4.6. Edit $QT4_SRC/mkspecs/common/g++.conf and replace all instances of "gcc" by "gcc-4.5", "g++" by "g++-4.5" before the configure step if needed. In that case, you also have to pass the following options to cmake below: -DCMAKE_CXX_COMPILER=g++-4.5 -DCMAKE_C_COMPILER=gcc-4.5
Note 4: the "libxext-dev" package may be necessary, although we don't build the GUI part
Uncompress the Qt4 sources as CONFDUMP_SRC%\libs\qt4 -- tested with the package "qt-everywhere-opensource-src-4.6.1.zip". Make sure not to have an intermediary subdirectory under qt4.
Edit CONFDUMP_SRC%\libs\qt4\mkspec\win32-msvc2008\qmake.conf and replace "-MD" by "-MT", "-MDd" by "-MTd".
In a "MS Visual Studio Command Prompt",
> cd %CONFDUMP_SRC%\libs\qt4 > set PATH=%cd%\bin;%PATH% > configure -confirm-license -static -opensource -no-qt3support -qt-zlib -no-dbus -prefix %cd% > nmake sub-tools-bootstrap sub-moc sub-rcc sub-uic sub-corelib
$ cd $CONFDUMP_SRC/build/MinSizeRel $ cmake ../.. $ make
$ cd $CONFDUMP_SRC/build/Debug $ cmake -DCMAKE_BUILD_TYPE=Debug ../.. $ make
In a "MS Visual Studio Command Prompt",
> cd %CONFDUMP_SRC%\build > cmake -G "Visual Studio 9 2008" ..
Then just open the ConfdumpSys.sln file generated in the "build" directory to edit and/or compile the source code.