Opkg cannot install (incompatible architecture)

I have a router running Barrier Breaker 14.07 with the following hardware specs

root@OpenWrt:~# cat /proc/cpuinfo
system type             : Ralink MT7620A ver:2 eco:6
machine                 : Ralink MT7620a
processor               : 0
cpu model               : MIPS 24KEc V5.0
BogoMIPS                : 385.84
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp
shadow register sets    : 1
kscratch registers      : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

I downloaded ibcurl_7.60.0-3_mipsel_24kc.ipk from http://downloads.openwrt.org/releases/packages-18.06/mipsel_24kc/base/ and tried installing it using
opkg install /tmp/libcurl_7.60.0-3_mipsel_24kc.ipk

but always get

root@OpenWrt:~# opkg install /tmp/libcurl_7.60.0-3_mipsel_24kc.ipk
Unknown package 'libcurl'.
Collected errors:
 * pkg_hash_fetch_best_installation_candidate: Packages for libcurl found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package libcurl.

I know I should update my firmware anyway but I first wanted to know if there is a mismatch between my machine architecture and the package I am trying to download?

Edit: My current /etc/opkg.conf file mentions http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/ as remote repo and it matches exactly my cpu but I can't find any such path in new Openwrt/LEDE releases

I would update the router first.

Unfortunately I can't update the firmware right now but I would like to know the difference between the "ramips" and "mipsel_24kc" targets.Specially since before there was a specific MT7620a target but now I can't find any.

ramips is technically MIPSLE(Little-endian) 24KEc, which is backward-compatible with 24Kc

Thanks...thats what I thought but the opkg error about incompatible architectures configured threw me off

Add arch mipsel_24kc 100 to your /etc/opkg.conf

Packages for 14.07 won't work on 18.06, because they use different C library

1 Like

i was able to get rid of opkg error message with jow's suggestion but I ran into another problem.

* satisfy_dependencies_for: Cannot satisfy the following dependencies for libcurl:
 *      libc *

Another thing, previously I was able to install old libcurl from http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/libcurl_7.38.0-1_ramips_24kec.ipk. just fine but now I am also getting missing libc * dependency error for even that package.

root@OpenWrt:/lib# opkg install libcurl
Installing libcurl (7.38.0-1) to root...
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/libcurl_7.38.0-1_ramips_24kec.ipk.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for libcurl:
 *      libc *  libc *
 * opkg_install_cmd: Cannot install package libcurl.

I might have screwed something up while investigating my original problem :D. Any ideas?

PS I can see libc in my /lib folder

-rwxr-xr-x    1 root     root         28966 Mar 11  2015 ld-uClibc-
lrwxrwxrwx    1 root     root            21 May 20  2015 ld-uClibc.so.0 -> ld-uClibc-
lrwxrwxrwx    1 root     root            21 May 20  2015 libc.so.0 -> libuClibc-
-rwxr-xr-x    1 root     root        355488 Mar 11  2015 libuClibc-


Can't I use the latest Openwrt Makefile for libcurl ,put it in the 14.07-ramips-SDK I have , build the latest curl package with the SDK and then install it over my 14.07 fw router? That should work right?

I actually forgot that I have the SDK on my PC so I dont need to download packages from other releases...I can cross compile the latest libcurl on my own but running into the above libc missing problem now.