Changeset 88bbf22


Ignore:
Timestamp:
12/04/2021 08:53:16 AM (2 years ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, arm, bdubbs/gcc13, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
1ca2287, 5d6e557
Parents:
0fc98a0
Message:

ncursesw: do not in-place overwrite library being used by bash

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter08/ncurses.xml

    r0fc98a0 r88bbf22  
    9898    </para>
    9999
    100     <para>Install the package:</para>
    101 
    102 <screen><userinput remap="install">make install</userinput></screen>
     100    <!-- To editors: crash of shell process was very rare but really
     101         observed.  We can't simply remove /usr/lib/libncursesw.so.6.x like
     102         how we handle libmozjs-xx.so in BLFS because bash needs it, and
     103         make will spawn new shell processes during "make install".  -->
     104
     105    <para>The installation of this package will overwrite
     106    <filename class="libraryfile">libncursesw.so.&ncurses-version;</filename>
     107    in-place.  It may crash the shell process which is using code and data
     108    from the library file.  Install the package with
     109    <literal>DESTDIR</literal>, and replace the library file correctly using
     110    <command>install</command> command.  A useless static archive which is
     111    not handled by <command>configure</command> is also removed:</para>
     112
     113<screen><userinput remap="install">make DESTDIR=$PWD/dest install
     114install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib
     115rm -v  dest/usr/lib/{libncursesw.so.&ncurses-version;,libncurses++w.a}
     116cp -av dest/* /</userinput></screen>
    103117
    104118    <para>Many applications still expect the linker to be able to find
     
    119133echo "INPUT(-lncursesw)" &gt; /usr/lib/libcursesw.so
    120134ln -sfv libncurses.so      /usr/lib/libcurses.so</userinput></screen>
    121 
    122     <para>Remove a static library that is not handled by configure:</para>
    123 
    124 <screen><userinput remap="install">rm -fv /usr/lib/libncurses++w.a</userinput></screen>
    125135
    126136    <para>If desired, install the Ncurses documentation:</para>
Note: See TracChangeset for help on using the changeset viewer.