OLD | NEW |
1 | 1 |
2 XZ Utils Installation | 2 XZ Utils Installation |
3 ===================== | 3 ===================== |
4 | 4 |
5 0. Preface | 5 0. Preface |
6 1. Supported platforms | 6 1. Supported platforms |
7 1.1. Compilers | 7 1.1. Compilers |
8 1.2. Platform-specific notes | 8 1.2. Platform-specific notes |
9 1.2.1. IRIX | 9 1.2.1. AIX |
10 1.2.2. MINIX 3 | 10 1.2.2. IRIX |
11 1.2.3. OpenVMS | 11 1.2.3. MINIX 3 |
12 1.2.4. Solaris, OpenSolaris, and derivatives | 12 1.2.4. OpenVMS |
13 1.2.5. Tru64 | 13 1.2.5. Solaris, OpenSolaris, and derivatives |
14 1.2.6. Windows | 14 1.2.6. Tru64 |
15 1.2.7. DOS | 15 1.2.7. Windows |
| 16 1.2.8. DOS |
16 1.3. Adding support for new platforms | 17 1.3. Adding support for new platforms |
17 2. configure options | 18 2. configure options |
18 2.1. Static vs. dynamic linking of liblzma | 19 2.1. Static vs. dynamic linking of liblzma |
19 2.2. Optimizing xzdec and lzmadec | 20 2.2. Optimizing xzdec and lzmadec |
20 3. xzgrep and other scripts | 21 3. xzgrep and other scripts |
21 3.1. Dependencies | 22 3.1. Dependencies |
22 3.2. PATH | 23 3.2. PATH |
23 4. Troubleshooting | 24 4. Troubleshooting |
24 4.1. "No C99 compiler was found." | 25 4.1. "No C99 compiler was found." |
25 4.2. "No POSIX conforming shell (sh) was found." | 26 4.2. "No POSIX conforming shell (sh) was found." |
(...skipping 30 matching lines...) Expand all Loading... |
56 C99 features used in XZ Utils source code, thus GCC 2 won't compile | 57 C99 features used in XZ Utils source code, thus GCC 2 won't compile |
57 XZ Utils. | 58 XZ Utils. |
58 | 59 |
59 XZ Utils takes advantage of some GNU C extensions when building | 60 XZ Utils takes advantage of some GNU C extensions when building |
60 with GCC. Because these extensions are used only when building | 61 with GCC. Because these extensions are used only when building |
61 with GCC, it should be possible to use any C99 compiler. | 62 with GCC, it should be possible to use any C99 compiler. |
62 | 63 |
63 | 64 |
64 1.2. Platform-specific notes | 65 1.2. Platform-specific notes |
65 | 66 |
66 1.2.1. IRIX | 67 1.2.1. AIX |
| 68 |
| 69 If you use IBM XL C compiler, pass CC=xlc_r to configure. If |
| 70 you use CC=xlc instead, you must disable threading support |
| 71 with --disable-threads (usually not recommended). |
| 72 |
| 73 |
| 74 1.2.2. IRIX |
67 | 75 |
68 MIPSpro 7.4.4m has been reported to produce broken code if using | 76 MIPSpro 7.4.4m has been reported to produce broken code if using |
69 the -O2 optimization flag ("make check" fails). Using -O1 should | 77 the -O2 optimization flag ("make check" fails). Using -O1 should |
70 work. | 78 work. |
71 | 79 |
72 A problem has been reported when using shared liblzma. Passing | 80 A problem has been reported when using shared liblzma. Passing |
73 --disable-shared to configure works around this. Alternatively, | 81 --disable-shared to configure works around this. Alternatively, |
74 putting "-64" to CFLAGS to build a 64-bit version might help too. | 82 putting "-64" to CFLAGS to build a 64-bit version might help too. |
75 | 83 |
76 | 84 |
77 1.2.2. MINIX 3 | 85 1.2.3. MINIX 3 |
78 | 86 |
79 The default install of MINIX 3 includes Amsterdam Compiler Kit (ACK), | 87 The default install of MINIX 3 includes Amsterdam Compiler Kit (ACK), |
80 which doesn't support C99. Install GCC to compile XZ Utils. | 88 which doesn't support C99. Install GCC to compile XZ Utils. |
81 | 89 |
82 MINIX 3.1.8 (and possibly some other versions too) has bugs in | 90 MINIX 3.1.8 and older have bugs in /usr/include/stdint.h, which has |
83 /usr/include/stdint.h, which has to be patched before XZ Utils | 91 to be patched before XZ Utils can be compiled correctly. See |
84 can be compiled correctly. See | |
85 <http://gforge.cs.vu.nl/gf/project/minix/tracker/?action=TrackerItemEdit&tra
cker_item_id=537>. | 92 <http://gforge.cs.vu.nl/gf/project/minix/tracker/?action=TrackerItemEdit&tra
cker_item_id=537>. |
86 | 93 |
| 94 MINIX 3.2.0 and later use a different libc and aren't affected by |
| 95 the above bug. |
| 96 |
87 XZ Utils doesn't have code to detect the amount of physical RAM and | 97 XZ Utils doesn't have code to detect the amount of physical RAM and |
88 number of CPU cores on MINIX 3. | 98 number of CPU cores on MINIX 3. |
89 | 99 |
90 See section 4.4 in this file about symbol visibility warnings (you | 100 See section 4.4 in this file about symbol visibility warnings (you |
91 may want to pass gl_cv_cc_visibility=no to configure). | 101 may want to pass gl_cv_cc_visibility=no to configure). |
92 | 102 |
93 | 103 |
94 1.2.3. OpenVMS | 104 1.2.4. OpenVMS |
95 | 105 |
96 XZ Utils can be built for OpenVMS, but the build system files | 106 XZ Utils can be built for OpenVMS, but the build system files |
97 are not included in the XZ Utils source package. The required | 107 are not included in the XZ Utils source package. The required |
98 OpenVMS-specific files are maintained by Jouk Jansen and can be | 108 OpenVMS-specific files are maintained by Jouk Jansen and can be |
99 downloaded here: | 109 downloaded here: |
100 | 110 |
101 http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils | 111 http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils |
102 | 112 |
103 | 113 |
104 1.2.4. Solaris, OpenSolaris, and derivatives | 114 1.2.5. Solaris, OpenSolaris, and derivatives |
105 | 115 |
106 The following linker error has been reported on some x86 systems: | 116 The following linker error has been reported on some x86 systems: |
107 | 117 |
108 ld: fatal: relocation error: R_386_GOTOFF: ... | 118 ld: fatal: relocation error: R_386_GOTOFF: ... |
109 | 119 |
110 This can be worked around by passing gl_cv_cc_visibility=no | 120 This can be worked around by passing gl_cv_cc_visibility=no |
111 as an argument to the configure script. | 121 as an argument to the configure script. |
112 | 122 |
113 | 123 |
114 1.2.5. Tru64 | 124 1.2.6. Tru64 |
115 | 125 |
116 If you try to use the native C compiler on Tru64 (passing CC=cc to | 126 If you try to use the native C compiler on Tru64 (passing CC=cc to |
117 configure), you may need the workaround mention in section 4.1 in | 127 configure), you may need the workaround mention in section 4.1 in |
118 this file (pass also ac_cv_prog_cc_c99= to configure). | 128 this file (pass also ac_cv_prog_cc_c99= to configure). |
119 | 129 |
120 | 130 |
121 1.2.6. Windows | 131 1.2.7. Windows |
122 | 132 |
123 Building XZ Utils on Windows is supported under MinGW + MSYS, | 133 Building XZ Utils on Windows is supported under MinGW + MSYS, |
124 MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to | 134 MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to |
125 ease packaging XZ Utils with MinGW(-w64) + MSYS into a | 135 ease packaging XZ Utils with MinGW(-w64) + MSYS into a |
126 redistributable .zip or .7z file. See windows/INSTALL-Windows.txt | 136 redistributable .zip or .7z file. See windows/INSTALL-Windows.txt |
127 for more information. | 137 for more information. |
128 | 138 |
129 It might be possible to build liblzma with a non-GNU toolchain too, | 139 It might be possible to build liblzma with a non-GNU toolchain too, |
130 but that will probably require writing a separate makefile. Building | 140 but that will probably require writing a separate makefile. Building |
131 the command line tools with non-GNU toolchains will be harder than | 141 the command line tools with non-GNU toolchains will be harder than |
132 building only liblzma. | 142 building only liblzma. |
133 | 143 |
134 Even if liblzma is built with MinGW, the resulting DLL or static | 144 Even if liblzma is built with MinGW, the resulting DLL or static |
135 library can be used by other compilers and linkers, including MSVC. | 145 library can be used by other compilers and linkers, including MSVC. |
136 Thus, it shouldn't be a problem to use MinGW to build liblzma even | 146 Thus, it shouldn't be a problem to use MinGW to build liblzma even |
137 if you cannot use MinGW to build the rest of your project. See | 147 if you cannot use MinGW to build the rest of your project. See |
138 windows/README-Windows.txt for details. | 148 windows/README-Windows.txt for details. |
139 | 149 |
140 | 150 |
141 1.2.7. DOS | 151 1.2.8. DOS |
142 | 152 |
143 There is an experimental Makefile in the "dos" directory to build | 153 There is an experimental Makefile in the "dos" directory to build |
144 XZ Utils on DOS using DJGPP. Support for long file names (LFN) is | 154 XZ Utils on DOS using DJGPP. Support for long file names (LFN) is |
145 needed. See dos/README for more information. | 155 needed. See dos/README for more information. |
146 | 156 |
147 GNU Autotools based build hasn't been tried on DOS. If you try, I | 157 GNU Autotools based build hasn't been tried on DOS. If you try, I |
148 would like to hear if it worked. | 158 would like to hear if it worked. |
149 | 159 |
150 | 160 |
151 1.3. Adding support for new platforms | 161 1.3. Adding support for new platforms |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 | 456 |
447 On some systems where symbol visibility isn't supported, GCC may | 457 On some systems where symbol visibility isn't supported, GCC may |
448 still accept the visibility options and attributes, which will make | 458 still accept the visibility options and attributes, which will make |
449 configure think that visibility is supported. This will result in | 459 configure think that visibility is supported. This will result in |
450 many compiler warnings. You can avoid the warnings by forcing the | 460 many compiler warnings. You can avoid the warnings by forcing the |
451 visibility support off by passing gl_cv_cc_visibility=no as an | 461 visibility support off by passing gl_cv_cc_visibility=no as an |
452 argument to the configure script. This has no effect on the | 462 argument to the configure script. This has no effect on the |
453 resulting binaries, but fewer warnings looks nicer and may allow | 463 resulting binaries, but fewer warnings looks nicer and may allow |
454 using --enable-werror. | 464 using --enable-werror. |
455 | 465 |
OLD | NEW |