1. 项目背景与核心价值
Routino作为一款开源的高性能路线规划引擎,在GIS领域有着广泛的应用场景。2.0.3-1版本带来了多项性能优化和新特性,但官方并未提供针对KeyarchOS(浪潮信息KOS)的预编译包。通过源码编译的方式部署Routino,不仅能确保系统兼容性,还能根据实际需求进行定制化优化。
我在实际部署过程中发现,KeyarchOS作为企业级Linux发行版,其软件仓库与主流的CentOS/RHEL存在一些差异,这导致直接按照常规Linux编译方法会遇到依赖缺失等问题。本文将详细记录从环境准备到成功运行的完整过程,特别针对KeyarchOS的特性进行了适配调整。
2. 环境准备与依赖处理
2.1 系统基础环境确认
首先需要确保KeyarchOS的基础开发环境完备。以root权限执行以下操作:
bash复制# 更新系统并安装基础开发工具链
yum groupinstall "Development Tools" -y
yum install epel-release -y
yum update -y
特别需要注意的是,KeyarchOS默认的软件仓库可能缺少部分开发库,需要手动添加EPEL源。如果遇到证书问题,可以临时使用--nogpgcheck参数。
2.2 编译依赖安装
Routino的编译依赖主要包括:
- libxml2:用于解析OSM数据文件
- bzip2/zlib:处理压缩地图数据
- pthread:多线程支持
安装命令如下:
bash复制yum install libxml2-devel bzip2-devel zlib-devel -y
在KeyarchOS 5.8版本中,我发现默认的libxml2版本较旧,可能导致编译警告。可以通过源码编译安装新版:
bash复制wget http://xmlsoft.org/sources/libxml2-2.9.12.tar.gz
tar -xzf libxml2-2.9.12.tar.gz
cd libxml2-2.9.12
./configure --prefix=/usr/local
make && make install
注意:KeyarchOS使用alternatives系统管
