安装工具链

安装工具链

我正在尝试在 Ubuntu 18.04 中安装工具链来为我的路由器编译自定义固件。README 指出要运行,./configure但当我这样做时,它返回:configure: error: cannot find install-sh, install.sh, or shtool in config "."/config

这是针对华硕 DSL-AC88U 的,我从以下网站下载了源代码http://www.asus.com/uk/Networking/DSL-AC88U/HelpDesk_Download/其中包含路由器和工具链的源代码。

autoreconf -i现在运行后./configure,但我运行make并得到:

make[1]: Entering directory '/home/katana/Downloads/GPL_DSL_AC88U_v11006_build591/crosstools-arm-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21-NPTL.Rel1.2' 
CC loaders/dlopen.lo ./libtool: ./libtool: Is a directory Makefile:694: recipe for target 'loaders/dlopen.lo' failed make[1]: ***   
[loaders/dlopen.lo] Error 126 make[1]: Leaving directory '/home/katana/Downloads/GPL_DSL_AC88U_v11006_build591/crosstools-arm-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21-NPTL.Rel1.2' 
Makefile:502: recipe for target 'all' failed 
make: *** [all] Error 2

答案1

首先需要安装构建工具:

sudo apt-get install build-essential git ncurses-dev subversion zlib1g-dev m4 automake autoconf

并且根本不要提取他们的工具链/opt。它不会起作用。它需要较新版本的m4和其他一些东西。该固件基于 OpenWRT,因此它可以自行编译工具链。

然后提取DSL-AC88U_FW_V1_10_06_Build591_GPL_official.tar.bz2档案并进入固件目录

cd ~/Downloads/GPL_DSL_AC88U_v11006_build591/DSL-AC88U_FW_V1_10_06_Build591_GPL_official

# download package with broken link
wget http://lmde-mirror.gwendallebihan.net/latest/pool/main/m/mklibs/mklibs_0.1.34.tar.gz -O dl/mklibs_0.1.34.tar.gz

并使用以下命令编译固件和工具链

make V=s

笔记:

  1. 我的 18.04.2 LTS 机器上的编译失败,我没有获得任何工厂/系统升级映像。
  2. 提取工具链/opt没有帮助:

    cd /
    sudo tar -xf ~/Downloads/GPL_DSL_AC88U_v11006_build591/DSL-AC88U_FW_V1_10_06_Build591_GPL_official/crosstools-arm-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21-NPTL.Rel1.2.tar.bz2
    

    并结束于

    autom4te:需要 GNU m4 1.4 或更高版本:/opt/toolchains/crosstools-arm-gcc-4.6-linux-3.4-uclibc-0.9.32-binutils-2.21-NPTL/usr/bin/m4
    aclocal-1.11:autom4te 失败,退出状态:1
    Makefile:950:目标“aclocal.m4”的配方失败

相关内容