Line 1: |
Line 1: |
− | Welcome to Simone Giustetti's wiki pages.
| + | {{header_en|title=How-to build TDE libraries| keyword={{Template:keyword_en_tde}}| description=Building, installing and configuring working packages for TDE optional libraries on Slackware Linux | link_page=TDE_14.0.0_librerie}} |
− | | |
− | | |
− | Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_14.0.0_librerie Italiano]
| |
− | | |
− | ----
| |
| | | |
| == '''TDE Libraries''' == | | == '''TDE Libraries''' == |
− | [[En/trinity_desktop_environment_14.0.0]] | + | [[En/trinity_desktop_environment_14.0.0 | Trinity Desktop Environment 14.0.0]] |
| | | |
| Previous articles discussed building working '''Trinity Desktop Environment''' release 14.0.0 packages for Slackware 14.1 stable. Being a huge and complex project, TDE is made up of a large number of packages which are grouped in subsets for ease of use. This article will center on packages labeled '''Libraries''', which provide extensions for the base desktop environment adding functionality and plug-ins. | | Previous articles discussed building working '''Trinity Desktop Environment''' release 14.0.0 packages for Slackware 14.1 stable. Being a huge and complex project, TDE is made up of a large number of packages which are grouped in subsets for ease of use. This article will center on packages labeled '''Libraries''', which provide extensions for the base desktop environment adding functionality and plug-ins. |
Line 17: |
Line 12: |
| === Custom Options === | | === Custom Options === |
| | | |
− | Before presenting each package and its specific build options, I'd like to point out that a general description of a SlackBuild script is available in page [[TDE_14.0.0_prerequisites#Common_Build_Script_Structure]]; for generic options used to build packages please consult page [[TDE_14.0.0_prerequisites#Generic_Options]]. Please refer to the package order provided in page [[En/trinity_desktop_environment_14.0.0#Build_order]] while building and installing packages in order to avoid errors, unexpected behavior and failures. Packages will be presented alphabetically and not in their build order. | + | Before presenting each package and its specific build options, I'd like to point out that a general description of a SlackBuild script is available in page [[TDE_14.0.0_prerequisites#Common_Build_Script_Structure |Common Build Script Structure]]; for generic options used to build packages please consult page [[TDE_14.0.0_prerequisites#Generic_Options |Generic Options]]. Please refer to the package order provided in page [[En/trinity_desktop_environment_14.0.0#Build_order |Build Order]] while building and installing packages in order to avoid errors, unexpected behavior and failures. Packages will be presented alphabetically and not in their build order. |
| | | |
| ==== KIPI-PLUGINS ==== | | ==== KIPI-PLUGINS ==== |
| | | |
| '''Kipi Plugins''' includes a set of plug-ins for the '''libKipi''' library adding some functionality to image management programs and applications available in TDE: '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Plug-ins add new menus, keyboard shortcuts and optional features. Once installed plug-ins can be activated one by one in the configuration forms of the aforementioned programs. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: | | '''Kipi Plugins''' includes a set of plug-ins for the '''libKipi''' library adding some functionality to image management programs and applications available in TDE: '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Plug-ins add new menus, keyboard shortcuts and optional features. Once installed plug-ins can be activated one by one in the configuration forms of the aforementioned programs. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: |
− | '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch | + | <syntaxhighlight lang="bash"> |
| + | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| + | </syntaxhighlight> |
| Configuring the source code: | | Configuring the source code: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS="${SLKCFLAGS}" \ | | CFLAGS="${SLKCFLAGS}" \ |
| CXXFLAGS="${SLKCFLAGS}" \ | | CXXFLAGS="${SLKCFLAGS}" \ |
| ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ | | ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ |
| ${DEBUG_AUTOTOOL_OPT} \ | | ${DEBUG_AUTOTOOL_OPT} \ |
− | ''--libdir=''${LIBDIR} \ | + | --libdir=${LIBDIR} \ |
− | ''--prefix=''${PREFIX} \ | + | --prefix=${PREFIX} \ |
− | ''--with-qt-dir=''${QTDIR} \ | + | --with-qt-dir=${QTDIR} \ |
− | ''--with-qt-includes=''${QTDIR}/include \ | + | --with-qt-includes=${QTDIR}/include \ |
− | ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX} | + | --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX} |
| + | </syntaxhighlight> |
| Then invoking the '''make''' command to start the build procedure. | | Then invoking the '''make''' command to start the build procedure. |
| | | |
Line 40: |
Line 39: |
| | | |
| The '''Libkdcraw''' package includes a C++ interface library to the '''dcraw''' binary: a program to read images in RAW format. The library is used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: | | The '''Libkdcraw''' package includes a C++ interface library to the '''dcraw''' binary: a program to read images in RAW format. The library is used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: |
− | '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch | + | <syntaxhighlight lang="bash"> |
| + | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| + | </syntaxhighlight> |
| The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly: | | The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly: |
| + | <syntaxhighlight lang="bash"> |
| # Do not create a directory where to build source as out of tree building does | | # Do not create a directory where to build source as out of tree building does |
| # not seem to be supported and fails complaining for missing files. | | # not seem to be supported and fails complaining for missing files. |
Line 47: |
Line 49: |
| # mkdir build | | # mkdir build |
| # cd build | | # cd build |
| + | </syntaxhighlight> |
| Then go on configuring the source code: | | Then go on configuring the source code: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS="${SLKCFLAGS}" \ | | CFLAGS="${SLKCFLAGS}" \ |
| CXXFLAGS="${SLKCFLAGS}" \ | | CXXFLAGS="${SLKCFLAGS}" \ |
| ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ | | ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ |
| ${DEBUG_AUTOTOOL_OPT} \ | | ${DEBUG_AUTOTOOL_OPT} \ |
− | ''--libdir=''${LIBDIR} \ | + | --libdir=${LIBDIR} \ |
− | ''--prefix=''${PREFIX} \ | + | --prefix=${PREFIX} \ |
− | ''--with-qt-dir=''${QTDIR} \ | + | --with-qt-dir=${QTDIR} \ |
− | ''--with-qt-includes=''${QTDIR}/include \ | + | --with-qt-includes=${QTDIR}/include \ |
− | ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX} | + | --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX} |
| + | </syntaxhighlight> |
| And invoking the '''make''' command to start the build procedure. | | And invoking the '''make''' command to start the build procedure. |
| | | |
Line 64: |
Line 69: |
| | | |
| The '''Libkexiv2''' package includes an interface library to ease the use of '''Exiv2''': a library written to manage image metadata used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: | | The '''Libkexiv2''' package includes an interface library to ease the use of '''Exiv2''': a library written to manage image metadata used by '''digiKam''', '''kipi plug-ins''' and other TDE included image manipulation tools. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: |
− | '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch | + | <syntaxhighlight lang="bash"> |
| + | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| + | </syntaxhighlight> |
| Then configuring the source code: | | Then configuring the source code: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS="${SLKCFLAGS}" \ | | CFLAGS="${SLKCFLAGS}" \ |
| CXXFLAGS="${SLKCFLAGS}" \ | | CXXFLAGS="${SLKCFLAGS}" \ |
| ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ | | ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ |
| ${DEBUG_AUTOTOOL_OPT} \ | | ${DEBUG_AUTOTOOL_OPT} \ |
− | ''--libdir=''${LIBDIR} \ | + | --libdir=${LIBDIR} \ |
− | ''--prefix=''${PREFIX} \ | + | --prefix=${PREFIX} \ |
− | ''--with-qt-dir=''${QTDIR} \ | + | --with-qt-dir=${QTDIR} \ |
− | ''--with-qt-includes=''${QTDIR}/include \ | + | --with-qt-includes=${QTDIR}/include \ |
− | ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX} | + | --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX} |
| + | </syntaxhighlight> |
| And invoking the '''make''' command to start the build procedure. | | And invoking the '''make''' command to start the build procedure. |
| | | |
Line 82: |
Line 91: |
| | | |
| '''Kipi''' is an effort to build a coherent and easy to use plug-in infrastructure to use with all of the TDE included graphic applications. Kipi architecture, named '''TDE Image Plugin Interface''', is based on the old digikam plug-in system and is used by '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: | | '''Kipi''' is an effort to build a coherent and easy to use plug-in infrastructure to use with all of the TDE included graphic applications. Kipi architecture, named '''TDE Image Plugin Interface''', is based on the old digikam plug-in system and is used by '''digiKam''', '''Gwenview''', '''KimDaBa''' and '''ShowImg'''. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: |
− | '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
| + | <syntaxhighlight lang="bash"> |
| + | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| + | </syntaxhighlight> |
| Configuring the source code: | | Configuring the source code: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS="${SLKCFLAGS}" \ | | CFLAGS="${SLKCFLAGS}" \ |
| CXXFLAGS="${SLKCFLAGS}" \ | | CXXFLAGS="${SLKCFLAGS}" \ |
| ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ | | ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ |
| ${DEBUG_AUTOTOOL_OPT} \ | | ${DEBUG_AUTOTOOL_OPT} \ |
− | ''--libdir=''${LIBDIR} \ | + | --libdir=${LIBDIR} \ |
− | ''--prefix=''${PREFIX} \ | + | --prefix=${PREFIX} \ |
− | ''--with-qt-dir=''${QTDIR} \ | + | --with-qt-dir=${QTDIR} \ |
− | ''--with-qt-includes=''${QTDIR}/include \ | + | --with-qt-includes=${QTDIR}/include \ |
− | ''--with-qt-libraries=''${QTDIR}/lib${LIBDIRSUFFIX} | + | --with-qt-libraries=${QTDIR}/lib${LIBDIRSUFFIX} |
| + | </syntaxhighlight> |
| Then start the build procedure invoking the '''make''' command. | | Then start the build procedure invoking the '''make''' command. |
| | | |
Line 100: |
Line 113: |
| | | |
| The '''Ksquirrel''' libraries includes codecs for popular image file formats like: BMP, GIF, JPEG, PNG, PSD, TIFF and more. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: | | The '''Ksquirrel''' libraries includes codecs for popular image file formats like: BMP, GIF, JPEG, PNG, PSD, TIFF and more. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: |
− | '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
| + | <syntaxhighlight lang="bash"> |
| + | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| + | </syntaxhighlight> |
| The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly: | | The package does not seem to support out of tree building therefore the lines of the script creating a dedicated directory should be commented out accordingly: |
| + | <syntaxhighlight lang="bash"> |
| # Do not create a directory where to build source as out of tree building does | | # Do not create a directory where to build source as out of tree building does |
| # not seem to be supported and fails complaining for missing files. | | # not seem to be supported and fails complaining for missing files. |
Line 107: |
Line 123: |
| # mkdir build | | # mkdir build |
| # cd build | | # cd build |
| + | </syntaxhighlight> |
| Then go on to configure the source code invoking the '''configure''' script with option '''--disable-dxf''': | | Then go on to configure the source code invoking the '''configure''' script with option '''--disable-dxf''': |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS="${SLKCFLAGS}" \ | | CFLAGS="${SLKCFLAGS}" \ |
| CXXFLAGS="${SLKCFLAGS}" \ | | CXXFLAGS="${SLKCFLAGS}" \ |
| ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ | | ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ |
| ${DEBUG_AUTOTOOL_OPT} \ | | ${DEBUG_AUTOTOOL_OPT} \ |
− | ''--disable-dxf'' \ | + | --disable-dxf \ |
− | ''--libdir=''${LIBDIR} \ | + | --libdir=${LIBDIR} \ |
− | ''--prefix=''${PREFIX} | + | --prefix=${PREFIX} |
| + | </syntaxhighlight> |
| And invoking the '''make''' command to start the build procedure. | | And invoking the '''make''' command to start the build procedure. |
| | | |
Line 122: |
Line 141: |
| | | |
| The '''Libtdeldap''' package adds LDAP protocol support to TDE. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: | | The '''Libtdeldap''' package adds LDAP protocol support to TDE. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: |
− | '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
| + | <syntaxhighlight lang="bash"> |
| + | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| + | </syntaxhighlight> |
| Configuring the source code: | | Configuring the source code: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS="${SLKCFLAGS}" \ | | CFLAGS="${SLKCFLAGS}" \ |
| CXXFLAGS="${SLKCFLAGS}" \ | | CXXFLAGS="${SLKCFLAGS}" \ |
| ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ | | ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ |
| ${DEBUG_AUTOTOOL_OPT} \ | | ${DEBUG_AUTOTOOL_OPT} \ |
− | ''--prefix=''${PREFIX} | + | --prefix=${PREFIX} |
| + | </syntaxhighlight> |
| Then invoking the '''make''' command to start the build procedure. | | Then invoking the '''make''' command to start the build procedure. |
| | | |
Line 135: |
Line 158: |
| ==== LIBTQT-PERL ==== | | ==== LIBTQT-PERL ==== |
| | | |
− | The '''PerlTQt''' library interfaces '''[http://www.perl.org Perl]''', a diffused general purpose interpreted programming language, and the TQt library used to build TDE. The library can be used to write TDE integrated programs and scripts using the Perl 5 language. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: | + | The '''PerlTQt''' library interfaces '''[http://www.perl.it Perl]''', a diffused general purpose interpreted programming language, and the TQt library used to build TDE. The library can be used to write TDE integrated programs and scripts using the Perl 5 language. Building a working package for Slackware 14.1 requires installing a patch to solve a version mismatch issue for the '''libtool''' library: |
− | '''patch''' ''-p0 -i'' ${SRCDIR}/ltmain_version_update.patch
| + | <syntaxhighlight lang="bash"> |
| + | patch -p0 -i ${SRCDIR}/ltmain_version_update.patch |
| + | </syntaxhighlight> |
| Configuring the source code: | | Configuring the source code: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS="${SLKCFLAGS}" \ | | CFLAGS="${SLKCFLAGS}" \ |
| CXXFLAGS="${SLKCFLAGS}" \ | | CXXFLAGS="${SLKCFLAGS}" \ |
| ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ | | ${TMP}/tmp-${PRGNAM}/${DIR_SRC}/configure \ |
| ${DEBUG_AUTOTOOL_OPT} \ | | ${DEBUG_AUTOTOOL_OPT} \ |
− | ''--prefix=''${PREFIX} \ | + | --prefix=${PREFIX} \ |
− | ''--with-qt-dir=''${PREFIX} | + | --with-qt-dir=${PREFIX} |
| + | </syntaxhighlight> |
| Then invoking the '''make''' command to start the build procedure. | | Then invoking the '''make''' command to start the build procedure. |
| | | |
Line 151: |
Line 178: |
| | | |
| '''MLT''' is a software framework developed for television broadcasting. Sadly package building proved to be impossible. My first attempt compiling the source code extracted from its archive failed due to some include files missing: '''qimage.h''' for example. After checking for the file location I passed it explicitly to the compiler along the architecture specific options: | | '''MLT''' is a software framework developed for television broadcasting. Sadly package building proved to be impossible. My first attempt compiling the source code extracted from its archive failed due to some include files missing: '''qimage.h''' for example. After checking for the file location I passed it explicitly to the compiler along the architecture specific options: |
− | SLKCFLAGS="${SLKCFLAGS} ''-I''/usr/include/tqt ''-I''/usr/include/tqt/Qt ''-I''${PREFIX_TDE}/include" | + | <syntaxhighlight lang="bash"> |
| + | SLKCFLAGS="${SLKCFLAGS} -I/usr/include/tqt -I/usr/include/tqt/Qt -I${PREFIX_TDE}/include" |
| + | </syntaxhighlight> |
| The update proved to have no effect. I then updated the '''./libraries/mlt/src/modules/qimage/Makefile''' file replacing line: | | The update proved to have no effect. I then updated the '''./libraries/mlt/src/modules/qimage/Makefile''' file replacing line: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS+=-I../../ | | CFLAGS+=-I../../ |
| + | </syntaxhighlight> |
| with: | | with: |
| + | <syntaxhighlight lang="bash"> |
| CFLAGS+=-I../../ -I/usr/include/tqt -I/usr/include/tqt/Qt | | CFLAGS+=-I../../ -I/usr/include/tqt -I/usr/include/tqt/Qt |
| + | </syntaxhighlight> |
| This solved the issue temporarily as the build procedure failed shortly after reporting another missing include file: '''QtGui/qtransform.h''' which is not included in the '''TQt''' package, but in the '''Qt4''' one instead. Installing the Qt4 library solved the problem, replacing it with dozens of issues regarding the declaration of '''qtwrapper''' included structures and classes. In the end, realizing the Mlt library is affected by some TQt, Qt4 coexistence issues, I gave up on building the package waiting for the release of a proper patch or update from the developers. | | This solved the issue temporarily as the build procedure failed shortly after reporting another missing include file: '''QtGui/qtransform.h''' which is not included in the '''TQt''' package, but in the '''Qt4''' one instead. Installing the Qt4 library solved the problem, replacing it with dozens of issues regarding the declaration of '''qtwrapper''' included structures and classes. In the end, realizing the Mlt library is affected by some TQt, Qt4 coexistence issues, I gave up on building the package waiting for the release of a proper patch or update from the developers. |
| | | |
Line 181: |
Line 214: |
| ---- | | ---- |
| | | |
− | Languages: '''English''' - [http://www.giustetti.net/wiki/index.php?title=TDE_14.0.0_librerie Italiano]
| + | {{footer_en | link_page=TDE_14.0.0_librerie}} |