[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210525142331.39594c34@hermes.local>
Date: Tue, 25 May 2021 14:37:12 -0700
From: Stephen Hemminger <stephen@...workplumber.org>
To: Frank Wunderlich <frank-w@...lic-files.de>
Cc: netdev@...r.kernel.org
Subject: Re: Crosscompiling iproute2
On Tue, 25 May 2021 20:18:39 +0200
Frank Wunderlich <frank-w@...lic-files.de> wrote:
> > Gesendet: Dienstag, 25. Mai 2021 um 18:08 Uhr
> > Von: "Stephen Hemminger" <stephen@...workplumber.org>
> > An: "Frank Wunderlich" <frank-w@...lic-files.de>
> > Cc: netdev@...r.kernel.org
> > Betreff: Re: Crosscompiling iproute2
> >
> > On Tue, 25 May 2021 17:56:09 +0200
> > Frank Wunderlich <frank-w@...lic-files.de> wrote:
> >
> > > Am 24. Mai 2021 23:36:20 MESZ schrieb Stephen Hemminger <stephen@...workplumber.org>:
> > > >On Mon, 24 May 2021 21:06:02 +0200
> > > >Frank Wunderlich <frank-w@...lic-files.de> wrote:
> > > >
> > > >> Am 17. Mai 2021 21:36:28 MESZ schrieb Stephen Hemminger
> > > ><stephen@...workplumber.org>:
> > > >> >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
> > > >>
> > > >> https://github.com/frank-w/iproute2/blob/main/crosscompile.sh#L17
> > > >
> > > >>
> > > >> 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
> > > >>
> > > >> I get this:
> > > >>
> > > >> Garbage instead of arguments "vlan_filtering ...". Try "ip link
> > > >help".
> > > >>
> > > >> I guess ip tries to call bridge binary from wrong path (tried
> > > >$PRFX/usr/local/bin).
> > > >>
> > > >> 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
> > >
> > > >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
> >
> > >
> > > >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.
Powered by blists - more mailing lists