Alexander Volovics wrote: > When trying to compile an app (openbox) under RH-8.0 a number of > complications are encountered. > > 1) the library libXft.so.2.0 is no longer to be found in > /usr/X11R6/lib (as in RH-7.3) but in /usr/lib > > (However in /usr/X11R6/lib XFree86-libs-4.2.0-72 installs libXft.so.1.2, > presumably for compatibility reasons for apps compiled under RH-7.3) Correct. for binary compatiblity. > 2) the header file Xft.h is no longer to be found in > /usr/X11R6/include/X11/Xft but in /usr/include/Xft2/X11/Xft > > 3) to make matters worse when you do find your way to /usr/lib and > /usr/include/Xft2/X11/Xft by using LDFLAGS, CPPFLAGS and softlinks > during ./configure you encounter a long list of undefined references, > for example to: FcPatternAddInteger, FcPatternAddBool, etc. > > 4) Snooping around you discover another header file in > /usr/include/Xft2/X11/Xft, namely XftCompat.h. > This file seems to contain the translations from the newer Xft.h > where these things are called for example: XftPatternAddInteger, > XftPatternAddBool, etc. > (but not all the undefined references seem to have translations) > > It is completely unclear how you can make these translations work > and there is no documentation at all. (how do you use XftCompat.h) Use "xft-config --cflags" to get CFLAGS and CPPFLAGS and "xft-config --libs" for the LDFLAGS Find where xft.h is includes in the source files. Make sure it's just "#include <Xft.h>" and after it add "#include <XftCompat.h>" Then try building. You migh have to play with the configure script to get it to work. Look to see if it #include's Xft.h, and make the same changes. > As a non programmer who has only a very vague idea of what is going on > here and what might be needed I find this very frustrating. Best bet is to get the developers to update it for Xft2. Xft2 is not, and was never intended to be, backwards compatible with Xft1.x versions. Y can try getting a prebuit package, that will use libXft.so.1.2, and built with gcc-3.2 if it's C++. Last ditch effort, build Xft1 from source, and install it in /usr/local. Then tell the app to look there for the includes and libs. -Thomas