Re: git: cdcd52d41e24 - main - irdma: Add RDMA driver for Intel(R) Ethernet Controller E810

From: Eric Joyner <erj_at_freebsd.org>
Date: Fri, 09 Dec 2022 01:00:03 UTC
Yeah, I was able to repro it and get what I think is the error in a
nicer-to-read set of lines:

Building
/root/build/head/obj/root/build/head/src/amd64.amd64/lib/ofed/libirdma/libirdma.a

building static irdma library

Building
/root/build/head/obj/root/build/head/src/amd64.amd64/lib/ofed/libirdma/libirdma.so.1.full
building shared library libirdma.so.1

/usr/local/bin/x86_64-unknown-freebsd14.0-ld: duplicate expression `*' in
version information
collect2: error: ld returned 1 exit status

*** [libirdma.so.1.full] Error code 1


What does that even mean? I don't know anything about building libraries.

- Eric

On Wed, Dec 7, 2022 at 1:05 PM John Baldwin <jhb@freebsd.org> wrote:

> On 6/13/22 2:18 PM, Eric Joyner wrote:
> > On Fri, Jun 10, 2022 at 3:29 PM John Baldwin <jhb@freebsd.org> wrote:
> >
> >> On 5/23/22 4:54 PM, Eric Joyner wrote:
> >>> The branch main has been updated by erj:
> >>>
> >>> URL:
> >>
> https://cgit.FreeBSD.org/src/commit/?id=cdcd52d41e246ba1c0fcfad0769bd691487355ef
> >>>
> >>> commit cdcd52d41e246ba1c0fcfad0769bd691487355ef
> >>> Author:     Bartosz Sobczak <bartosz.sobczak@intel.com>
> >>> AuthorDate: 2022-05-23 23:39:27 +0000
> >>> Commit:     Eric Joyner <erj@FreeBSD.org>
> >>> CommitDate: 2022-05-23 23:52:49 +0000
> >>>
> >>>       irdma: Add RDMA driver for Intel(R) Ethernet Controller E810
> >>>
> >>>       This is an initial commit for RDMA FreeBSD driver for Intel(R)
> >> Ethernet
> >>>       Controller E810, called irdma.  Supporting both RoCEv2 and iWARP
> >>>       protocols in per-PF manner, RoCEv2 being the default.
> >>>
> >>>       Testing has been done using krping tool, perftest, ucmatose,
> rping,
> >>>       ud_pingpong, rc_pingpong and others.
> >>>
> >>>       Signed-off-by: Eric Joyner <erj@FreeBSD.org>
> >>>
> >>>       Reviewed by:    #manpages (pauamma_gundo.com) [documentation]
> >>>       MFC after:      1 week
> >>>       Relnotes:       yes
> >>>       Sponsored by:   Intel Corporation
> >>>       Differential Revision:  https://reviews.freebsd.org/D34690
> >>
> >> I'm trying to get the tree building again with GCC and ld.bfd does not
> like
> >> libirdma.map at all complaining with an error:
> >>
> >> duplicate expression '*' in version information
> >>
> >> I looked at the version map, and it seems rather bogus to me and not
> like
> >> version maps used anywhere else.  It seems to be exporting all symbols
> in
> >> two different versions?  That would seem to defeat the point of having
> >> symbol versions?
> >>
> >> /* Export symbols should be added below according to
> >>      Documentation/versioning.md document. */
> >> IRDMA_1.0 {
> >>          global: *;
> >>          local: *;
> >> };
> >>
> >> IRDMA_1.1 {
> >>          global: *;
> >> } IRDMA_1.0;
> >>
> >> (I'm also not sure why lld accepts such a version map.)
> >>
> >> --
> >> John Baldwin
> >>
> >
> > Hi,
> >
> > I don't know how to answer this; I'm going to forward this to the FreeBSD
> > RDMA guy and another one (the first guy might still be out on vacation)
> and
> > see if they can answer this.
>
> FYI, this is now the current breakage for the new GCC 12 job in FreeBSD's
> CI:
>
> https://ci.freebsd.org/job/FreeBSD-main-amd64-gcc12_build/47/console
>
> The error is buried in the log there, but should be obtainable by doing
> 'pkg install amd64-gcc12' and 'make CROSS_TOOLCHAIN=amd64-gcc12 buildworld'
> on main.
>
> --
> John Baldwin
>
>