Re: Crosscompiling iproute2
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2021-05-25 21:37:25
On Tue, 25 May 2021 20:18:39 +0200 Frank Wunderlich [off-list ref] wrote:
quoted
Gesendet: Dienstag, 25. Mai 2021 um 18:08 Uhr Von: "Stephen Hemminger" [off-list ref] An: "Frank Wunderlich" [off-list ref] Cc: netdev@vger.kernel.org Betreff: Re: Crosscompiling iproute2 On Tue, 25 May 2021 17:56:09 +0200 Frank Wunderlich [off-list ref] wrote:quoted
Am 24. Mai 2021 23:36:20 MESZ schrieb Stephen Hemminger [off-list ref]:quoted
On Mon, 24 May 2021 21:06:02 +0200 Frank Wunderlich [off-list ref] wrote:quoted
Am 17. Mai 2021 21:36:28 MESZ schrieb Stephen Hemminger[off-list ref]:quoted
quoted
On Mon, 17 May 2021 09:44:21 +0200 This works for me: make CC="$CC" LD="$LD" HOSTCC=gccHi, Currently have an issue i guess from install. After compile i installinto local directory,pack it and unpack on target system (/usr/local/sbin).triedquoted
Basic ip commands work,but if i try e.g. this ip link add name lanbr0 type bridge vlan_filtering 1vlan_default_pvid 500quoted
I get this: Garbage instead of arguments "vlan_filtering ...". Try "ip linkhelp".quoted
I guess ip tries to call bridge binary from wrong path (tried$PRFX/usr/local/bin).quoted
regards FrankNo ip command does not call bridge. More likely either your kernel is out of date with the ip command (ie new ip command is asking for something kernel doesn't understand);I use 5.13-rc2 and can use the same command with debians ip commandquoted
or the iplink_bridge.c was not compiled as part of your compile; or simple PATH issue or your system is not handling dlopen(NULL) correctly.Which lib does ip load when using the vlanfiltering option?It is doing dlopen of itself, no other libraryquoted
quoted
What happens is that the "type" field in ip link triggers the code to use dlopen as form of introspection (see get_link_kind)this seems to be the problem: openat(AT_FDCWD, "/usr/lib/ip/link_bridge.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) write(2, "Garbage instead of arguments \"vl"..., 71Garbage instead of arguments "vlan_filtering ...". Try "ip link help". i have no /usr/lib/ip directory, my package contains only lib-folder for tc (with dist files only because i use static linking). also there is no *.so in my building-directory
That only gets called if you haven't got the bridge part in the original ip command. The shared library stuff is for other non-static libraries to extend iproute2. This is unused by most distro's and you shouldn't need it. I think the bridge part was just not built in your version.