View file File name : README.linux Content :System prerequisites for Perl/Tk on Linux Of course a C compiler (e.g. gcc) and a make tool (e.g. GNU make) needs to be installed. Additionally, some libraries and include files are required: Debian, Ubuntu: The following system packages should be installed: libx11-dev (minimal requirement for basic compilation of Perl/Tk) libfreetype6-dev libxft-dev (for freetype support, XFT=1) libpng-dev libz-dev (for using system library for Tk::PNG) libjpeg-dev (for using system library for Tk::JPEG) Command lines: apt-get install libx11-dev libfreetype6-dev libxft-dev libpng-dev libz-dev libjpeg-dev aptitude install libx11-dev libfreetype6-dev libxft-dev libpng-dev libz-dev libjpeg-dev CentOS, RedHat, Fedora: The following system packages should be installed: libX11-devel (minimal requirement for basic compilation of Perl/Tk) libXft-devel (for freetype support, XFT=1) libpng-devel zlib-devel (for using system library for Tk::PNG) libjpeg-devel (for using system library for Tk::JPEG) Command line: yum install libX11-devel libXft-devel libpng-devel zlib-devel libjpeg-devel openSUSE (12.x, 13.x, Leap, Tumbleweed): The following system packages should be installed: libX11-devel (minimal requirement for basic compilation of Perl/Tk) libXft-devel (for freetype support, XFT=1) libpng16-devel zlib-devel (for using system library for Tk::PNG) libjpeg8-devel (for using system library for Tk::JPEG) Note that the 16 in libpng16-devel and 8 in libjpeg8-devel might differ per version of your distribution. You can find out what version your distribution support using zypper search libpng libjpeg Command line: zypper in -l libX11-devel libXft-devel libpng16-devel zlib-devel libjpeg8-devel With all these requirements, building Perl/Tk is straightforward: perl Makefile.PL make make test make install XFT (freetype support) is enabled by default if the system prerequisites are met (see above). To explicitely turn it off, use perl Makefile.PL XFT=0 It's recommended to install system's libpng, zlib, and libjpeg first. Otherwise the bundled (and usually older) versions of libpng, zlib, and libjpeg are used. On some systems the default /etc/fonts/fonts.conf does not include traditional X11 fonts by default (seen on a CentOS 6.4 installation, probably also the case for the equivalent RedHat version). If you need traditional X11 fonts (adobe-courier, adobe-helvetica, adobe-times etc.), then there are some options: * Provide a file /etc/fonts/local.conf with appropriate <dir> elements, e.g. <fontconfig> <dir>/usr/share/X11/fonts</dir> </fontconfig> This change would be global for all users. * Create a user-specific configuration file in ~/.fonts.conf with the same content. * Copy or symlink the directories with the X11 fonts into ~/.fonts (for a user only) or a global font directory like /usr/local/share/fonts. ---------------------------------------------------------------------- Older instructions follow These days perl/Tk is developed on Linux so things should work. Nick uses SuSE Distributions, currently using SuSE 9.0. All SuSE's /usr/bin/perl (perl >= perl5.8.0) should work. SuSE's fontconfig is fine for building with XFT=1, but there are some dodgy TrueType fonts in its set. RedHat is more variable. Nick uses this version under RedHat7.* and RedHat9.0 at work. RedHat9.0 will build with XFT=1 but scalable fonts installed by default are limited. Main snag on RedHat is that /usr/bin/perl tends to be a RedHat patched version rather than an approved perl release. Its 5.8.0 has bugs which mean that it is worse that official perl5.8.0 in UTF-8 locales - but UTF-8 locales are default on RedHat :-( Nick has installed this version with RedHat's perl on RedHat9. BUT there are a lot of reports that it doesn't work. If the problem hits you try this: 1. Delete the unpacked version that had trouble - the bug mangles some files. 2. Change to a non UTF-8 locale. i.e. echo $LANG # find out what your locale is export LANG=en_GB # what above printed but without UTF-8 bit 3. tar xzf Tk804.026.tar.gz # re-extract cd Tk804.026 4. perl Makefile.PL # normal build make make test (Steps 3 & 4 can be done using CPAN module provided you stay in non-UTF-8 locale.) 5. Optionally: export LANG=en_GB.UTF-8 # or original from step 2 make test # prove it works in the locale 6. make install Or just get perl5.8.3 kit from CPAN and build a real perl. Other issues are that distributions vary in the fonts they come with and window managers vary by user AND distribution. So a t/entry.t and t/listbox.t in particular (which are new tests compared to Tk800 series) sometimes fail a few subtests. Sometimes when run like: perl -Mblib t/entry.t they will pass :-( Nick Ing-Simmons 2004/03/18