1 | |
---|
2 | SPECIAL NOTE FOR UNIX USERS |
---|
3 | =========================== |
---|
4 | |
---|
5 | If you are installing this release of FreeType on a system that |
---|
6 | already uses release 2.0.5 (or even an older version), you have to |
---|
7 | perform a few special steps to ensure that everything goes well. |
---|
8 | |
---|
9 | |
---|
10 | |
---|
11 | I. Enable the TrueType bytecode hinter if you need it |
---|
12 | ----------------------------------------------------- |
---|
13 | |
---|
14 | The TrueType bytecode interpreter is disabled in all public |
---|
15 | releases of the FreeType packages for patents reasons (see |
---|
16 | http://www.freetype.org/patents.html for more details). |
---|
17 | |
---|
18 | However, many Linux distributions do enable the interpreter in the |
---|
19 | FreeType packages (DEB/RPM/etc.) they produce for their platforms. |
---|
20 | If you are using TrueType fonts on your system, you most probably |
---|
21 | want to enable it manually by doing the following: |
---|
22 | |
---|
23 | - open the file "include/freetype/config/ftoption.h" |
---|
24 | |
---|
25 | - locate a line that says: |
---|
26 | |
---|
27 | #undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER |
---|
28 | |
---|
29 | - change it to: |
---|
30 | |
---|
31 | #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER |
---|
32 | |
---|
33 | of course, this must be done _before_ compiling the library |
---|
34 | |
---|
35 | |
---|
36 | |
---|
37 | II. Determine the correct installation path |
---|
38 | -------------------------------------------- |
---|
39 | |
---|
40 | By default, the source package will install the library in |
---|
41 | "/usr/local". However, many Unix distributions now install the |
---|
42 | library in "/usr", since FreeType is becoming a critical system |
---|
43 | component. |
---|
44 | |
---|
45 | If FreeType is already installed on your system, type |
---|
46 | |
---|
47 | freetype-config --prefix |
---|
48 | |
---|
49 | on the command line. This should return the installation path to |
---|
50 | use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use |
---|
51 | "/usr" (or what you think is adequate for your installation). |
---|
52 | |
---|
53 | |
---|
54 | |
---|
55 | III. Ensure that you are using GNU Make |
---|
56 | --------------------------------------- |
---|
57 | |
---|
58 | The FreeType build system _exclusively_ works with GNU Make. You |
---|
59 | will not be able to compile the library with the instructions |
---|
60 | below using any other alternative (including BSD Make). |
---|
61 | |
---|
62 | Trying to compile the library with a different Make tool will |
---|
63 | print a message like: |
---|
64 | |
---|
65 | Sorry, GNU make is required to build FreeType2. |
---|
66 | |
---|
67 | and the build process will be aborted. If this happens, install |
---|
68 | GNU Make on your system, and use the GNUMAKE environment variable |
---|
69 | to name it. |
---|
70 | |
---|
71 | |
---|
72 | |
---|
73 | IV. Build and install the library |
---|
74 | --------------------------------- |
---|
75 | |
---|
76 | The following should work on all Unix systems where the `make' |
---|
77 | command invokes GNU Make: |
---|
78 | |
---|
79 | ./configure --prefix=<yourprefix> |
---|
80 | make |
---|
81 | make install (as root) |
---|
82 | |
---|
83 | where "<yourprefix>" must be replaced by the prefix returned by |
---|
84 | the "freetype-config" command. |
---|
85 | |
---|
86 | When using a different command to invoke GNU Make, use the GNUMAKE |
---|
87 | variable. For example, if `gmake' is the command to use on your |
---|
88 | system, do something like: |
---|
89 | |
---|
90 | GNUMAKE=gmake ./configure --prefix=<yourprefix> |
---|
91 | gmake |
---|
92 | gmake install (as root) |
---|
93 | |
---|
94 | If this still doesn't work, read the detailed compilation |
---|
95 | procedure available in the file "docs/BUILD" for troubleshooting. |
---|
96 | |
---|
97 | |
---|
98 | V. Take care of XFree86 version 4 |
---|
99 | --------------------------------- |
---|
100 | |
---|
101 | Certain recent Linux distributions will install _several_ versions |
---|
102 | of FreeType on your system. For example, on a fresh Mandrake 8.1 |
---|
103 | system, you can find the following files: |
---|
104 | |
---|
105 | /usr/lib/libfreetype.so which links to |
---|
106 | /usr/lib/libfreetype.6.1.0.so |
---|
107 | |
---|
108 | and |
---|
109 | |
---|
110 | /usr/X11R6/lib/libfreetype.so which links to |
---|
111 | /usr/X11R6/lib/libfreetype.6.0.so |
---|
112 | |
---|
113 | Note that these files correspond to two distinct versions of the |
---|
114 | library! It seems that this surprising issue is due to the |
---|
115 | install scripts of recent XFree86 servers (from 4.1.0) which |
---|
116 | irremediably install their own (dated) version of the library in |
---|
117 | "/usr/X11R6/lib". |
---|
118 | |
---|
119 | In certain _rare_ cases you may experience minor problems if you |
---|
120 | install this release of the library in "/usr" only, namely, that |
---|
121 | certain applications will not benefit from the bug fixes and |
---|
122 | rendering improvements you'd expect. |
---|
123 | |
---|
124 | There are two good ways to deal with this situation: |
---|
125 | |
---|
126 | - Install the library _twice_, in "/usr" and in "/usr/X11R6" |
---|
127 | (you have to do that each time you install a new FreeType |
---|
128 | release though). |
---|
129 | |
---|
130 | - Change the link in /usr/X11R6/lib/libfreetype.so to point to |
---|
131 | |
---|
132 | /usr/lib/libfreetype.so, |
---|
133 | |
---|
134 | and get rid of |
---|
135 | |
---|
136 | /usr/X11R6/lib/libfreetype.6.0.so |
---|
137 | |
---|
138 | The FreeType Team is not responsible for this problem, so please |
---|
139 | contact either the XFree86 development team or your Linux |
---|
140 | distributor to help clear this issue in case the information given |
---|
141 | here doesn't help. |
---|