分类：电脑/网络-操作系统/系统故障
问题：在linux中安装交叉编译器时的解包问题我用的ARMSYS241 
我用的SYS2410开发板，安装交交叉编译器时按照用户说明书上写的:（1）在编译linux之前，要先安装交叉编译toolchain，安装包位于光盘中的\Linux \ toolchain\  2。在/usr/local 目录下建立名为arm的目录，进入该目录，执行解包：mkdir /usr/local/armcd /usr/local/armtar xjvf /mnt/cdrom/linux/toolchain/ 2结果显示tar Old option'f' requires an argument        tr我用的SYS2410开发板，安装交交叉编译器时按照用户说明书上写的:（1）在编译linux之前，要先安装交叉编译toolchain，安装包位于光盘中的\Linux \ toolchain\  2。在/usr/local 目录下建立名为arm的目录，进入该目录，执行解包：mkdir /usr/local/armcd /usr/local/armtar xjvf /mnt/cdrom/linux/toolchain/ 2结果显示tar Old option'f' requires an argument        try tar --help for more information这是怎么回事啊，我看了一下mnt/cdrom/linux/toolchain/ 2的路径，发现toolchain里边没有 2,这是怎么回事啊，我是新手，不太懂，希望大家帮帮忙注：我是在虚拟机里安的linux系统。 
回答：1. 下载 在GCC网站上（  3.3.1。可供下载的文件一般有两种形式：gcc-3.3.1.tar.gz和 2，只是压缩格式不一样，内容完全一致，下载其中一种即可。 　　2. 解压缩 　　根据压缩格式，选择下面相应的一种方式解包（以下的“%”表示命令行提示符）： % tar xzvf gcc-3.3.1.tar.gz 　　或者 　　% tar jxvf  2 　　新生成的gcc-3.3.1这个目录被称为源目录，用${srcdir}表示它。以后在出现${srcdir}的地方，应该用真实的路径来替换它。用pwd命令可以查看当前路径。 　　在${srcdir}/INSTALL目录下有详细的GCC安装说明，可用浏览器打开 ml阅读。 3. 建立目标目录 　　目标目录（用${objdir}表示）是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中（虽然这样做也可以），最好单独存放在另外一个目录中，而且不能是${srcdir}的子目录。 　　例如，可以这样建立一个叫 gcc-build 的目标目录（与源目录${srcdir}是同级目录）： 　　% mkdir gcc-build 　　% cd gcc-build 　　以下的操作主要是在目标目录 ${objdir} 下进行。 4. 配置 　　配置的目的是决定将GCC编译器安装到什么地方（${destdir}），支持什么语言以及指定其它一些选项等。其中，${destdir}不能与${objdir}或${srcdir}目录相同。 　　配置是通过执行${srcdir}下的configure来完成的。其命令格式为（记得用你的真实路径替换${destdir}）： 　　% ${srcdir}/configure --prefix=${destdir} [其它选项] 　　例如，如果想将GCC 3.3.1安装到/usr/local/gcc-3.3.1目录下，则${destdir}就表示这个路径。 　　在我的机器上，我是这样配置的： 　　% ../gcc-3.3.1/configure --prefix=/usr/local/gcc-3.3.1 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java 　　将GCC安装在/usr/local/gcc-3.3.1目录下，支持++和JAVA语言，其它选项参见GCC提供的帮助说明。 　　5. 编译 　　% make 　　这是一个漫长的过程。 　　6. 安装 　　执行下面的命令将编译好的库文件等拷贝到${destdir}目录中（根据你设定的路径，可能需要管理员的权限）： 　　% make install 　　至此，GCC 3.3.1安装过程就完成了。 　　6. 其它设置 　　GCC 3.3.1的所有文件，包括命令文件（如gcc、g++）、库文件等都在${destdir}目录下分别存放，如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内，所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。 　　6.1 gcc、g++、gcj的设置 　　要想使用GCC 3.3.1的gcc等命令，简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式，而是用符号连接的方式实现，这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。 　　首先，查看原来的gcc所在的路径： 　　% which gcc 　　在我的系统上，上述命令显示：/usr/bin/gcc。因此，原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.3.1中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接： % cd /usr/bin % ln -s ${destdir}/bin/gcc gcc33 % ln -s ${destdir}/bin/g++ g++33 % ln -s ${destdir}/bin/gcj gcj33 　　这样，就可以分别使用gcc33、g++33、gcj33来调用GCC 3.3.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时，仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。 　　6.2 库路径的设置 　　将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中，最好添加到系统的配置文件中，这样就不必要每次都设置这个环境变量了。 　　例如，如果GCC 3.3.1安装在/usr/local/gcc-3.1.0目录下，在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句： 　　setenv LD_LIBRARY_PATH /usr/local/gcc-3.3.1 /lib:$LD_LIBRARY_PATH  用新的编译命令（gcc33、g++33等）编译你以前的C、C++程序，检验新安装的GCC编译器是否能正常工作。 　　8. 根据需要，可以删除或者保留${srcdir}和${objdir}目录