Changes in chapter08/ncurses.xml [91f9a17:5bef8f2]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter08/ncurses.xml
r91f9a17 r5bef8f2 1 <?xml version="1.0" encoding=" ISO-8859-1"?>1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" 3 3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ … … 100 100 <listitem> 101 101 <para>This switch causes wide-character libraries (e.g., <filename 102 class="libraryfile">libncursesw.so.&ncurses- version;</filename>)102 class="libraryfile">libncursesw.so.&ncurses-release;</filename>) 103 103 to be built instead of normal ones (e.g., <filename 104 class="libraryfile">libncurses.so.&ncurses- version;</filename>).104 class="libraryfile">libncurses.so.&ncurses-release;</filename>). 105 105 These wide-character libraries are usable in both multibyte and 106 106 traditional 8-bit locales, while normal libraries work properly … … 128 128 129 129 <para>The installation of this package will overwrite 130 <filename class="libraryfile">libncursesw.so.&ncurses- version;</filename>130 <filename class="libraryfile">libncursesw.so.&ncurses-release;</filename> 131 131 in-place. It may crash the shell process which is using code and data 132 132 from the library file. Install the package with 133 133 <literal>DESTDIR</literal>, and replace the library file correctly using 134 <command>install</command> command:</para> 134 <command>install</command> command (the header 135 <filename>curses.h</filename> is also edited to ensure the 136 wide-character ABI to be used as what we've done in 137 <xref linkend='ch-tools-ncurses'/>):</para> 135 138 136 139 <screen><userinput remap="install">make DESTDIR=$PWD/dest install 137 install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib 138 rm -v dest/usr/lib/libncursesw.so.&ncurses-version; 140 install -vm755 dest/usr/lib/libncursesw.so.&ncurses-release; /usr/lib 141 rm -v dest/usr/lib/libncursesw.so.&ncurses-release; 142 sed -e 's/^#if.*XOPEN.*$/#if 1/' \ 143 -i dest/usr/include/curses.h 139 144 cp -av dest/* /</userinput></screen> 140 145 141 146 <para>Many applications still expect the linker to be able to find 142 non-wide-character Ncurses libraries. Trick such applications into linking with 143 wide-character libraries by means of symlinks and linker scripts:</para> 147 non-wide-character Ncurses libraries. Trick such applications into 148 linking with wide-character libraries by means of symlinks 149 (note that the <filename class='extension'>.so</filename> links are 150 only safe with <filename>curses.h</filename> edited to always use the 151 wide-character ABI):</para> 144 152 145 153 <screen><userinput remap="install">for lib in ncurses form panel menu ; do 146 rm -vf /usr/lib/lib${lib}.so 147 echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so 148 ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc 154 ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so 155 ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc 149 156 done</userinput></screen> 150 157 … … 153 160 buildable:</para> 154 161 155 <screen><userinput remap="install">rm -vf /usr/lib/libcursesw.so 156 echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so 157 ln -sfv libncurses.so /usr/lib/libcurses.so</userinput></screen> 162 <screen><userinput remap="install">ln -sfv libncursesw.so /usr/lib/libcurses.so</userinput></screen> 158 163 159 164 <para>If desired, install the Ncurses documentation:</para> … … 207 212 </seg> 208 213 <seg> 209 libcursesw.so (symlink and linker script to libncursesw.so), 214 libcurses.so (symlink), 215 libform.so (symlink), 210 216 libformw.so, 217 libmenu.so (symlink), 211 218 libmenuw.so, 219 libncurses.so (symlink), 212 220 libncursesw.so, 213 221 libncurses++w.so, 214 libpanelw.so, and their non-wide-character counterparts without "w" 215 in the library names.</seg> 222 libpanel.so (symlink), 223 and libpanelw.so, 224 </seg> 216 225 <seg> 217 226 /usr/share/tabset, … … 343 352 </varlistentry> 344 353 345 <varlistentry id="libcursesw">346 <term><filename class="libraryfile">libcursesw</filename></term>347 <listitem>348 <para>A link to <filename>libncursesw</filename></para>349 <indexterm zone="ch-system-ncurses libcursesw">350 <primary sortas="c-libcursesw">libcursesw</primary>351 </indexterm>352 </listitem>353 </varlistentry>354 355 354 <varlistentry id="libncursesw"> 356 355 <term><filename class="libraryfile">libncursesw</filename></term>
Note:
See TracChangeset
for help on using the changeset viewer.