发布时间:2025-01-28 15:01
首先更新虚拟机下载源
sudo apt-get update
在安装mysql时./configure容易出现错误error: No curses/termcap library found
原因是缺少ncurses安装包
解决方法:
sudo apt-cache search ncurses
sudo apt-get install libncurses5-dev
如果要将库移植到arm板上的话就需要下载ncurses包进行安装
下载ncurses-5.9.tar.gz
ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz
先安装ncurses
tar -xzvf ncurses-5.9.tar.gz
mkdir ncurses
cd ncurses-5.9/
./configure --prefix=/home/farsight/ncurses CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi --enable-static --enable-shared
make
make install
安装完成后,开始编译mysql库
首先下载mysql数据库源码http://download.chinaunix.net/download.php?id=34712&ResourceID=7159
将源码拷贝到虚拟机中并解压,进入源码文件
tar xzvf mysql-5.1.51.tar.gz
mkdir mysql
cd mysql-5.1.51/
修改文件中的configure配置文件(注释掉不允许交叉编译的部分)
修改配置文件:打开configure,可以使用gedit configure 分别在第26453行、 48175行、 48282行、 48485行附近有类似代码:
if test \"$cross_compiling\" = yes; then
{ { $as_echo \"$as_me:$LINENO: error: in \\`$ac_pwd\':\" >&5 $as_echo \"$as_me: error: in \\`$ac_pwd\':\" >&2;}
{ { $as_echo \"$as_me:$LINENO: error: cannot run test program while cross
compiling See \\`config.log\' for more details.\" >&5
$as_echo \"$as_me: error: cannot run test program while cross compiling See \\`config.log\' for more details.\" >&2;}
{ (exit 1); exit 1; }; }; }
Else
将这些代码改为:
if test \"$cross_compiling\" = yes; then
echo “skip …..!”
#{ { $as_echo \"$as_me:$LINENO: error: in \\`$ac_pwd\':\" >&5 #$as_echo \"$as_me: error: in \\`$ac_pwd\':\" >&2;}
#{ { $as_echo \"$as_me:$LINENO: error: cannot run test program while cross compiling See \\`config.log\' for more details.\" >&5
#$as_echo \"$as_me: error: cannot run test program while cross compiling See \\`config.log\' for more details.\" >&2;}
#{ (exit 1); exit 1; }; }; }
Else
一定注意,这样的代码有4部分,要全部改掉
接下来进行库的安装
./configure --prefix=/home/farsight/mysql CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi
--enable-static --enable-shared预处理
make 编译(在这个过程中可能会出现一个错误,但是对库的影响不大,可忽略)
make install 下载并安装
完成后可在mysql中出现五个文件夹
需要将include文件夹下的文件考到/usr/include下进行编译
将lib文件夹下的内容拷贝到arm板的lib文件夹下
在虚拟机中进行编译时需要注意如果连接不到库可在编译时加入连接库的方式
-L//home/farsight/mysql/lib/mysql
排序算法的python实现及算法分析——二分查找(Binary Search)
一文搞懂│工厂模式、单例模式、策略模式、适配器模式、观察者模式的原理和使用
pandas数据日期函数之date_range()、resample()与to_period()
前端-css基础知识大全--及css3新特性--相关练习demo
语音识别的痛点在哪,从交互到精准识别如何做? | 硬创公开课
JavaScript API ResizeObserver使用示例
【Flutter】Android原生WebView(非Flutter WebView)与FlutterWeb交互
0.1.3 合宙CORE-ESP32-C3开发板用arduino点亮ST7735 1.8寸TFT屏【已更新失效链接2022.07.10】