32位linux安装64位(debian系统安装教程)
大家好,关于32位linux安装64位很多朋友都还不太明白,今天小编就来为大家分享关于debian系统安装教程的知识,希望对各位有所帮助!
如何在linux 32位机器编译64位程序
编译64位程序,不一定要编译机器是64位的,但是32位机器默认安装的gcc编译环境还是不能用来编译64位程序。
编译64位程序,需要加上-m64编译器参数,默认安装的gcc已经支持该参数,但是缺少64位机器指令相关的文件,所以不能编译,会出现下面的错误
In file included from/usr/include/features.h:378,
from/usr/include/assert.h:37,
from../../../include/tinyxml/tinystr.h:42,
from../../../src/tinyxml/tinystr.cpp:32:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h:没有那个文件或目录
这时候需要安装 gcc所有支持文件 sudo apt-get install gcc-multilib
将会安装下列额外的软件包:
cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base gcc-4.4-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64 libgcc1 libgomp1
libstdc++6 libstdc++6-4.4-dev
建议安装的软件包:
gcc-4.4-locales g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg libmudflap0-4.4-dev libgcc1-dbg libgomp1-dbg libmudflap0-dbg
libcloog-ppl0 libppl-c2 libppl7 lib64mudflap0 libstdc++6-4.4-doc
下列【新】软件包将被安装:
gcc-4.4-multilib gcc-multilib lib64gcc1 lib64gomp1 libc6-amd64 libc6-dev-amd64
下列软件包将被升级:
如何在64位Linux上编译安装32位wine
以Ubuntu为例说明
一、安装安装lxc
1、安装lxc
sudo apt-get install lxc lxc-templates
2、现在创建一个32位的容器,并把目录绑定到容器:
sudo lxc-create-t ubuntu-n my32bitbox----bindhome$LOGNAME-a i386
3、然后启动容器;在控制台输入用户名和密码。
sudo lxc-start-n my32bitbox
4、在/etc/apt/sources.list中添加内容
sudo sh-c"sed s/deb/deb-src//etc/apt/sources.list>>/etc/apt/sources.list"
5、安装先决条件
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get build-dep wine#如果失败使用 sh install-wine-deps.sh cd$HOME mkdir wine32 cd wine32~/wine-git/configure make-j4
6、关闭容器
sudo shutdown-h now
二、安装chroot Method
1、安装
sudo apt-get install schroot debootstrap
2、创建配置文件
sudo editor/etc/schroot/chroot.d/precise_i386.conf
3、添加内容
[precise_i386] description=Ubuntu Precise personality=linux32 directory=/srv/chroot/precise_i386 root-users=your_username type=directory users=your_username
4、创建的Ubuntu的chroot环境
sudo mkdir-p/srv/chroot/precise_i386
sudo debootstrap--variant=buildd--arch=i386 precise/srv/chroot/precise_i386
5、使在chroot内apt-get的工作:
sudo cp/etc/apt/sources.list/srv/chroot/precise_i386/etc/apt/
6、进入chroot:
schroot-c precise_i386-u root
7、得到基础包
apt-get update apt-get install ubuntu-minimal
sudo apt-get install software-properties-common
8、安装构建依赖关系:
apt-get build-dep wine
如果报错:E: You must put some'source' URIs in your sources.list
则执行
add-apt-repository ppa:ubuntu-wine/ppa apt-get update
9、下载Wine源
apt-get install git git clone git://source.winehq.org/git/wine
10、编译
cd wine
./configure make
11、运行
export DISPLAY=:0
./wine notepad
12、在chroot外部执行
exit
sudo apt-get install wine
exit
cd wine
./wine notepad
三、手动连接库的方法
1、执行下面代码
sudo apt-add-repository ppa:ehoover/compholio
sudo apt-get update
sudo apt-get install ia32-libs-dev
2、或者设置符号连接
cd/usr/lib/i386-linux-gnu
sudo ln-s libfreetype.so.6 libfreetype.so
sudo ln-s libX11.so.6 libX11.so
sudo ln-s libXau.so.6 libXau.so
sudo ln-s libXcursor.so.1 libXcursor.so
sudo ln-s libXi.so.6 libXi.so
sudo ln-s libXext.so.6 libXext.so
sudo ln-s libXxf86vm.so.1 libXxf86vm.so
sudo ln-s libXrandr.so.2 libXrandr.so
sudo ln-s libXrender.so.1 libXrender.so
sudo ln-s libXinerama.so.1 libXinerama.so
sudo ln-s libXcomposite.so.1 libXcomposite.so
sudo ln-s libGLU.so.1 libGLU.so
sudo ln-s libOSMesa.so.6 libOSMesa.so
sudo ln-s libgnutls.so.26 libgnutls.so
sudo ln-s libsane.so.1 libsane.so
sudo ln-s libv4l1.so.0 libv4l1.so
sudo ln-s libv4l2.so.0 libv4l2.so
sudo ln-s liblcms.so.[0-9] liblcms.so
sudo ln-s libcapi20.so.3 libcapi20.so
sudo ln-s libcups.so.2 libcups.so
sudo ln-s libfontconfig.so.1 libfontconfig.so
sudo ln-s libgsm.so.1 libgsm.so
sudo ln-s libtiff.so.[0-9] libtiff.so
sudo ln-s libmpg123.so.0 libmpg123.so
sudo ln-s libodbc.so.1 libodbc.so
sudo ln-s libopenal.so.1 libopenal.so
sudo ln-s libldap-2.4.so.2 libldap.so
sudo ln-s libldap_r-2.4.so.2 libldap_r.so
sudo ln-s liblber-2.4.so.2 liblber.so
sudo ln-s libxml2.so.2 libxml2.so
sudo ln-s libxslt.so.1 libxslt.so
sudo ln-s libssl.so.0.9.8 libssl.so
sudo ln-s libcrypto.so.0.9.8 libcrypto.so
sudo ln-s libjpeg.so.8 libjpeg.so
sudo ln-s mesa/libGL.so libGL.so
cd/usr/lib/i386-linux-gnu/mesa
sudo ln-s libGL.so.1 libGL.so
cd/lib/i386-linux-gnu
sudo ln-s libdbus-1.so.3 libdbus-1.so
sudo ln-s libpng12.so.0 libpng12.so
sudo ln-s libncurses.so.5 libncurses.so
3、可能还需要的32位libraries
sudo apt-get install libosmesa6:i386 libosmesa-dev libjpeg-turbo8-dev:i386
linux32位和64位的区别
第一点设计初衷不同:
64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。
第二点寻址能力不同:
64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows
Vistax64Edition支持多达128GB的内存和多达16TB的虚拟内存,而32位CPU和操作系统最大只可支持4G内存
第三点要求配置不同:
64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。当然,32位操作系统安装在64位电脑上,其硬件恰似“大马拉小车”:64位效能就会大打折扣。
第四点运算速度不同:
关于32位和64位系统的差别,那真是说来话长,这里我们首先要了解一下CPU的架构技术,通常我们可以看到在计算机硬件上会有X86和X64的标识,其实这是两种不同的CPU硬件架构,x86代表32位操作系统
x64代表64位操作系统。那么这个32位和64位中的“位”又是什么意思呢?相对于32位技术而言,64位技术的这个位数指的是CPU
GPRs(General-Purpose
Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。举个通俗易懂但不是特别准确的例子:32位的吞吐量是1M,而64位吞吐量是2M。即理论上64位系统性能比32位的提高1倍。