Thread (13 messages) flat view 13 messages, 2 authors, 2021-05-26

Aw: Re: Crosscompiling iproute2

From: Frank Wunderlich <hidden>
Date: 2021-05-25 18:18:48

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=gcc
Hi,

Currently have an issue i guess from install. After compile i install
into local directory,pack it and unpack on target system
(/usr/local/sbin).tried
quoted
https://github.com/frank-w/iproute2/blob/main/crosscompile.sh#L17
quoted
Basic ip commands work,but if i try e.g. this

ip link add name lanbr0 type bridge vlan_filtering 1
vlan_default_pvid 500
quoted
I get this:

Garbage instead of arguments "vlan_filtering ...". Try "ip link
help".
quoted
I guess ip tries to call bridge binary from wrong path (tried
$PRFX/usr/local/bin).
quoted
regards Frank
No 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 command
quoted
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 library
quoted
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

how should this built?
quoted
I can use the command without vlan_filtering option (including type bridge).

Maybe missing libnml while compile can cause this? had disabled in config.mk and was not reset by make clean,manual delete causes build error,see my last mail

You can crosscompile only with CC,LD and HOSTCC set?
libmnl is needed to get the error handling and a few other features.
so not needed for compilation, right? on target-system i have it

/usr/local/lib/aarch64-linux-gnu:
        libmnl.so.0 -> libmnl.so.0.2.0

regards Frank
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help