gcc-pass1.po 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. msgid ""
  2. msgstr ""
  3. "X-Pootle-Revision: 9999999\n"
  4. "X-Pootle-Path: /zh_CN/lfs/chapter05/gcc-pass1.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 "&gcc-url;"
  18. msgstr "&gcc-url;"
  19. #. type: Content of: <sect1><sect1info>
  20. msgid ""
  21. "<productname>gcc-pass1</productname> <productnumber>&gcc-version;</"
  22. "productnumber> <placeholder type=\"address\" id=\"0\"/>"
  23. msgstr ""
  24. "<productname>gcc-pass1</productname> <productnumber>&gcc-version;</"
  25. "productnumber> <placeholder type=\"address\" id=\"0\"/>"
  26. #. type: Content of: <sect1><title>
  27. msgid "GCC-&gcc-version; - Pass 1"
  28. msgstr "GCC-&gcc-version; - 第一遍"
  29. #. type: Content of: <sect1><indexterm><primary>
  30. msgid "GCC"
  31. msgstr "GCC"
  32. #. type: Content of: <sect1><indexterm><secondary>
  33. msgid "tools, pass 1"
  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 "&gcc-tmpp1-sbu;"
  43. msgstr "&gcc-tmpp1-sbu;"
  44. #. type: Content of: <sect1><sect2><segmentedlist><seglistitem><seg>
  45. msgid "&gcc-tmpp1-du;"
  46. msgstr "&gcc-tmpp1-du;"
  47. #. type: Content of: <sect1><sect2><title>
  48. msgid "Installation of Cross GCC"
  49. msgstr "安装交叉工具链中的 GCC"
  50. #. type: Content of: <sect1><sect2><para>
  51. msgid ""
  52. "GCC requires the GMP, MPFR and MPC packages. As these packages may not be "
  53. "included in your host distribution, they will be built with GCC. Unpack "
  54. "each package into the GCC source directory and rename the resulting "
  55. "directories so the GCC build procedures will automatically use them:"
  56. msgstr ""
  57. "GCC 依赖于 GMP、MPFR 和 MPC 这三个包。由于宿主发行版未必包含它们,我们将它们"
  58. "和 GCC 一同构建。将它们都解压到 GCC 源码目录中,并重命名解压出的目录,这样 "
  59. "GCC 构建过程就能自动使用它们:"
  60. #. type: Content of: <sect1><sect2><note><para>
  61. msgid ""
  62. "There are frequent misunderstandings about this chapter. The procedures are "
  63. "the same as every other chapter as explained earlier (<xref "
  64. "linkend='buildinstr'/>). First extract the gcc tarball from the sources "
  65. "directory and then change to the directory created. Only then should you "
  66. "proceed with the instructions below."
  67. msgstr ""
  68. "对于本章内容有一些很常见的误解。该软件包的构建过程就像之前 (<xref "
  69. "linkend='buildinstr'/>) 解释的那样,首先解压 GCC 压缩包,切换到解压出的目录"
  70. "中,再执行下面的命令。"
  71. #. type: Content of: <sect1><sect2><screen>
  72. #, no-wrap
  73. msgid ""
  74. "<userinput remap=\"pre\">tar -xf ../mpfr-&mpfr-version;.tar.xz\n"
  75. "mv -v mpfr-&mpfr-version; mpfr\n"
  76. "tar -xf ../gmp-&gmp-version;.tar.xz\n"
  77. "mv -v gmp-&gmp-version; gmp\n"
  78. "tar -xf ../mpc-&mpc-version;.tar.gz\n"
  79. "mv -v mpc-&mpc-version; mpc</userinput>"
  80. msgstr ""
  81. "<userinput remap=\"pre\">tar -xf ../mpfr-&mpfr-version;.tar.xz\n"
  82. "mv -v mpfr-&mpfr-version; mpfr\n"
  83. "tar -xf ../gmp-&gmp-version;.tar.xz\n"
  84. "mv -v gmp-&gmp-version; gmp\n"
  85. "tar -xf ../mpc-&mpc-version;.tar.gz\n"
  86. "mv -v mpc-&mpc-version; mpc</userinput>"
  87. #. type: Content of: <sect1><sect2><para>
  88. msgid ""
  89. "On x86_64 hosts, set the default directory name for 64-bit libraries to "
  90. "<quote>lib</quote>:"
  91. msgstr ""
  92. "对于 x86_64 平台,还要设置存放 64 位库的默认目录为 <quote>lib</quote>:"
  93. #. type: Content of: <sect1><sect2><screen>
  94. #, no-wrap
  95. msgid ""
  96. "<userinput remap=\"pre\">case $(uname -m) in\n"
  97. " x86_64)\n"
  98. " sed -e '/m64=/s/lib64/lib/' \\\n"
  99. " -i.orig gcc/config/i386/t-linux64\n"
  100. " ;;\n"
  101. "esac</userinput>"
  102. msgstr ""
  103. "<userinput remap=\"pre\">case $(uname -m) in\n"
  104. " x86_64)\n"
  105. " sed -e '/m64=/s/lib64/lib/' \\\n"
  106. " -i.orig gcc/config/i386/t-linux64\n"
  107. " ;;\n"
  108. "esac</userinput>"
  109. #. type: Content of: <sect1><sect2><para>
  110. msgid ""
  111. "The GCC documentation recommends building GCC in a dedicated build directory:"
  112. msgstr "GCC 文档建议在一个专用目录中构建 GCC:"
  113. #. type: Content of: <sect1><sect2><screen>
  114. #, no-wrap
  115. msgid ""
  116. "<userinput remap=\"pre\">mkdir -v build\n"
  117. "cd build</userinput>"
  118. msgstr ""
  119. "<userinput remap=\"pre\">mkdir -v build\n"
  120. "cd build</userinput>"
  121. #. type: Content of: <sect1><sect2><para>
  122. msgid "Prepare GCC for compilation:"
  123. msgstr "准备编译 GCC:"
  124. #. type: Content of: <sect1><sect2><screen>
  125. #, no-wrap
  126. msgid ""
  127. "<userinput remap=\"configure\">../configure \\\n"
  128. " --target=$LFS_TGT \\\n"
  129. " --prefix=$LFS/tools \\\n"
  130. " --with-glibc-version=2.11 \\\n"
  131. " --with-sysroot=$LFS \\\n"
  132. " --with-newlib \\\n"
  133. " --without-headers \\\n"
  134. " --enable-initfini-array \\\n"
  135. " --disable-nls \\\n"
  136. " --disable-shared \\\n"
  137. " --disable-multilib \\\n"
  138. " --disable-decimal-float \\\n"
  139. " --disable-threads \\\n"
  140. " --disable-libatomic \\\n"
  141. " --disable-libgomp \\\n"
  142. " --disable-libquadmath \\\n"
  143. " --disable-libssp \\\n"
  144. " --disable-libvtv \\\n"
  145. " --disable-libstdcxx \\\n"
  146. " --enable-languages=c,c++</userinput>"
  147. msgstr ""
  148. "<userinput remap=\"configure\">../configure \\\n"
  149. " --target=$LFS_TGT \\\n"
  150. " --prefix=$LFS/tools \\\n"
  151. " --with-glibc-version=2.11 \\\n"
  152. " --with-sysroot=$LFS \\\n"
  153. " --with-newlib \\\n"
  154. " --without-headers \\\n"
  155. " --enable-initfini-array \\\n"
  156. " --disable-nls \\\n"
  157. " --disable-shared \\\n"
  158. " --disable-multilib \\\n"
  159. " --disable-decimal-float \\\n"
  160. " --disable-threads \\\n"
  161. " --disable-libatomic \\\n"
  162. " --disable-libgomp \\\n"
  163. " --disable-libquadmath \\\n"
  164. " --disable-libssp \\\n"
  165. " --disable-libvtv \\\n"
  166. " --disable-libstdcxx \\\n"
  167. " --enable-languages=c,c++</userinput>"
  168. #. type: Content of: <sect1><sect2><variablelist><title>
  169. msgid "The meaning of the configure options:"
  170. msgstr "配置选项的含义:"
  171. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  172. msgid "<parameter>--with-glibc-version=2.11</parameter>"
  173. msgstr "<parameter>--with-glibc-version=2.11</parameter>"
  174. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  175. msgid ""
  176. "This option ensures the package will be compatible with the host's version "
  177. "of glibc. It is set to the minimum glibc requirement specified in the <xref "
  178. "linkend=\"ch-partitioning-hostreqs\"/>."
  179. msgstr ""
  180. "该选项确保该软件包与宿主的 glibc 版本兼容。它被设定为<xref linkend=\"ch-"
  181. "partitioning-hostreqs\"/>中要求的最小 glibc 版本一致。"
  182. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  183. msgid "<parameter>--with-newlib</parameter>"
  184. msgstr "<parameter>--with-newlib</parameter>"
  185. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  186. msgid ""
  187. "Since a working C library is not yet available, this ensures that the "
  188. "inhibit_libc constant is defined when building libgcc. This prevents the "
  189. "compiling of any code that requires libc support."
  190. msgstr ""
  191. "由于现在没有可用的 C 运行库,使用该选项保证构建 libgcc 时 inhibit_libc 常量被"
  192. "定义,以防止编译任何需要 libc 支持的代码。"
  193. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  194. msgid "<parameter>--without-headers</parameter>"
  195. msgstr "<parameter>--without-headers</parameter>"
  196. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  197. msgid ""
  198. "When creating a complete cross-compiler, GCC requires standard headers "
  199. "compatible with the target system. For our purposes these headers will not "
  200. "be needed. This switch prevents GCC from looking for them."
  201. msgstr ""
  202. "在创建完整的交叉编译器时,GCC 需要与目标系统兼容的标准头文件。由于我们的特殊"
  203. "目的,这些头文件并不必要。这个开关防止 GCC 查找它们。"
  204. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  205. msgid "<parameter>--enable-initfini-array</parameter>"
  206. msgstr "<parameter>--enable-initfini-array</parameter>"
  207. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  208. msgid ""
  209. "This switch forces the use of some internal data structures that are needed "
  210. "but cannot be detected when building a cross compiler."
  211. msgstr ""
  212. "这个开关强制启用一些内部数据结构,它们是必要的,但是在构建交叉编译器时,无法"
  213. "被检测到。"
  214. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  215. msgid "<parameter>--disable-shared</parameter>"
  216. msgstr "<parameter>--disable-shared</parameter>"
  217. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  218. msgid ""
  219. "This switch forces GCC to link its internal libraries statically. We need "
  220. "this because the shared libraries require glibc, which is not yet installed "
  221. "on the target system."
  222. msgstr ""
  223. "这个开关强制 GCC 静态链接它的内部库。我们必须这样做,因为动态库需要目标系统中"
  224. "尚未安装的 glibc。"
  225. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  226. msgid "<parameter>--disable-multilib</parameter>"
  227. msgstr "<parameter>--disable-multilib</parameter>"
  228. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  229. msgid ""
  230. "On x86_64, LFS does not support a multilib configuration. This switch is "
  231. "harmless for x86."
  232. msgstr ""
  233. "在 x86_64 平台上,LFS 不支持 multilib 配置。这个开关对于 x86 来说可有可无。"
  234. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  235. msgid ""
  236. "<parameter>--disable-decimal-float, --disable-threads, --disable-libatomic, "
  237. "--disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-"
  238. "libvtv, --disable-libstdcxx</parameter>"
  239. msgstr ""
  240. "<parameter>--disable-decimal-float, --disable-threads, --disable-libatomic, "
  241. "--disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-"
  242. "libvtv, --disable-libstdcxx</parameter>"
  243. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  244. msgid ""
  245. "These switches disable support for the decimal floating point extension, "
  246. "threading, libatomic, libgomp, libquadmath, libssp, libvtv, and the C++ "
  247. "standard library respectively. These features will fail to compile when "
  248. "building a cross-compiler and are not necessary for the task of cross-"
  249. "compiling the temporary libc."
  250. msgstr ""
  251. "这些开关禁用对于十进制浮点数、线程、libatomic、libgomp、libquadmath、"
  252. "libssp、libvtv 和 C++ 标准库的支持。在构建交叉编译器时它们的编译会失败,而且"
  253. "在交叉编译临时 libc 时并不需要它们。"
  254. #. type: Content of: <sect1><sect2><variablelist><varlistentry><term>
  255. msgid "<parameter>--enable-languages=c,c++</parameter>"
  256. msgstr "<parameter>--enable-languages=c,c++</parameter>"
  257. #. type: Content of: <sect1><sect2><variablelist><varlistentry><listitem><para>
  258. msgid ""
  259. "This option ensures that only the C and C++ compilers are built. These are "
  260. "the only languages needed now."
  261. msgstr "这个选项保证只构建 C 和 C++ 编译器。目前只需要这两个语言。"
  262. #. type: Content of: <sect1><sect2><para>
  263. msgid "Compile GCC by running:"
  264. msgstr "执行以下命令编译 GCC:"
  265. #. type: Content of: <sect1><sect2><screen>
  266. #, no-wrap
  267. msgid "<userinput remap=\"make\">make</userinput>"
  268. msgstr "<userinput remap=\"make\">make</userinput>"
  269. #. type: Content of: <sect1><sect2><para>
  270. msgid "Install the package:"
  271. msgstr "安装该软件包:"
  272. #. type: Content of: <sect1><sect2><screen>
  273. #, no-wrap
  274. msgid "<userinput remap=\"install\">make install</userinput>"
  275. msgstr "<userinput remap=\"install\">make install</userinput>"
  276. #. type: Content of: <sect1><sect2><para>
  277. msgid ""
  278. "This build of GCC has installed a couple of internal system headers. "
  279. "Normally one of them, <filename>limits.h</filename>, would in turn include "
  280. "the corresponding system <filename>limits.h</filename> header, in this case, "
  281. "<filename>$LFS/usr/include/limits.h</filename>. However, at the time of this "
  282. "build of GCC <filename>$LFS/usr/include/limits.h</filename> does not exist, "
  283. "so the internal header that has just been installed is a partial, self-"
  284. "contained file and does not include the extended features of the system "
  285. "header. This is adequate for building glibc, but the full internal header "
  286. "will be needed later. Create a full version of the internal header using a "
  287. "command that is identical to what the GCC build system does in normal "
  288. "circumstances:"
  289. msgstr ""
  290. "刚刚构建的 GCC 安装了若干内部系统头文件。其中的 <filename>limits.h</"
  291. "filename> 一般来说,应该包含对应的系统头文件 <filename>limits.h</filename>,"
  292. "在我们的 LFS 环境中,就是 <filename>$LFS/usr/include/limits.h</filename>。然"
  293. "而,在构建 GCC 的时候,<filename>$LFS/usr/include/limits.h</filename> 还不存"
  294. "在,因此 GCC 安装的内部头文件是一个不完整的、自给自足的文件,不包含系统头文件"
  295. "提供的扩展特性。这对于构建临时的 libc 已经足够了,但后续工作将需要完整的内部"
  296. "头文件。使用以下命令创建一个完整版本的内部头文件,该命令与 GCC 构建系统在一般"
  297. "情况下生成该头文件的命令是一致的:"
  298. #. type: Content of: <sect1><sect2><screen>
  299. #, no-wrap
  300. msgid ""
  301. "<userinput remap=\"install\">cd ..\n"
  302. "cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \\\n"
  303. " `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/install-tools/include/limits.h</userinput>"
  304. msgstr ""
  305. "<userinput remap=\"install\">cd ..\n"
  306. "cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \\\n"
  307. " `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/install-tools/include/limits.h</userinput>"
  308. #. type: Content of: <sect1><sect2><para>
  309. msgid ""
  310. "Details on this package are located in <xref linkend=\"contents-gcc\" role="
  311. "\".\"/>"
  312. msgstr "该软件包的更多细节在<xref linkend=\"contents-gcc\"/>可以找到。"