glibc.po 15 KB

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