openwrt 查看运行程序_构建适用于 OpenWRT 的 TeXLive (1)

本文介绍如何在OpenWRT路由器上构建并安装TeXLive,包括准备工作,设置环境变量,解决依赖问题,特别是对C++11的支持,以及禁用与X Window相关的功能。文中还提到在构建过程中遇到的挑战,如dvisvgm和fontconfig的依赖,以及如何处理luaJIT的编译问题。最终,成功构建的TeXLive二进制文件将被转移到存储设备上,以供路由器使用。
摘要由CSDN通过智能技术生成

a4e9a12405c0d0898869aab5dd1252e8.png

------ (2) 已经更新 ------

https://zhuanlan.zhihu.com/p/57016460

作为一个 TeX 的普通用户,时时刻刻都惦记着 TeX,所以就看看能否在路由器上用 TeXLive.

贴一下跑 TeXLive 的路由器的配置,带 TF 卡槽和 USB 接口,将在 TF 卡上存储 TeXLive.

CPU: MT7620A
Target: ramips
Architecture: mipsel_24kc
RAM: 128MB
Flash: SPI NOR 32MB

已经刷入了自行编译的 OpenWRT 18.06.2 的固件.

该 CPU 多见于各类便携式路由器中,这内存大小其实是有点累的。于是我插了个 U 盘,在第二分区先 mkswap 然后启用 swap 保个命. (这一步其实并不急...另外我这边开的有点大了)

c1a1bd60b1b3296e1e12497196f5aef6.png
SWAP

准备工作

  • OpenWRT 工具链

获取 OpenWRT 工具链和整套 SDK 的途径很多.

使用 Git 获取完整源代码.

git clone https://git.openwrt.org/openwrt/openwrt.git

当然,你也可以使用 GitHub 的镜像 repo.

git clone https://github.com/openwrt/openwrt.git

为了选择 OpenWRT 版本,如 18.06.2,可以选择指定的 branch

git clone https://github.com/openwrt/openwrt.git -b v18.06.2

或直接在官方或镜像处下载 SDK,前往 OpenWRT 的下载页面,进入对应的版本和平台下载 SDK 即可.

OpenWrt Downloads​downloads.openwrt.org

至于如何初始化工具链,请参阅

Build system - Usage​openwrt.org

要进行交叉编译,还需要设置 PATH 等环境变量,可查看该文档.

OpenWrt Project: Cross Compile​openwrt.org

依赖

源自 TeXLive 官方的构建文档

Building TeX Live (2018)​www.tug.org

首先是几个特殊组件的依赖,对于特殊组件的拼写,此处均采用小写式的目标名

  • dvisvgm DVI, EPS, PDF -> SVG 需要 C++ 11 的支持

此项对最新的 OpenWRT 不用担心,但是在一些老版本如 Chaos Calmer 等中需要注意,默认使用的 uClibc 由于实现原因,许多 C++ 11 中的对象并未实现,解决方法是换用 glibc,或是……硬核 patch 一下吧,主要是字符串的一些函数和 C 式的数学函数,如 to_string 和 trunc 等,数学函数直接将命名空间 std 去掉就可以了,uClibc 仍然是 C 式的数学函数,未采用 C++ 11 的标准;对于 string 相关的函数,可以自行实现一个(使用各类流).

(就是真的很脏,脏到 patch 完后背发凉)

  • web2c 一种 TeX 的实现方式 make check 需要 perl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值