Changeset 093b0e8 for BOOK/final-system/common
- Timestamp:
- Jun 3, 2009, 11:48:55 AM (16 years ago)
- Branches:
- clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- 207aad6
- Parents:
- 968933d
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
BOOK/final-system/common/eglibc.xml
r968933d r093b0e8 6 6 ]> 7 7 8 <sect1 id="ch-system- glibc" role="wrap">9 <?dbhtml filename=" glibc.html"?>10 11 <title> Glibc-&glibc-version;</title>12 13 <indexterm zone="ch-system- glibc">14 <primary sortas="a- Glibc">Glibc</primary>8 <sect1 id="ch-system-eglibc" role="wrap"> 9 <?dbhtml filename="eglibc.html"?> 10 11 <title>EGLIBC-&eglibc-version;</title> 12 13 <indexterm zone="ch-system-eglibc"> 14 <primary sortas="a-EGLIBC">EGLIBC</primary> 15 15 </indexterm> 16 16 … … 18 18 <title/> 19 19 20 <para>The Glibcpackage contains the main C library. This library provides20 <para>The EGLIBC package contains the main C library. This library provides 21 21 the basic routines for allocating memory, searching directories, opening and 22 22 closing files, reading and writing files, string handling, pattern matching, … … 26 26 27 27 <sect2 role="installation"> 28 <title>Installation of Glibc</title>28 <title>Installation of EGLIBC</title> 29 29 30 30 <note os="z"> … … 34 34 <quote>This library provides an <function>iconv()</function> 35 35 implementation, for use on systems which don't have one, or whose 36 implementation cannot convert from/to Unicode.</quote> Glibcprovides36 implementation cannot convert from/to Unicode.</quote> EGLIBC provides 37 37 an <function>iconv()</function> implementation and can convert from/to 38 38 Unicode, therefore libiconv is not required on a CLFS system.</para> 39 39 </note> 40 40 41 <para os="b">The Glibcbuild system is self-contained and will install41 <para os="b">The EGLIBC build system is self-contained and will install 42 42 perfectly, even though the compiler specs file and linker are still 43 43 pointing at <filename class="directory">/tools</filename>. The specs 44 and linker cannot be adjusted before the Glibcinstall because the45 GlibcAutoconf tests would give false results and defeat the goal44 and linker cannot be adjusted before the EGLIBC install because the 45 EGLIBC Autoconf tests would give false results and defeat the goal 46 46 of achieving a clean build.</para> 47 47 48 <para os="c">The following patch fixes an issue that can 49 cause <command>localedef</command> to segfault:</para> 50 51 <screen os="d"><userinput>patch -Np1 -i ../&glibc-localedef_segfault-patch;</userinput></screen> 52 53 <para os="e">The Glibc documentation recommends building Glibc outside of the 48 <para os="e">The EGLIBC documentation recommends building EGLIBC outside of the 54 49 source directory in a dedicated build directory:</para> 55 50 56 <screen os="f"><userinput>mkdir -v ../ glibc-build57 cd ../ glibc-build</userinput></screen>58 59 <para os="g">Prepare Glibcfor compilation:</para>60 61 <screen os="h"><userinput>../ glibc-&glibc-version;/configure --prefix=/usr \51 <screen os="f"><userinput>mkdir -v ../eglibc-build 52 cd ../eglibc-build</userinput></screen> 53 54 <para os="g">Prepare EGLIBC for compilation:</para> 55 56 <screen os="h"><userinput>../eglibc-&eglibc-version;/configure --prefix=/usr \ 62 57 --disable-profile --enable-add-ons --enable-kernel=2.6.0 \ 63 --libexecdir=/usr/lib/ glibc</userinput></screen>58 --libexecdir=/usr/lib/eglibc</userinput></screen> 64 59 65 60 <variablelist os="i"> … … 67 62 68 63 <varlistentry> 69 <term><parameter>--libexecdir=/usr/lib/ glibc</parameter></term>64 <term><parameter>--libexecdir=/usr/lib/eglibc</parameter></term> 70 65 <listitem> 71 66 <para>This changes the location of the <command>pt_chown</command> 72 67 program from its default of <filename 73 68 class="directory">/usr/libexec</filename> to <filename 74 class="directory">/usr/lib/ glibc</filename>.</para>69 class="directory">/usr/lib/eglibc</filename>.</para> 75 70 </listitem> 76 71 </varlistentry> … … 82 77 83 78 <important os="l"> 84 <para>The test suite for Glibcis considered critical.79 <para>The test suite for EGLIBC is considered critical. 85 80 Do not skip it under any circumstance.</para> 86 81 </important> … … 90 85 <!-- items n,o,p no longer the master, use x86_64 which has no failures --> 91 86 92 <screen os="n"><userinput>make -k check > glibc-check-log 2>&1 ; grep Errorglibc-check-log</userinput></screen>93 94 <para os="o">The Glibctest suite is highly dependent on certain functions of87 <screen os="n"><userinput>make -k check >eglibc-check-log 2>&1 ; grep Error eglibc-check-log</userinput></screen> 88 89 <para os="o">The EGLIBC test suite is highly dependent on certain functions of 95 90 the host system, in particular the kernel. The posix/annexc test normally fails 96 91 and you should see <literal>Error 1 (ignored)</literal> in the output. Apart 97 from this, the Glibctest suite is always expected to pass. However, in certain92 from this, the EGLIBC test suite is always expected to pass. However, in certain 98 93 circumstances, some failures are unavoidable. If a test fails because of a missing 99 94 program (or missing symbolic link), or a segfault, you will see an error code … … 122 117 </itemizedlist> 123 118 124 <para os="q">Though it is a harmless message, the install stage of Glibcwill119 <para os="q">Though it is a harmless message, the install stage of EGLIBC will 125 120 complain about the absence of <filename>/etc/ld.so.conf</filename>. 126 121 Prevent this warning with:</para> … … 134 129 </sect2> 135 130 136 <sect2 id="i18n- glibc" role="configuration">131 <sect2 id="i18n-eglibc" role="configuration"> 137 132 <title>Internationalization</title> 138 133 … … 145 140 <para>To save time, an alternative to running the previous command (which 146 141 generates and installs every locale listed in the 147 glibc-&glibc-version;/localedata/SUPPORTED file) is to install only142 eglibc-&eglibc-version;/localedata/SUPPORTED file) is to install only 148 143 those locales that are wanted and needed. This can be achieved by using 149 144 the <command>localedef</command> command. Information on this command is 150 located in the <filename>INSTALL</filename> file in the Glibcsource.145 located in the <filename>INSTALL</filename> file in the EGLIBC source. 151 146 However, there are a number of locales that are essential in order for the 152 147 tests of future packages to pass, in particular, the … … 187 182 </sect2> 188 183 189 <sect2 id="conf- glibc" role="configuration">190 <title>Configuring Glibc</title>191 192 <indexterm zone="conf- glibc">184 <sect2 id="conf-eglibc" role="configuration"> 185 <title>Configuring EGLIBC</title> 186 187 <indexterm zone="conf-eglibc"> 193 188 <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary> 194 189 </indexterm> 195 190 196 <indexterm zone="conf- glibc">191 <indexterm zone="conf-eglibc"> 197 192 <primary sortas="e-/etc/localtime">/etc/localtime</primary> 198 193 </indexterm> 199 194 200 195 <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created 201 because, although Glibcprovides defaults when this file is missing or202 corrupt, the Glibcdefaults do not work well in a networked environment.196 because, although EGLIBC provides defaults when this file is missing or 197 corrupt, the EGLIBC defaults do not work well in a networked environment. 203 198 The time zone also needs to be configured.</para> 204 199 … … 291 286 </sect2> 292 287 293 <sect2 id="contents- glibc" role="content">294 <title>Contents of Glibc</title>288 <sect2 id="contents-eglibc" role="content"> 289 <title>Contents of EGLIBC</title> 295 290 296 291 <segmentedlist> … … 323 318 <para>Can be used to create a stack trace when a program 324 319 terminates with a segmentation fault</para> 325 <indexterm zone="ch-system- glibc catchsegv">320 <indexterm zone="ch-system-eglibc catchsegv"> 326 321 <primary sortas="b-catchsegv">catchsegv</primary> 327 322 </indexterm> … … 333 328 <listitem> 334 329 <para>Generates message catalogues</para> 335 <indexterm zone="ch-system- glibc gencat">330 <indexterm zone="ch-system-eglibc gencat"> 336 331 <primary sortas="b-gencat">gencat</primary> 337 332 </indexterm> … … 344 339 <para>Displays the system configuration values for file system specific 345 340 variables</para> 346 <indexterm zone="ch-system- glibc getconf">341 <indexterm zone="ch-system-eglibc getconf"> 347 342 <primary sortas="b-getconf">getconf</primary> 348 343 </indexterm> … … 354 349 <listitem> 355 350 <para>Gets entries from an administrative database</para> 356 <indexterm zone="ch-system- glibc getent">351 <indexterm zone="ch-system-eglibc getent"> 357 352 <primary sortas="b-getent">getent</primary> 358 353 </indexterm> … … 364 359 <listitem> 365 360 <para>Performs character set conversion</para> 366 <indexterm zone="ch-system- glibc iconv">361 <indexterm zone="ch-system-eglibc iconv"> 367 362 <primary sortas="b-iconv">iconv</primary> 368 363 </indexterm> … … 375 370 <para>Creates fastloading <command>iconv</command> module configuration 376 371 files</para> 377 <indexterm zone="ch-system- glibc iconvconfig">372 <indexterm zone="ch-system-eglibc iconvconfig"> 378 373 <primary sortas="b-iconvconfig">iconvconfig</primary> 379 374 </indexterm> … … 385 380 <listitem> 386 381 <para>Configures the dynamic linker runtime bindings</para> 387 <indexterm zone="ch-system- glibc ldconfig">382 <indexterm zone="ch-system-eglibc ldconfig"> 388 383 <primary sortas="b-ldconfig">ldconfig</primary> 389 384 </indexterm> … … 396 391 <para>Reports which shared libraries are required 397 392 by each given program or shared library</para> 398 <indexterm zone="ch-system- glibc ldd">393 <indexterm zone="ch-system-eglibc ldd"> 399 394 <primary sortas="b-ldd">ldd</primary> 400 395 </indexterm> … … 406 401 <listitem> 407 402 <para>Assists <command>ldd</command> with object files</para> 408 <indexterm zone="ch-system- glibc lddlibc4">403 <indexterm zone="ch-system-eglibc lddlibc4"> 409 404 <primary sortas="b-lddlibc4">lddlibc4</primary> 410 405 </indexterm> … … 417 412 <para>Tells the compiler to enable or disable the use of POSIX locales 418 413 for built-in operations</para> 419 <indexterm zone="ch-system- glibc locale">414 <indexterm zone="ch-system-eglibc locale"> 420 415 <primary sortas="b-locale">locale</primary> 421 416 </indexterm> … … 427 422 <listitem> 428 423 <para>Compiles locale specifications</para> 429 <indexterm zone="ch-system- glibc localedef">424 <indexterm zone="ch-system-eglibc localedef"> 430 425 <primary sortas="b-localedef">localedef</primary> 431 426 </indexterm> … … 438 433 <para>Reads and interprets a memory trace file and 439 434 displays a summary in human-readable format</para> 440 <indexterm zone="ch-system- glibc mtrace">435 <indexterm zone="ch-system-eglibc mtrace"> 441 436 <primary sortas="b-mtrace">mtrace</primary> 442 437 </indexterm> … … 449 444 <para>A daemon that provides a cache for the most common name 450 445 service requests</para> 451 <indexterm zone="ch-system- glibc nscd">446 <indexterm zone="ch-system-eglibc nscd"> 452 447 <primary sortas="b-nscd">nscd</primary> 453 448 </indexterm> … … 459 454 <listitem> 460 455 <para>Dumps information generated by PC profiling</para> 461 <indexterm zone="ch-system- glibc pcprofiledump">456 <indexterm zone="ch-system-eglibc pcprofiledump"> 462 457 <primary sortas="b-pcprofiledump">pcprofiledump</primary> 463 458 </indexterm> … … 470 465 <para>A helper program for <command>grantpt</command> to set the owner, 471 466 group and access permissions of a slave pseudo terminal</para> 472 <indexterm zone="ch-system- glibc pt_chown">467 <indexterm zone="ch-system-eglibc pt_chown"> 473 468 <primary sortas="b-pt_chown">pt_chown</primary> 474 469 </indexterm> … … 481 476 <para>Generates C code to implement the Remote Procecure Call (RPC) 482 477 protocol</para> 483 <indexterm zone="ch-system- glibc rpcgen">478 <indexterm zone="ch-system-eglibc rpcgen"> 484 479 <primary sortas="b-rpcgen">rpcgen</primary> 485 480 </indexterm> … … 491 486 <listitem> 492 487 <para>Makes an RPC call to an RPC server</para> 493 <indexterm zone="ch-system- glibc rpcinfo">488 <indexterm zone="ch-system-eglibc rpcinfo"> 494 489 <primary sortas="b-rpcinfo">rpcinfo</primary> 495 490 </indexterm> … … 501 496 <listitem> 502 497 <para>A statically linked program that creates symbolic links</para> 503 <indexterm zone="ch-system- glibc sln">498 <indexterm zone="ch-system-eglibc sln"> 504 499 <primary sortas="b-sln">sln</primary> 505 500 </indexterm> … … 511 506 <listitem> 512 507 <para>Reads and displays shared object profiling data</para> 513 <indexterm zone="ch-system- glibc sprof">508 <indexterm zone="ch-system-eglibc sprof"> 514 509 <primary sortas="b-sprof">sprof</primary> 515 510 </indexterm> … … 522 517 <para>Asks the user about the location of the 523 518 system and reports the corresponding time zone description</para> 524 <indexterm zone="ch-system- glibc tzselect">519 <indexterm zone="ch-system-eglibc tzselect"> 525 520 <primary sortas="b-tzselect">tzselect</primary> 526 521 </indexterm> … … 533 528 <para>Traces the execution of a program by 534 529 printing the currently executed function</para> 535 <indexterm zone="ch-system- glibc xtrace">530 <indexterm zone="ch-system-eglibc xtrace"> 536 531 <primary sortas="b-xtrace">xtrace</primary> 537 532 </indexterm> … … 543 538 <listitem> 544 539 <para>The time zone dumper</para> 545 <indexterm zone="ch-system- glibc zdump">540 <indexterm zone="ch-system-eglibc zdump"> 546 541 <primary sortas="b-zdump">zdump</primary> 547 542 </indexterm> … … 553 548 <listitem> 554 549 <para>The time zone compiler</para> 555 <indexterm zone="ch-system- glibc zic">550 <indexterm zone="ch-system-eglibc zic"> 556 551 <primary sortas="b-zic">zic</primary> 557 552 </indexterm> … … 563 558 <listitem> 564 559 <para>The helper program for shared library executables</para> 565 <indexterm zone="ch-system- glibc ld.so">560 <indexterm zone="ch-system-eglibc ld.so"> 566 561 <primary sortas="c-ld.so">ld.so</primary> 567 562 </indexterm> … … 573 568 <listitem> 574 569 <para>Used by programs, such as Mozilla, to solve broken locales</para> 575 <indexterm zone="ch-system- glibc libBrokenLocale">570 <indexterm zone="ch-system-eglibc libBrokenLocale"> 576 571 <primary sortas="c-libBrokenLocale">libBrokenLocale</primary> 577 572 </indexterm> … … 583 578 <listitem> 584 579 <para>The segmentation fault signal handler</para> 585 <indexterm zone="ch-system- glibc libSegFault">580 <indexterm zone="ch-system-eglibc libSegFault"> 586 581 <primary sortas="c-libSegFault">libSegFault</primary> 587 582 </indexterm> … … 593 588 <listitem> 594 589 <para>An asynchronous name lookup library</para> 595 <indexterm zone="ch-system- glibc libanl">590 <indexterm zone="ch-system-eglibc libanl"> 596 591 <primary sortas="c-libanl">libanl</primary> 597 592 </indexterm> … … 605 600 in order to run certain Berkey Software Distribution (BSD) programs 606 601 under Linux</para> 607 <indexterm zone="ch-system- glibc libbsd-compat">602 <indexterm zone="ch-system-eglibc libbsd-compat"> 608 603 <primary sortas="c-libbsd-compat">libbsd-compat</primary> 609 604 </indexterm> … … 615 610 <listitem> 616 611 <para>The main C library</para> 617 <indexterm zone="ch-system- glibc libc">612 <indexterm zone="ch-system-eglibc libc"> 618 613 <primary sortas="c-libc">libc</primary> 619 614 </indexterm> … … 625 620 <listitem> 626 621 <para>The cryptography library</para> 627 <indexterm zone="ch-system- glibc libcrypt">622 <indexterm zone="ch-system-eglibc libcrypt"> 628 623 <primary sortas="c-libcrypt">libcrypt</primary> 629 624 </indexterm> … … 635 630 <listitem> 636 631 <para>The dynamic linking interface library</para> 637 <indexterm zone="ch-system- glibc libdl">632 <indexterm zone="ch-system-eglibc libdl"> 638 633 <primary sortas="c-libdl">libdl</primary> 639 634 </indexterm> … … 645 640 <listitem> 646 641 <para>A runtime library for <command>g++</command></para> 647 <indexterm zone="ch-system- glibc libg">642 <indexterm zone="ch-system-eglibc libg"> 648 643 <primary sortas="c-libg">libg</primary> 649 644 </indexterm> … … 656 651 <para>The Institute of Electrical and Electronic Engineers (IEEE) 657 652 floating point library</para> 658 <indexterm zone="ch-system- glibc libieee">653 <indexterm zone="ch-system-eglibc libieee"> 659 654 <primary sortas="c-libieee">libieee</primary> 660 655 </indexterm> … … 666 661 <listitem> 667 662 <para>The mathematical library</para> 668 <indexterm zone="ch-system- glibc libm">663 <indexterm zone="ch-system-eglibc libm"> 669 664 <primary sortas="c-libm">libm</primary> 670 665 </indexterm> … … 676 671 <listitem> 677 672 <para>Contains code run at boot</para> 678 <indexterm zone="ch-system- glibc libmcheck">673 <indexterm zone="ch-system-eglibc libmcheck"> 679 674 <primary sortas="c-libmcheck">libmcheck</primary> 680 675 </indexterm> … … 685 680 <term><filename class="libraryfile">libmemusage</filename></term> 686 681 <listitem> 687 <para>Used by <command>memusage</command> (included in Glibc, but682 <para>Used by <command>memusage</command> (included in EGLIBC, but 688 683 not built in a base CLFS system as it has additional dependencies) 689 684 to help collect information about the memory usage of a program</para> 690 <indexterm zone="ch-system- glibc libmemusage">685 <indexterm zone="ch-system-eglibc libmemusage"> 691 686 <primary sortas="c-libmemusage">libmemusage</primary> 692 687 </indexterm> … … 698 693 <listitem> 699 694 <para>The network services library</para> 700 <indexterm zone="ch-system- glibc libnsl">695 <indexterm zone="ch-system-eglibc libnsl"> 701 696 <primary sortas="c-libnsl">libnsl</primary> 702 697 </indexterm> … … 710 705 resolving host names, user names, group names, aliases, services, 711 706 protocols, etc.</para> 712 <indexterm zone="ch-system- glibc libnss">707 <indexterm zone="ch-system-eglibc libnss"> 713 708 <primary sortas="c-libnss">libnss</primary> 714 709 </indexterm> … … 721 716 <para>Contains profiling functions used to track the amount of CPU 722 717 time spent in specific source code lines</para> 723 <indexterm zone="ch-system- glibc libpcprofile">718 <indexterm zone="ch-system-eglibc libpcprofile"> 724 719 <primary sortas="c-libpcprofile">libpcprofile</primary> 725 720 </indexterm> … … 731 726 <listitem> 732 727 <para>The POSIX threads library</para> 733 <indexterm zone="ch-system- glibc libpthread">728 <indexterm zone="ch-system-eglibc libpthread"> 734 729 <primary sortas="c-libpthread">libpthread</primary> 735 730 </indexterm> … … 742 737 <para>Contains functions for creating, sending, and interpreting 743 738 packets to the Internet domain name servers</para> 744 <indexterm zone="ch-system- glibc libresolv">739 <indexterm zone="ch-system-eglibc libresolv"> 745 740 <primary sortas="c-libresolv">libresolv</primary> 746 741 </indexterm> … … 752 747 <listitem> 753 748 <para>Contains functions providing miscellaneous RPC services</para> 754 <indexterm zone="ch-system- glibc librpcsvc">749 <indexterm zone="ch-system-eglibc librpcsvc"> 755 750 <primary sortas="c-librpcsvc">librpcsvc</primary> 756 751 </indexterm> … … 763 758 <para>Contains functions providing most of the interfaces specified by 764 759 the POSIX.1b Realtime Extension</para> 765 <indexterm zone="ch-system- glibc librt">760 <indexterm zone="ch-system-eglibc librt"> 766 761 <primary sortas="c-librt">librt</primary> 767 762 </indexterm> … … 774 769 <para>Contains functions useful for 775 770 building debuggers for multi-threaded programs</para> 776 <indexterm zone="ch-system- glibc libthread_db">771 <indexterm zone="ch-system-eglibc libthread_db"> 777 772 <primary sortas="c-libthread_db">libthread_db</primary> 778 773 </indexterm> … … 785 780 <para>Contains code for <quote>standard</quote> functions used in 786 781 many different Unix utilities</para> 787 <indexterm zone="ch-system- glibc libutil">782 <indexterm zone="ch-system-eglibc libutil"> 788 783 <primary sortas="c-libutil">libutil</primary> 789 784 </indexterm>
Note:
See TracChangeset
for help on using the changeset viewer.