glibc.po 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. msgid ""
  2. msgstr ""
  3. "Project-Id-Version: PACKAGE VERSION\n"
  4. "POT-Creation-Date: 2020-08-08 19:28+0800\n"
  5. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  6. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  7. "Language-Team: LANGUAGE <LL@li.org>\n"
  8. "Language: zh_CN\n"
  9. "MIME-Version: 1.0\n"
  10. "Content-Type: text/plain; charset=UTF-8\n"
  11. "Content-Transfer-Encoding: 8bit\n"
  12. "X-Generator: Translate Toolkit 2.2.5\n"
  13. #. type: Content of: <sect1><sect1info><address>
  14. #, no-wrap
  15. msgid "&glibc-url;"
  16. msgstr "&glibc-url;"
  17. #. type: Content of: <sect1><sect1info>
  18. msgid ""
  19. "<productname>glibc</productname> <productnumber>&glibc-version;</"
  20. "productnumber> <placeholder type=\"address\" id=\"0\"/>"
  21. msgstr ""
  22. "<productname>glibc</productname> <productnumber>&glibc-version;</"
  23. "productnumber> <placeholder type=\"address\" id=\"0\"/>"
  24. #. type: Content of: <sect1><title>
  25. msgid "Glibc-&glibc-version;"
  26. msgstr "Glibc-&glibc-version;"
  27. #. type: Content of: <sect1><indexterm><primary>
  28. msgid "Glibc"
  29. msgstr "Glibc"
  30. #. type: Content of: <sect1><indexterm><secondary>
  31. msgid "tools"
  32. msgstr "工具"
  33. #. type: Content of: <sect1><sect2><segmentedlist><segtitle>
  34. msgid "&buildtime;"
  35. msgstr "&buildtime;"
  36. #. type: Content of: <sect1><sect2><segmentedlist><segtitle>
  37. msgid "&diskspace;"
  38. msgstr "&diskspace;"
  39. #. type: Content of: <sect1><sect2><segmentedlist><seglistitem><seg>
  40. msgid "&glibc-tmp-sbu;"
  41. msgstr "&glibc-tmp-sbu;"
  42. #. type: Content of: <sect1><sect2><segmentedlist><seglistitem><seg>
  43. msgid "&glibc-tmp-du;"
  44. msgstr "&glibc-tmp-du;"
  45. #. type: Content of: <sect1><sect2><title>
  46. msgid "Installation of Glibc"
  47. msgstr "安装 Glibc"
  48. #. type: Content of: <sect1><sect2><para>
  49. msgid ""
  50. "First, create a symbolic link for LSB compliance. Additionally, for x86_64, "
  51. "create a compatibility symbolic link required for proper operation of the "
  52. "dynamic library loader:"
  53. msgstr ""
  54. "首先,创建一个 LSB 兼容性符号链接。另外,对于 x86_64,创建一个动态链接器正常"
  55. "工作所必须的符号链接:"
  56. #. type: Content of: <sect1><sect2><screen>
  57. #, no-wrap
  58. msgid ""
  59. "<userinput remap=\"pre\">case $(uname -m) in\n"
  60. " i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3\n"
  61. " ;;\n"
  62. " x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64\n"
  63. " ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3\n"
  64. " ;;\n"
  65. "esac</userinput>"
  66. msgstr ""
  67. "<userinput remap=\"pre\">case $(uname -m) in\n"
  68. " i?86) ln -sfv ld-linux.so.2 $LFS/lib/ld-lsb.so.3\n"
  69. " ;;\n"
  70. " x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64\n"
  71. " ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3\n"
  72. " ;;\n"
  73. "esac</userinput>"
  74. #. type: Content of: <sect1><sect2><para>
  75. msgid ""
  76. "Some of the Glibc programs use the non-FHS compliant <filename class="
  77. "\"directory\">/var/db</filename> directory to store their runtime data. "
  78. "Apply the following patch to make such programs store their runtime data in "
  79. "the FHS-compliant locations:"
  80. msgstr ""
  81. "一些 Glibc 程序使用与 FHS 不兼容的 <filename class=\"directory\">/var/db</"
  82. "filename> 目录存放它们的运行时数据。下面应用一个补丁,使得这些程序在 FHS 兼容"
  83. "的位置存放运行时数据:"
  84. #. type: Content of: <sect1><sect2><screen>
  85. #, no-wrap
  86. msgid "<userinput remap=\"pre\">patch -Np1 -i ../glibc-&glibc-version;-fhs-1.patch</userinput>"
  87. msgstr "<userinput remap=\"pre\">patch -Np1 -i ../glibc-&glibc-version;-fhs-1.patch</userinput>"
  88. #. type: Content of: <sect1><sect2><para>
  89. msgid ""
  90. "The Glibc documentation recommends building Glibc in a dedicated build "
  91. "directory:"
  92. msgstr "Glibc 文档推荐在一个专用目录中构建 Glibc:"
  93. #. type: Content of: <sect1><sect2><screen>
  94. #, no-wrap
  95. msgid ""
  96. "<userinput remap=\"pre\">mkdir -v build\n"
  97. "cd build</userinput>"
  98. msgstr ""
  99. "<userinput remap=\"pre\">mkdir -v build\n"
  100. "cd build</userinput>"
  101. #. type: Content of: <sect1><sect2><para>
  102. msgid "Next, prepare Glibc for compilation:"
  103. msgstr "下面,准备编译 Glibc:"
  104. #. type: Content of: <sect1><sect2><screen>
  105. #, no-wrap
  106. msgid ""
  107. "<userinput remap=\"configure\">../configure \\\n"
  108. " --prefix=/usr \\\n"
  109. " --host=$LFS_TGT \\\n"
  110. " --build=$(../scripts/config.guess) \\\n"
  111. " --enable-kernel=&min-kernel; \\\n"
  112. " --with-headers=$LFS/usr/include \\\n"
  113. " libc_cv_slibdir=/lib</userinput>"
  114. msgstr ""
  115. "<userinput remap=\"configure\">../configure \\\n"
  116. " --prefix=/usr \\\n"
  117. " --host=$LFS_TGT \\\n"
  118. " --build=$(../scripts/config.guess) \\\n"
  119. " --enable-kernel=&min-kernel; \\\n"
  120. " --with-headers=$LFS/usr/include \\\n"
  121. " libc_cv_slibdir=/lib</userinput>"
  122. #. type: Content of: <sect1><sect2><variablelist><title>
  123. msgid "The meaning of the configure options:"
  124. msgstr "配置选项的含义:"
  125. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  126. msgid ""
  127. "<parameter>--host=$LFS_TGT, --build=$(../scripts/config.guess)</parameter>"
  128. msgstr ""
  129. "<parameter>--host=$LFS_TGT, --build=$(../scripts/config.guess)</parameter>"
  130. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  131. msgid ""
  132. "The combined effect of these switches is that Glibc's build system "
  133. "configures itself to be cross-compiled, using the cross-linker and cross-"
  134. "compiler in <filename class=\"directory\">$LFS/tools</filename>."
  135. msgstr ""
  136. "在它们的共同作用下,Glibc 的构建系统将自身配置为使用 <filename class="
  137. "\"directory\">$LFS/tools</filename> 中的交叉链接器和交叉编译器,进行交叉编"
  138. "译。"
  139. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  140. msgid "<parameter>--enable-kernel=&min-kernel;</parameter>"
  141. msgstr "<parameter>--enable-kernel=&min-kernel;</parameter>"
  142. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  143. msgid ""
  144. "This tells Glibc to compile the library with support for &min-kernel; and "
  145. "later Linux kernels. Workarounds for older kernels are not enabled."
  146. msgstr ""
  147. "该选项告诉 Glibc 编译出支持 &min-kernel; 版或者更新的 Linux 内核,这样就不会"
  148. "使用那些为更老内核准备的替代方案。"
  149. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  150. msgid "<parameter>--with-headers=$LFS/usr/include</parameter>"
  151. msgstr "<parameter>--with-headers=$LFS/usr/include</parameter>"
  152. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  153. msgid ""
  154. "This tells Glibc to compile itself against the headers recently installed to "
  155. "the $LFS/usr/include directory, so that it knows exactly what features the "
  156. "kernel has and can optimize itself accordingly."
  157. msgstr ""
  158. "该选项告诉 Glibc 在编译过程中,使用 $LFS/usr/include 目录中的头文件,这样它就"
  159. "知道内核拥有哪些特性,并据此对自身进行优化。"
  160. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  161. msgid "<parameter>libc_cv_slibdir=/lib</parameter>"
  162. msgstr "<parameter>libc_cv_slibdir=/lib</parameter>"
  163. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  164. msgid ""
  165. "This ensures that the library is installed in /lib instead of the default /"
  166. "lib64 on 64 bit machines."
  167. msgstr "在 64 位机器上,这保证将库安装到 /lib,而不是默认的 /lib64。"
  168. #. type: Content of: <sect1><sect2><para>
  169. msgid "During this stage the following warning might appear:"
  170. msgstr "在当前阶段,可能出现下列警告:"
  171. #. type: Content of: <sect1><sect2><blockquote><screen>
  172. #, no-wrap
  173. msgid ""
  174. "<computeroutput>configure: WARNING:\n"
  175. "*** These auxiliary programs are missing or\n"
  176. "*** incompatible versions: msgfmt\n"
  177. "*** some features will be disabled.\n"
  178. "*** Check the INSTALL file for required versions.</computeroutput>"
  179. msgstr ""
  180. "<computeroutput>configure: WARNING:\n"
  181. "*** These auxiliary programs are missing or\n"
  182. "*** incompatible versions: msgfmt\n"
  183. "*** some features will be disabled.\n"
  184. "*** Check the INSTALL file for required versions.</computeroutput>"
  185. #. type: Content of: <sect1><sect2><para>
  186. msgid ""
  187. "The missing or incompatible <command>msgfmt</command> program is generally "
  188. "harmless. This <command>msgfmt</command> program is part of the Gettext "
  189. "package which the host distribution should provide."
  190. msgstr ""
  191. "<command>msgfmt</command> 程序的缺失或不兼容一般是无害的。<command>msgfmt</"
  192. "command> 程序是 Gettext 软件包的一部分,宿主发行版应该提供它。"
  193. #. type: Content of: <sect1><sect2><note><para>
  194. msgid ""
  195. "There have been reports that this package may fail when building as a "
  196. "\"parallel make\". If this occurs, rerun the make command with a \"-j1\" "
  197. "option."
  198. msgstr ""
  199. "有报告称该软件包在并行构建时可能失败,如果发生了这种情况,加上 \"-j1\" 选项重"
  200. "新执行 make 命令。"
  201. #. type: Content of: <sect1><sect2><para>
  202. msgid "Compile the package:"
  203. msgstr "编译该软件包:"
  204. #. type: Content of: <sect1><sect2><screen>
  205. #, no-wrap
  206. msgid "<userinput remap=\"make\">make</userinput>"
  207. msgstr "<userinput remap=\"make\">make</userinput>"
  208. #. type: Content of: <sect1><sect2><para>
  209. msgid "Install the package:"
  210. msgstr "安装该软件包:"
  211. #. type: Content of: <sect1><sect2><warning><para>
  212. msgid ""
  213. "If <envar>LFS</envar> is not properly set, and despite the recommendations, "
  214. "you are building as root, the next command will install the newly built "
  215. "glibc to your host system, which most likely will render it unusable. So "
  216. "double check that the environment is correctly set for user <systemitem "
  217. "class=\"username\">lfs</systemitem>."
  218. msgstr ""
  219. "如果 <envar>LFS</envar> 没有正确设定,而且您不顾本书的建议以 root 用户身份进"
  220. "行构建,下面的命令会将新构建的 glibc 安装到您的宿主系统中,这很可能导致宿主系"
  221. "统完全无法使用。因此,请再次检查该环境变量是否已经为 <systemitem class="
  222. "\"username\">lfs</systemitem> 用户设定好。"
  223. #. type: Content of: <sect1><sect2><screen>
  224. #, no-wrap
  225. msgid "<userinput remap=\"install\">make DESTDIR=$LFS install</userinput>"
  226. msgstr "<userinput remap=\"install\">make DESTDIR=$LFS install</userinput>"
  227. #. type: Content of: <sect1><sect2><variablelist><title>
  228. msgid "The meaning of the <command>make install</command> option:"
  229. msgstr "<command>make install</command> 选项的含义:"
  230. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  231. msgid "<parameter>DESTDIR=$LFS</parameter>"
  232. msgstr "<parameter>DESTDIR=$LFS</parameter>"
  233. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  234. msgid ""
  235. "The <envar>DESTDIR</envar> make variable is used by almost all packages to "
  236. "define the location where the package should be installed. If it is not set, "
  237. "it defaults to the root (<filename class=\"directory\">/</filename>) "
  238. "directory. Here we specify that the package be installed in <filename class="
  239. "\"directory\">$LFS </filename>, which will become the root after <xref "
  240. "linkend= \"ch-tools-chroot\"/>."
  241. msgstr ""
  242. "多数软件包使用 <envar>DESTDIR</envar> 变量指定软件包应该安装的位置。如果不设"
  243. "定它,默认值为根 (<filename class=\"directory\">/</filename>) 目录。这里我们"
  244. "指定将软件包安装到 <filename class=\"directory\">$LFS</filename>,它在<xref "
  245. "linkend=\"ch-tools-chroot\"/>之后将成为根目录。"
  246. #. type: Content of: <sect1><sect2><caution><para>
  247. msgid ""
  248. "At this point, it is imperative to stop and ensure that the basic functions "
  249. "(compiling and linking) of the new toolchain are working as expected. To "
  250. "perform a sanity check, run the following commands:"
  251. msgstr ""
  252. "现在我们不可避免地要停下确认新工具链的各基本功能 (编译和链接) 能如我们所预期"
  253. "的那样工作。执行以下命令进行完整性检查:"
  254. #. type: Content of: <sect1><sect2><caution><screen>
  255. #, no-wrap
  256. msgid ""
  257. "<userinput>echo 'int main(){}' &gt; dummy.c\n"
  258. "$LFS_TGT-gcc dummy.c\n"
  259. "readelf -l a.out | grep '/ld-linux'</userinput>"
  260. msgstr ""
  261. "<userinput>echo 'int main(){}' &gt; dummy.c\n"
  262. "$LFS_TGT-gcc dummy.c\n"
  263. "readelf -l a.out | grep '/ld-linux'</userinput>"
  264. #. type: Content of: <sect1><sect2><caution><para>
  265. msgid ""
  266. "If everything is working correctly, there should be no errors, and the "
  267. "output of the last command will be of the form:"
  268. msgstr ""
  269. "如果一切正常,那么应该没有错误消息,而且最后一行命令应该输出下列格式的内容:"
  270. #. type: Content of: <sect1><sect2><caution><screen>
  271. #, no-wrap
  272. msgid "<computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput>"
  273. msgstr "<computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput>"
  274. #. type: Content of: <sect1><sect2><caution><para>
  275. msgid ""
  276. "Note that for 32-bit machines, the interpreter name will be <filename>/lib/"
  277. "ld-linux.so.2</filename>."
  278. msgstr ""
  279. "注意,对于 32 位机器,解释器的名字将会是 <filename>/lib/ld-linux.so.2</"
  280. "filename>。"
  281. #. type: Content of: <sect1><sect2><caution><para>
  282. msgid ""
  283. "If the output is not shown as above or there was no output at all, then "
  284. "something is wrong. Investigate and retrace the steps to find out where the "
  285. "problem is and correct it. This issue must be resolved before continuing on."
  286. msgstr ""
  287. "如果输出不像上面描述的那样,或者根本没有输出,就说明出了问题。检查并重新跟踪"
  288. "各个步骤,找到出问题的地方并修正它。在继续构建之前,必须解决这个问题。"
  289. #. type: Content of: <sect1><sect2><caution><para>
  290. msgid "Once all is well, clean up the test files:"
  291. msgstr "检验步骤顺利完成后,清理测试文件:"
  292. #. type: Content of: <sect1><sect2><caution><screen>
  293. #, no-wrap
  294. msgid "<userinput>rm -v dummy.c a.out</userinput>"
  295. msgstr "<userinput>rm -v dummy.c a.out</userinput>"
  296. #. type: Content of: <sect1><sect2><note><para>
  297. msgid ""
  298. "Building packages in the next chapter will serve as an additional check that "
  299. "the toolchain has been built properly. If some package, especially binutils-"
  300. "pass2 or gcc-pass2, fails to build, it is an indication that something has "
  301. "gone wrong with the previous Binutils, GCC, or Glibc installations."
  302. msgstr ""
  303. "在下一章中,构建各软件包的过程可以作为对工具链是否正常构建的额外检查。如果 一"
  304. "些软件包,特别是第二遍的 Binutils 或者 GCC 不能构建,说明在之前安装 "
  305. "Binutils,GCC,或者 Glibc 时出了问题。"
  306. #. type: Content of: <sect1><sect2><para>
  307. msgid ""
  308. "Now that our cross-toolchain is complete, finalize the installation of the "
  309. "limits.h header. For doing so, run a utility provided by the GCC developers:"
  310. msgstr ""
  311. "现在我们的交叉工具链已经构建完成,可以完成 limits.h 头文件的安装。为此,运行 "
  312. "GCC 开发者提供的一个工具:"
  313. #. type: Content of: <sect1><sect2><screen>
  314. #, no-wrap
  315. msgid "<userinput>$LFS/tools/libexec/gcc/$LFS_TGT/&gcc-version;/install-tools/mkheaders</userinput>"
  316. msgstr "<userinput>$LFS/tools/libexec/gcc/$LFS_TGT/&gcc-version;/install-tools/mkheaders</userinput>"
  317. #. type: Content of: <sect1><sect2><para>
  318. msgid ""
  319. "Details on this package are located in <xref linkend=\"contents-glibc\" role="
  320. "\".\"/>"
  321. msgstr "该软件包的详细信息可以在<xref linkend=\"contents-glibc\"/>中找到。"