⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 046.htm

📁 LINUX的操作系统分析文件和使用文件
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0056)http://data.km169.net/wsxx/showjq.asp?id=1354&type=LINUX --><html><head><title>New Page 1</title><meta content="text/html; charset=gb2312" http-equiv="Content-Type"><meta content="Microsoft FrontPage 3.0" name="GENERATOR"><meta content="FrontPage.Editor.Document" name="ProgId"><!--webbot bot="HTMLMarkup" startspan TAG="XBOT" --></SCRIPT><!--webbot bot="HTMLMarkup" endspan--><style>A:link {	COLOR: #4444ff; TEXT-DECORATION: underline}A:visited {	COLOR: #4444ff; TEXT-DECORATION: underline}A:active {	TEXT-DECORATION: none}A:hover {	COLOR: #ff0000; TEXT-DECORATION: none}BODY {	COLOR: #505050; FONT-FAMILY: 宋体; FONT-SIZE: 9pt}TD {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt}TD.a {	FONT-FAMILY: 宋体; FONT-SIZE: 9pt}TD.b {	FONT-FAMILY: 宋体; FONT-SIZE: 11pt; font-color: #ff0000}.other1 {	FONT-SIZE: 9pt; LETTER-SPACING: 0px; LINE-HEIGHT: 18px}.other2 {	FONT-SIZE: 10.5pt}</style></head><body bgColor="#FFFFFF" leftMargin="7" topMargin="7"><hr SIZE="0"><p><b><font color="#fe3a42">标题: ■&nbsp;</font><font color="#9b004e"> </font>Glibc 2 HOWTO 中文版 : 安装成测试用的 library</b><br>姓名 :Eric Green,<br>Email:thrytis@imaxx.net<br>地址 :<br>转摘 :http://member.netease.com/</p><p align="center"><a href="linux.htm">返回</a></p><hr SIZE="0"><p><br>4. 安装成测试用的 library <br>这一节的内容是关於如何将 glibc 2 安装成测试用的 library。所有编译的程式都连结到你目前的 library,除非你给了某些额外的猜参数才会连结到新的 library。由於路径被编译到某些档案中,你也许需要由原始码来安装这 library。 <br><br>4.1. 编译与安装 <br>4.1.1. 需求 <br><br>约 150 MB 的磁碟空间 <br>GNU make 3.75 <br>gcc &gt;= 2.7.2 (最好是 2.7.2.1) <br>binutils 2.8.1 (假如是 alpha 你还需要 snapshot) <br>bash 2.0 <br>autoconf 2.12 (假如你更动了 configure.in) <br>texinfo 3.11 <br><br>在一台安装有 64MB 记忆体 i586@133 的机器上,编译完整的 library (包括 add-on) 大约须要 3 小时。而在 i686@200 则须约一个半小时。 <br><br>4.1.2. 解开原始码 <br>你必需由 archive 中取出原始码。如此才能编译它,最好的方式如下: <br><br>tar xzf glibc-2.0.5.tar.gz <br>cd glibc-2.0.5 <br>cat ../glibc-2.0.5-2.0.5c.diff.gz | gzip -d | patch -p0 <br>tar xzf ../glibc-linuxthreads-2.0.5.tar.gz <br>tar xzf ../glibc-crypt-2.0.5.tar.gz <br>tar xzf ../glibc-localedata-2.0.5.tar.gz <br><br><br>这会将 linuxthreads、 crypt 与 localedata 等目录放至 glibc-2.0.5 的目录底下,如此 configure 才可以找到这些 add-ons。 <br><br>4.1.3. 设定组态 <br>在 glibc-2.0.5 的目录底下,建立一个新的目录 compile,并且 cd 到 compile 底下,所也的工作都会在这个目录中完成,这会简化後续的清除工作。 (发展者似乎并未让 'make clean' 作得很好) <br><br>mkdir compile <br>cd compile <br><br><br>执行 ../configure。要使用 add-on,你必需用 --enable-add-ons 指定,例如说 --enable-add-ons=linuxthreads,crypt,localedata。 <br><br>你也必需指定要安装的目录, /usr/i486-linuxglibc2 是个不错的选择,这样的 configure 命令如下: <br><br>../configure --enable-add-ons=linuxthreads,crypt,localedata --prefix=/usr/i486-linuxglibc2 <br><br><br><br>4.1.4. 编译与安装 <br>要编译与验证,执行 <br><br>make <br>make check <br><br><br>假如 'make check' 成功了,安装 library: <br>make install <br><br><br><br>4.2. 更新 dynamic loader <br><br>建立连结,从 ld.so 到 /lib/ld-linux.so.2: <br>ln -s /usr/i486-linuxglibc2/lib/ld-linux.so.2 /lib/ld-linux.so.2 <br><br><br>当一个档案连结时,这个 library 是唯一一个位置固定的。当稳定的版本出现的时後,在 /lib 使用连结也会使得将 glibc 升级为主要 library 时更为轻松。 <br>修改 /etc/ld.so.conf。你需要增加新的 library 所在的路径到档案的最後,这路径应该是 &lt;prefix&gt;/lib。假如就以上的选择就应该是 /usr/i486-linuxglibc2/lib。在你修改了 /etc/ld.so.conf 之後,执行: <br>ldconfig -v <br><br><br><br>4.3. Configuring for gcc. <br>安装的最後一步是更新 /usr/lib/gcc-lib 以使 gcc 知道如何使用新的 library。首先,你须要复制目前的组态,要知道目前的组态 使用 gcc 的 -v 选项: <br><br>% gcc -v <br>Reading specs from /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2/specs <br>gcc version 2.7.2.2 <br><br><br>这里, i486-unknown-linux 是目前所用的系统, 2.7.2.2 则是目前版本。你需要将 /usr/lib/gcc-lib/&lt;system&gt; 复制到新的测试系统目录: <br>cd /usr/lib/gcc-lib/ <br>cp -r i486-unknown-linux i486-linuxglibc2 <br><br><br>到你的新系统目录以及版本目录下: <br>cd /usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2 <br><br><br>修改目录下的 specs。在这档案,将 /lib/ld-linux.so.1 换成 /lib/ld-linux.so.2,你也必需要移去档案中所有的 %{...:-lgmon} 表示式,因为 glibc 不使用 gmon 函式库来做 profile。你可以在 Specs 档□例 找到一个□例。 <br><br>4.4. 更新标头档 links <br>你需要在你的 include 目录下建立连结到其它的 include 目录: <br><br>cd /usr/i486-linuxglibc2/include <br>ln -s /usr/src/linux/include/linux <br>ln -s /usr/src/linux/include/asm <br>ln -s /usr/X11R6/include/X11 <br><br><br>也许你有其它的 library,例如说 ncurse,而这些 library 会需要它们自己的标头档,你应该从 /usr/include 复制或连结这些档案。 (有些 library 需要重新用 glibc2 来 compile,在这种情形下,只要编译并且 install 到 /usr/i486-linuxglibc2) <br><br>4.5. 测试你的安装 <br>要测试安装是否成功,建立一档案 glibc.c 如下: <br><br>#include &lt;stdio.h&gt; <br><br>main() <br>{ <br>printf(&quot;hello world!\n&quot;); <br>} <br><br><br>用 ``-b &lt;base install directory&gt; -nostdinc -I&lt;install directory&gt;/include -I/usr/lib/gcc-lib/&lt;new system dir&gt;/&lt;gcc version&gt;/include'' 的选项编译: <br>% gcc -b i486-linuxglibc2 -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include glibc.c -o glibc <br><br><br>使用 ldd 确定程式是用 glibc2 连结,而非旧有的 libc: <br>% ldd glibc <br>libc.so.6 =&gt; /usr/i486-linuxglibc2/lib/libc-2.0.5.so (0x4000d000) <br>/lib/ld-linux.so.2 =&gt; /lib/ld-linux.so.2 (0x40000000) <br><br><br>如果通过编译,连结也确定,并且执行时也产生 ``hello world!'' 的输出,那麽安装就成功了。 </p><hr SIZE="0"><p align="center"><a href="linux.htm">返回</a></p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -