Files
LFS_Book/chapter06/bc.xml
Anton Maisak 735a1886b9 SYNC
Revision: 11482
Author: bdubbs
Date: 7 ноября 2018 г. 19:49:27
Message:
Fix temp symlink in Chapter 6 bc package
----
Modified : /trunk/BOOK/chapter06/bc.xml
2018-12-14 16:44:46 +03:00

141 lines
5.8 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-bc" role="wrap">
<?dbhtml filename="bc.html"?>
<sect1info condition="script">
<productname>bc</productname>
<productnumber>&bc-version;</productnumber>
<address>&bc-url;</address>
</sect1info>
<title>Bc-&bc-version;</title>
<indexterm zone="ch-system-bc">
<primary sortas="a-Bc">Bc</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>BC (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью. Часто используется как калькулятор в командной строке UNIX-подобных операционных систем.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&bc-ch6-sbu;</seg>
<seg>&bc-ch6-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Установка пакета Bc</title>
<para>Сначала, изменим внутренний файл сценария, чтобы он использовал программу <command>sed</command> вместо <command>ed</command>:</para>
<screen><userinput remap="pre">cat &gt; bc/fix-libmath_h &lt;&lt; "EOF"
#! /bin/bash
sed -e '1 s/^/{"/' \
-e 's/$/",/' \
-e '2,$ s/^/"/' \
-e '$ d' \
-i libmath.h
sed -e '$ s/$/0}/' \
-i libmath.h
EOF</userinput></screen>
<para>Создадим временную символическую ссылку, чтобы пакет смог обнаружить библиотеку readline и подтвердить, что необходимая библиотека libncurses доступна. Хотя, на данный моммент, эти библиотеки находятся в каталоге /tools/lib, в конце главы система будет использовать каталог /usr/lib.</para>
<screen><userinput remap="pre">ln -sv /tools/lib/libncursesw.so.6 /usr/lib/libncursesw.so.6
ln -sfv libncursesw.so.6 /usr/lib/libncurses.so</userinput></screen>
<para>Исправьте проблему отсутствия некоторых файлов на раннем этапе сборки LFS в файле <command>configure</command>:</para>
<screen><userinput remap="pre">sed -i -e '/flex/s/as_fn_error/: ;; # &amp;/' configure</userinput></screen>
<para>Подготовьте пакет Bc к компиляции:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--with-readline \
--mandir=/usr/share/man \
--infodir=/usr/share/info</userinput></screen>
<variablelist>
<title>Значение параметров конфигурации:</title>
<varlistentry>
<term><parameter>--with-readline</parameter></term>
<listitem>
<para>Аргумент сообщает BC использовать библиотеку <filename
class="libraryfile">readline</filename> которая была установлена ранее в системе, вместо использования встроенной.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Для того, чтобы выполнить тестирования пакета BC, выполните команды, приведенные ниже. В процессе выполнения тестирования на экране будет отображаться достаточно большое количество информации о результатах. Можно выполнить перенаправление вывода в файл. Будет небольшой процент тестов (10 из 12,144) указывающих на ошибку округления на последней цифре.</para>
<screen><userinput remap="test">echo "quit" | ./bc/bc -l Test/checklib.b</userinput></screen>
<para>Установите пакет:</para>
<screen><userinput remap="install">make install</userinput></screen>
</sect2>
<sect2 id="contents-bc" role="content">
<title>Содержимое пакета Bc</title>
<segmentedlist>
<segtitle>Установленные программы</segtitle>
<seglistitem>
<seg>bc and dc</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Краткое описание</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="bc">
<term><command>bc</command></term>
<listitem>
<para>Калькулятор командной строки</para>
<indexterm zone="ch-system-bc bc">
<primary sortas="b-bc">bc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dc">
<term><command>dc</command></term>
<listitem>
<para>Калькулятор командной строки с обратной обработкой</para>
<indexterm zone="ch-system-bc dc">
<primary sortas="b-dc">dc</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>