GLIBC版本
| 系统 | GLIBC版本 | |
|---|---|---|
| Ubuntu 18.04 | 2.27 | Bionic (较老) |
| Kylin V10 | 2.28 | Halberd (SP3) |
| Ubuntu 22.04 | 2.35 | Jammy (较新) |
x86环境
apt-get install -y libjsoncpp-dev libcurl4-openssl-dev unixodbc-dev zlib1g zlib1-dev uuid-dev
# autotools依赖
apt install -y autoconf automake libtool pkg-config gettext texinfo autoconf-archive安装交叉编译环境
apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu编译openssl
./Configure linux-aarch64 \
--prefix=/opt/aarch64-linux-gnu/sysroot/usr \
--openssldir=/opt/aarch64-linux-gnu/sysroot/etc/ssl \
shared \
CC=aarch64-linux-gnu-gcc \
CXX=aarch64-linux-gnu-g++ \
CFLAGS="-fPIC -O2" \
LDFLAGS="-L/opt/aarch64-linux-gnu/sysroot/usr/lib" \
CPPFLAGS="-I/opt/aarch64-linux-gnu/sysroot/usr/include"
./Configure linux-aarch64 \
--cross-compile-prefix=aarch64-linux-gnu- \
--prefix=/opt/aarch64-linux-gnu/sysroot/usr \
--openssldir=/opt/aarch64-linux-gnu/sysroot/etc/ssl \
shared \
no-tests \
-O3
./config --prefix=/opt/aarch64-linux-gnu/sysroot/usr/ --cross-compile-prefix=aarch64-linux-gnu- --openssldir=/opt/aarch64-linux-gnu/sysroot/etc/ssl no-shared
make
make install_sw #install_sw 只安装库/头文件,不安装文档,更快也更干净编译libevent
./configure \
--host=aarch64-linux-gnu \
--prefix=/opt/aarch64-linux-gnu/sysroot/usr \
CC=aarch64-linux-gnu-gcc \
CXX=aarch64-linux-gnu-g++ \
AR=aarch64-linux-gnu-ar \
RANLIB=aarch64-linux-gnu-ranlib \
--disable-samples \
--disable-openssl \
CPPFLAGS="-I/opt/aarch64-linux-gnu/sysroot/usr/include" \
LDFLAGS="-L/opt/aarch64-linux-gnu/sysroot/usr/lib"下载/编译odbc
#下载
wget https://www.unixodbc.org/unixODBC-2.3.14.tar.gz
tar xzf unixODBC-2.3.12.tar.gz && cd unixODBC-2.3.12
./configure \
--host=aarch64-linux-gnu \
--prefix=/opt/aarch64-linux-gnu/sysroot/usr \
--disable-gui \
--disable-drivers \
CC=aarch64-linux-gnu-gcc \
CXX=aarch64-linux-gnu-g++ \
AR=aarch64-linux-gnu-ar \
RANLIB=aarch64-linux-gnu-ranlib \
CPPFLAGS="-I/opt/aarch64-linux-gnu/sysroot/usr/include" \
LDFLAGS="-L/opt/aarch64-linux-gnu/sysroot/usr/lib"
make -j$(nproc)
make install下载/编译uuid
wget http://ports.ubuntu.com/pool/main/u/util-linux/util-linux_2.27.1.orig.tar.xz
tar xJf util-linux_2.27.1.orig.tar.xz && cd util-linux-2.27.1
# configure(只编 libuuid)
./configure \
--host=aarch64-linux-gnu \
--prefix=/opt/aarch64-linux-gnu/sysroot/usr \
--disable-all-programs \
--enable-libuuid \
CC=aarch64-linux-gnu-gcc \
CXX=aarch64-linux-gnu-g++ \
AR=aarch64-linux-gnu-ar \
RANLIB=aarch64-linux-gnu-ranlib编译jsoncpp
ln -s /usr/bin/make /usr/bin/gmake
cmake .. \
-DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc \
-DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=ON \
-DJSONCPP_WITH_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=/opt/aarch64-linux-gnu/sysroot/usr \
-DCMAKE_SYSROOT=/opt/aarch64-linux-gnu/sysroot编译curl
#生成configure文件
autoreconf -ivf
export CC=aarch64-linux-gnu-gcc
export CXX=aarch64-linux-gnu-g++
export AR=aarch64-linux-gnu-ar
export RANLIB=aarch64-linux-gnu-ranlib
export PKG_CONFIG_PATH=/opt/aarch64-linux-gnu/sysroot/usr/lib64/pkgconfig
export LDFLAGS="-L/opt/aarch64-linux-gnu/sysroot/usr/lib64 -Wl,-rpath-link,/opt/aarch64-linux-gnu/sysroot/usr/lib64 -ldl -lpthread"
export CPPFLAGS="-I/opt/aarch64-linux-gnu/sysroot/usr/include"
./configure \
--host=aarch64-linux-gnu \
--prefix=/opt/aarch64-linux-gnu/sysroot/usr \
--with-openssl=/opt/aarch64-linux-gnu/sysroot/usr \
--disable-ldap \
--disable-rtsp \
--disable-proxy \
--disable-doh \
--disable-http-auth \
--disable-manual \
--disable-libcurl-option \
--enable-http \
--enable-https \
--enable-ipv6 \
--enable-threaded-resolver编译mutool
# 第 1 步:确保 generated/ 先用宿主 gcc 跑过(没跑过的必做)
make generate
# 第 2 步:走 tools 伪目标,别直接喊 mutool
make OS=aarch64-cross build=release tools通用编译(uodbc等)
./configure --host=aarch64-linux-gnu --prefix=/opt/aarch64-linux-gnu/sysroot/usr CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ AR=aarch64-linux-gnu-ar RANLIB=aarch64-linux-gnu-ranlib CPPFLAGS="-I/opt/aarch64-linux-gnu/sysroot/usr/include" LDFLAGS="-L/opt/aarch64-linux-gnu/sysroot/usr/lib -Wl,-rpath-link,/opt/aarch64-linux-gnu/sysroot/usr/lib"文档更新时间: 2026-07-19 17:04 作者:方杰