Skip to content

Building, installing and using

Ivailo Monev edited this page May 9, 2017 · 255 revisions

Requirements

The following software is required to build the project:

  • Git
  • CMake
  • C++ compiler which supports C++11, GCC and CLang are the only compilers supported right now
  • Platform dependent threads implementation
  • zlib
  • OpenSSL*
  • PCRE
  • X11/X.Org

The following software is recommended to build the project:

*The software mentioned has know alternative(s) which is also supported, such as LibreSSL which is almost a drop-in replacement for OpenSSL, JPEG 9 as an alternative to libjpeg-turbo, iODBC as an alternative to UnixODBC or MariaDB as an alternative to MySQL.

Building

  • Learn how to take advantage of the flexible build system
  • If size matters build with MinSizeRel as CMAKE_BUILD_TYPE, LTO and no exceptions
  • If time and disk space for building matters build with KATIE_ALLINONE set to ON
  • Create packages via cpack, make package or a native package via the provided package files for various distributions
git clone --depth=1 git://github.com/fluxer/katie
cd katie
ln -sv package/debian .
dpkg-buildpackage -nc -b
sudo dpkg -i ../katie-git*.deb
git clone --depth=1 git://github.com/fluxer/katie
cd katie/package/archlinux
makepkg -s
sudo pacman -U katie-git*.pkg.tar.xz

other UNIX-like system

git clone --depth=1 git://github.com/fluxer/katie
mkdir -pv katie/build
cd katie/build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DKATIE_LDCONF_FULL=/etc/ld.so.conf.d -DKATIE_PROFILE_FULL=/etc/profile.d
make 
sudo make install

Post installation

  • Run sudo ldconfig so that the libraries paths are cached, systems using musl libc or uclibc may not require this step
  • Login and logout so that the project specific Shell profile file has effect

Using

  • Watch out for tools/scripts that alter environmental variables (e.g. sudo) such as LD_LIBRARY_PATH, PKG_CONFIG_PATH:
echo $LD_LIBRARY_PATH
echo $PKG_CONFIG_PATH
  • Verify the installation:
echo '#include <QDebug>

int main(int argc, char *argv[])
{
    qDebug() << "<insert kool joke here>";
    return 0;
}' > kk.cpp
g++ kk.cpp $(pkg-config --cflags --libs KtCore) -std=c++11 -o kk
./kk
  • Report any issues and suggestions you may have

Clone this wiki locally