跳至主要内容

解决OpenWRT安装第三方包Incompatible with the architectures configured错误

 起因

起了把家里路由器更新到新版本OpenWRT的念头很久了,周末终于克服自己的懒病,下载了OpenWRT 19.07.4的安装包,更新Linksys WRT1900ACS路由器的系统。
修改了IP地址,把Wifi打开后,驾轻就熟地修改了相关的配置,增加了第三方源,准备开始安装你懂的SS和ChinaDNS等组件。没想到往常屡试不爽的opkg install命令返回了安装失败提示:
Incompatible with the architectures configured
仔细比对了所有的配置,确认没有错误,但是安装新增的第三方包时总是报错。

解决方法

试了N多种方法,还是不行,正准备放弃装回原来ROM时,突然发现运行opkg print-architecture返回的CPU架构型号是
arch all 1
arch noarch 1
arch arm_cortex-a9_vfpv3-d16 10
比原来系统打印出来的架构型号多了一个d16,而第三方源的库里貌似没有arm_cortex-a9_vfpv3-d16这样一个型号的源,尝试修改/etc/opkg.conf文件,把原来CPU型号列表增加不带d16行。
arch all 1
arch noarch 1
arch arm_cortex-a9_vfpv3 8
arch arm_cortex-a9_vfpv3-d16 10

再运行opkg install,包装成功。

评论

此博客中的热门博文

解决墙国Google Home无法联网问题

趁黑五特价入手了个Google Home,经过漫长的等待昨天终于等到。回到家里兴高采烈的安装了Home应用,设置好开始开心的调戏Google,播放音乐什么的都很正常。 第二天上班回到家里,发现Hey Google后,不是提示Sorry something went wrong, try again in a few seconds."就是"There was a glitch. Try again in a few seconds.",很是恼火。没可能哥花50刀就买一个蓝牙音箱回来吧,再说了,连不上网甚至连蓝牙也打不开。 本着一贯的研究精神,开搞。据说Google Home是自带DNS,OpenWRT路由上设置了全局SS,但是Google Home还是会用tcp的模式去访问不存在的DNS Server地址8.8.4.4和8.8.8.8,于是乎加了个防火墙规则,不管你Google Home什么请求,都乖乖给我走SS通道去。 修改OpenWRT的/etc/firewall.user文件,增加以下iptables规则: iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 53 -j DNAT --to 192.168.1.0 iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 53 -j DNAT --to 192.168.1.0 iptables -I PREROUTING -t nat -p udp -d 8.8.4.4 --dport 53 -j REDIRECT --to-ports 1053 iptables -I PREROUTING -t nat -p udp -d 8.8.8.8 --dport 53 -j REDIRECT --to-ports 1053 嘿嘿,来一句"Hey Google. Make me relax“,满屋子都是优美的声音,听着写代码真爽:).

Installing RHEL EPEL Repo on Centos 5.x or 6.x

习惯了用yum来安装东西,试了下这篇文章提到的做法workable,再做一次搬运工。 原文出处: http://www.rackspace.com/knowledge_center/article/installing-rhel-epel-repo-on-centos-5x-or-6x Authored by: Rackspace Support How to install RHEL EPEL repository on Centos 5.x or 6.x The following article will describe how to configure a CentOS 5.x-based or Centos 6.x-based system to use Fedora Epel repos and third party remi package repos. These package repositories are not officially supported by CentOS, but they provide much more current versions of popular applications like PHP or MYSQL. Install the extra repositories The first step requires downloading some RPM files that contain the additional YUM repository definitions. The instructions below point to the 64-bit versions that work with our Cloud Server instances. Centos 5.x wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm sudo rpm -Uvh remi-release-5*.rpm epel...

64位OEL 6安装Oracle RCU报“libXext.so.6: cannot open shared object file: No such file or directory”的解决方法

在64位的Oracle Enterprise Linux 6上时报“ libXext.so.6: cannot open shared object file: No such file or directory ”的错误,已经装了64位x11相关的包,可见是缺少32位的包引起的。 1.libXext.so.6错误信息如下: 无法使用位置 /home/ecm/oinstall/rcuHome/rcu/log/logdir.2011-12-26_09-54/rcu.log 初始化日志记录程序 使用以下位置初始化日志记录程序: /tmp/logdir.2011-12-26_09-54/rcu.log Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/ecm/oinstall/rcuHome/jdk/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory     at java.lang.ClassLoader$NativeLibrary.load(Native Method)     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1806)     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1702)     at java.lang.Runtime.load0(Runtime.java:770)     at java.lang.System.load(System.java:1003)     at java.lang.ClassLoader$NativeLibrary.load(Native Method)     at java.lang.ClassLoader.loadLibrar...