[Solved] Satisfy_dependencies_for: Cannot satisfy the following dependencies for tc:

Hi was tryin g to play with tc (to mirror traffic between interfaces don't know if its the right way)

but:

root@OpenWrt:/# opkg install tc iptables-mod-ipopt
Installing tc (4.19.0-5) to root...
Downloading http://downloads.openwrt.org/snapshots/packages/mips_24kc/base/tc_4.19.0-5_mips_24kc.ipk
Installing iptables-mod-ipopt (1.8.2-2) to root...
Downloading http://downloads.openwrt.org/snapshots/targets/ar71xx/generic/packages/iptables-mod-ipopt_1.8.2-2_mips_24kc.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for tc:
 *      kernel (= 4.14.87-1-f11667096b7c23e1dc9446b0665e3ac8) * 
 * opkg_install_cmd: Cannot install package tc.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for iptables-mod-ipopt:
 *      kernel (= 4.14.87-1-f11667096b7c23e1dc9446b0665e3ac8) * 
 * opkg_install_cmd: Cannot install package iptables-mod-ipopt.
root@OpenWrt:/# uname -r
4.14.79

what's going wrong here ?

Need to update kernel ? How should I proceed ?

Your kernel is not consistent with the package repository. The packages that interact with the kernel need to be obtained from basically the same build as the kernel. Though I have vague memories that snapshot repos were somehow available from past versions, snapshots have historically been "point in time" in that as soon as the next build kicks off, there was no access to consistent kernel modules.

Edit:

1 Like

Let me try to understand

usually you would get packages compiled for older kernels

but for me building on images by myself on my machine is the other way round

So only thing to do is rebuild my image ??

Or is there a way to force the system to install them (think chances to have them broken is small) ?

You can try building the needed packages from your source tree. Personally, I'd just build a new image if you're already building your own images.

I would not try to "force" a mismatched kernel module, even if it might work.

1 Like

There is strict kernel checksumming on the kernel version and all kernel options. In practice, any change to kernel version of options or selected kernel packages triggers the failure.

Yes, the thing to do is to rebuild your image from source and to include the package in the build (at least selected to be built with "m".

Yes, you can try forcing it with opkg option "--force-depends" but that is risky. Read opkg manual
https://openwrt.org/docs/guide-user/additional-software/opkg#options

2 Likes

Okdokey good

new problem cannot find tc in make menuconfig

there is a tc reference in .config but none in make menuconfig (checked under busybox too)

found here:

https://bugs.openwrt.org/index.php?do=details&task_id=1388&opened=262&status[0]=

is under iproute2 that is iproute in openwrt ???

It is there:

.config - OpenWrt Configuration
 > Network > Routing and Redirection ───────────────────────────────────────────────────────────────────
  ┌─────────── tc............................................... Traffic control utility ────────────┐
  │ CONFIG_PACKAGE_tc:                                                                               │  
  │                                                                                                  │  
  │ Traffic control utility                                                                          │  
  │ http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2                        │  
  │ Russell Senior <russell@personaltelco.net>                                                       │  
  │                                                                                                  │  
  │                                                                                                  │  
  │ Symbol: PACKAGE_tc [=y]                                                                          │  
  │ Type  : tristate                                                                                 │  
  │ Prompt: tc............................................... Traffic control utility                │  
  │   Location:                                                                                      │  
  │     -> Network                                                                                   │  
  │       -> Routing and Redirection                                                                 │  
  │   Defined at tmp/.config-package.in:87945                                                        │  
  │   Selects: PACKAGE_libmnl [=y] && PACKAGE_librt [=y] && PACKAGE_libssp [=n] && \                 │  
  │ PACKAGE_libpthread [=y] && PACKAGE_kmod-sched-core [=y] && PACKAGE_libc [=y]                     │  
  │   Selected by: MODULE_DEFAULT_tc [=n] && TARGET_PER_DEVICE_ROOTFS [=n] && m && MODULES [=y]\     │  
  │  || PACKAGE_qos-scripts [=n] || PACKAGE_sqm-scripts [=y] && !LINUX_3_18 [=n] || \                │  
  │ PACKAGE_luci-app-splash [=n] && PACKAGE_iptables [=y]                                            │  
.config - OpenWrt Configuration
 > Network > Routing and Redirection ───────────────────────────────────────────────────────────────────
  ┌──────────────────────────────────── Routing and Redirection ─────────────────────────────────────┐
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).          │  
  │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M> modularizes          │  
  │  features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.  Legend: [*] built-in  [ ]   │  
  │  excluded  <M> module  < > module capable                                                        │  
  │ ┌────────────^(-)──────────────────────────────────────────────────────────────────────────────┐ │  
  │ │            < > genl.................................... General netlink utility frontend     │ │  
  │ │            < > igmpproxy....................................... Multicast Routing Daemon     │ │  
  │ │            < > ip-bridge..................... Bridge configuration utility from iproute2     │ │  
  │ │            < > ip-full................................... Routing control utility (Full)     │ │  
  │ │            -*- ip-tiny................................ Routing control utility (Minimal)     │ │  
  │ │            < > lldpd............................... Link Layer Discovery Protocol daemon  ---│ │  
...
  │ │            < > sslh................................................. SSL/SSH multiplexer     │ │  
  │ │            -*- tc............................................... Traffic control utility     │ │  
  │ │            < > tcpproxy.................................. IPv4/IPv6 tcp connection proxy     │ │  
  │ │            < > vis........................ visualization server for B.A.T.M.A.N. layer 3     │ │  
  │ 

And yes, tc is part of the iproute2 sources, but it is quite normally a separate package

1 Like

thanks

/tc doesn't work don't know why

I noticed the same. Probably too short search string

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.