Changes in chapter08/ncurses.xml [5bef8f2:91f9a17]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter08/ncurses.xml
r5bef8f2 r91f9a17 1 <?xml version="1.0" encoding=" UTF-8"?>1 <?xml version="1.0" encoding="ISO-8859-1"?> 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- release;</filename>)102 class="libraryfile">libncursesw.so.&ncurses-version;</filename>) 103 103 to be built instead of normal ones (e.g., <filename 104 class="libraryfile">libncurses.so.&ncurses- release;</filename>).104 class="libraryfile">libncurses.so.&ncurses-version;</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- release;</filename>130 <filename class="libraryfile">libncursesw.so.&ncurses-version;</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 (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> 134 <command>install</command> command:</para> 138 135 139 136 <screen><userinput remap="install">make DESTDIR=$PWD/dest install 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 137 install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib 138 rm -v dest/usr/lib/libncursesw.so.&ncurses-version; 144 139 cp -av dest/* /</userinput></screen> 145 140 146 141 <para>Many applications still expect the linker to be able to find 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> 142 non-wide-character Ncurses libraries. Trick such applications into linking with 143 wide-character libraries by means of symlinks and linker scripts:</para> 152 144 153 145 <screen><userinput remap="install">for lib in ncurses form panel menu ; do 154 ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so 155 ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc 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 156 149 done</userinput></screen> 157 150 … … 160 153 buildable:</para> 161 154 162 <screen><userinput remap="install">ln -sfv libncursesw.so /usr/lib/libcurses.so</userinput></screen> 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> 163 158 164 159 <para>If desired, install the Ncurses documentation:</para> … … 212 207 </seg> 213 208 <seg> 214 libcurses.so (symlink), 215 libform.so (symlink), 209 libcursesw.so (symlink and linker script to libncursesw.so), 216 210 libformw.so, 217 libmenu.so (symlink),218 211 libmenuw.so, 219 libncurses.so (symlink),220 212 libncursesw.so, 221 213 libncurses++w.so, 222 libpanel.so (symlink), 223 and libpanelw.so, 224 </seg> 214 libpanelw.so, and their non-wide-character counterparts without "w" 215 in the library names.</seg> 225 216 <seg> 226 217 /usr/share/tabset, … … 352 343 </varlistentry> 353 344 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 354 355 <varlistentry id="libncursesw"> 355 356 <term><filename class="libraryfile">libncursesw</filename></term>
Note:
See TracChangeset
for help on using the changeset viewer.