undefined symbol: stat64
搜索出的结果指出是新版的libqt3-mt中不包含这个的定义了,也没找到解决方法
最后决定自己从源码编译安装
先到其主页上下载源码包http://195.34.175.98/download/1.5.4/VirtualBox-1.5.4_OSE.tar.bz2
然后根据官方的安装说明进行就可以了
http://www.virtualbox.org/wiki/Linux%20build%20instructions
首先安装一些dev包,解决依赖关系,用apt就可以了
引用:for VBox version > 1.5:
apt-get install gcc g++ bcc iasl xsltproc uuid-dev zlib1g-dev libidl-dev \
libsdl1.2-dev libxcursor-dev libqt3-headers libqt3-mt-dev \
libasound2-dev libstdc++5 libhal-dev libpulse-dev libxml2-dev
64位机器还有不同的要求,详见官方说明
然后需要装一下kernel headers,linux-headers-2.6.24-1-686,也直接用apt解决了
进入源码根目录,执行
./configure --with-linux=/usr/src/linux-headers-2.6.24-1-686
之后会生成一个env.sh,之后
引用:source env.sh
kmk all -j3
这样就编译好了
再编译相应的模块
引用:cd out/linux.x86/release/bin/src
make
sudo make install
这样就可以加载模块了
sudo modprobe vboxdrv
编辑/etc/modules,添加vboxdrv就可以开机自动加载
然后运行virtualbox
引用:cd ..
LD_LIBRARY_PATH=. ./VirtualBox
Note that the LD_LIBRARY_PATH=. is required because we have to find our .so files and the output directory is not in the system's library path.
这是官方说明上的一句话,解释为什么要先指定ld的path
每次都这样有些麻烦,所以
引用:cd ..
sudo cp bin /usr/local/bin/Virtualbox
mkdir ~/bin/Virtualbox
cd ~/bin/Virtualbox
cat > Virtualbox.sh
LD_LIBRARY_PATH=/usr/local/bin/Virtualbox/ /usr/local/bin/Virtualbox/VirtualBox
^D
然后在桌面上新建一个起动器指向~/bin/Virtualbox/Virtualbox.sh就好了。