In this file: * About tdelibs * Licensing * Common Mistakes * Upgrading * Compile Problems * More Info About tdelibs ------------- This is version R14.0.4 of the Trinity Desktop Environment [TDE] libraries. This package includes libraries that are central to the development and execution of a KDE program, as well as internationalization files for these libraries, misc HTML documentation, theme modules, and regression tests. Here is an alphabetical list: * arts ARTS (analog realtime synthesizer) is a environment of small modules that one can plug together to process multimedia data. This directory contains KDE wrapper and KDE user interface elements for ARTS. * dcop The desktop communication program allows even shell scripts to communicate with KDE applications. It's also the base for KParts. * interfaces tdeparts interface for text editors, mediaplayer and scripting. * kab OBSOLETE, see tdeabc: Used to be the address book library, but now only used to convert kab-Addressbooks into tdeabc format. * tdeabc The address book library. * kate KPart for 'kate', the KDE advanced text editor. * tdecert Personal certification manager. * tdeconf_update Auto-Updater for config files. * tdecore This is the core collection of KDE stuff. Non GUI classes reside here. * kded The KDE daemon checks for newly installed software, update files or hostname changes and takes according actions. * tdefx Library with pixmap effects. * tdeprint The very versatile printing subsystem of KDE. * tdesu Library for password entering and handling * tdeui The main collection of misc. user interface classes (widgets). KSpell and related classes are a frontend to ispell for use within a GUI app. * tdewidgets For developers: KDE's custom widgets for Qt Designer. * kdoctools Contains mostly stuff convert XML docbook files via XSLT into human readable stuff. * tdehtml The next generation HTML rendering widget designed for Konqueror. This supports HTML 4, CSS, and a variety of other web related standards. * kimgio An all purpose extension to the qimgio class that supports various image formats. * tdeinit Process launcher, used for fast KDE startup * tdeio Classes that fetch and decode URLs are contained here. This library also contains "tdesycoca", the system configure cache containing services, applications, servicetypes and mimetypes. * tdeioslave I/O subprocesses to handle files, ftp, http, gzip and bzip2 streams. * kjs Implementation of ECMAScript (aka JavaScript). * tdeparts KDE component model. * tdestyles The theme engine lies within. It handles nearly anything relating to customizing the appearance of widgets. * tdewallet Client and backend to store values in encrypted files. * libtdemid MIDI file handling and midi mapper (manages output of midi files to various devices). * libtdescreensaver Library for making KDE screensavers. * libltdl System independed dlopen() handler. * licenses Contains texts of all used licenses. * mimetypes Database of mime types. * pics Database of icons. Licensing --------- The libraries themselves have been covered (since Saturday, June 21st, 1997) by the GNU Library General Public License (LGPL). Any other programs (such as the examples) are covered by the GNU General Public License (GPL). All the gory details for the LGPL reside in COPYING.LIB, and for the GPL reside in COPYING. Various parts are also covered under a BSD style license, detailed in COPYING.BSD. Currently, code covered under such license is copyrighted by Theo de Raadt. When in doubt, check the individual file, they should all have license headings and other identifying marks. Common Mistakes --------------- If configure claims Qt cannot be found, look at http://www.trolltech.com to get a copy of Qt, version 3.3.0 or newer. If you have peeked there already, grab the SVN module qt-copy from anonsvn.kde.org, or a snapshot thereof. Alternatively the svn module qt-copy from svn.kde.org can also be used. Debugging --------- You can use --enable-debug with the configure script, if you want to have debug code in your KDE libs. If you have the space and can stand code that's somewhat slower, this is worth it. The extra information really helps debugging and thus bugfixing. On the other hand, --disable-debug removes all debug messages, leading to a faster and cleaner desktop. See also the file DEBUG. Upgrading --------- If you have an tdebase older than 3.0 installed, just copy all your .k*rc files from $HOME to $HOME/.trinity/share/config. In the other case, default values are used for most apps. Compile Problems ---------------- Often, KDE compile failures are not KDE's faults but the one of the compiler or the distribution used. For that reason, please have a look at http://developer.kde.org/build/compilationfaq.html for known issues in certain OS environments before reporting bugs or going mad :). gcc 3.0/3.0.1 is not yet able to compile all of KDE without errors, mostly due to bugs in this version of the compiler. Some older version of gcc 2.96 also have problems compiling KDE due to compiler bugs. Even though compilation may not report errors with these compiler, the usage of these compilers may cause crashes when using the resulting executables. If you are running a FreeBSD system, you will need to make sure that LIBS is set to "-Wl,-export-dynamic". The easiest way to do this is to prefix configure with it, i.e.: LIBS="-Wl,-export-dynamic" ./configure. Thanks to Will Andrews and Arun Sharma for identifying what needed to be done, and how to do it, and such. If you get odd error such as: as: Error: /var/tmp/ccK1Cfxa.s, line 2827: Truncating token: __t4pair2Zt18__rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_trai ts1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1 ZcZt24__default_alloc_template2b0i0ZRt4pair2ZCt12basic_string3ZcZt18string_char_ traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_tra its1ZcZt24__default_alloc_template2b0i0ZPt4pair2ZCt12basic_string3ZcZt18string_c har_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char _traits1ZcZt24__default_alloc_template2b0i0ZbRCt18__rb_tree_iterator3Zt4pair2ZCt 12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12b asic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZRt4pair 2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Z t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZPt4 pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b 0i0Zt12basic_string3ZcZt18strin! g_char_traits1ZcZt24__default_al and you're using egcs, try re-compiling all your C++ libs with -fsquangle, and then recompiling whatever you were working on with -fsquangle. It should help, and more information about this is available on the egcs FAQ available at http://egcs.cygnus.com How to report ------------- Reporting bugs is an art. Why? Because bug reports can help and hinder. They hinder if the developers are just buried in an avalanche of bug reports. They spend hours figuring out which bug reports are valid and which aren't, which bug reports are due to bugs or due to installation problems. They can be of tremendous help to notify developers on problems in areas that they normally don't have access (e.g. KDE on AIX) to. So, here are some tips on bug reporting: * make sure your bug is due to KDE ... and not due to a packaging problem of your Linux distributor. For example, most "I can not install the XYZ.rpm" problem are due to packaging issues. Refer with such questions to your Linux Distributor and his appropriate mailing list or bug reporting tool. * The chance is high that your bug has already been dealt with ... so look if there is a newer version of tdelibs available. Reporting bugs for older, deprecated versions usually don't get that much attention :-) * Also the chance is high that another one experienced your problem. The bug report wizard at http://bugs.kde.org will help you to find out if your problem has already been reported. * The best bug report for a project based on voluntary work is of course one that comes with a patch that solves the problem. :-) More info --------- http://www.kde.org is a good starting point for info on KDE. If you are a developer, you may also point your browser to http://developer.kde.org. There is a plethora of mailing lists available, you can gain an overview quickly by looking at http://lists.kde.org.