Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Dec 2016 23:29:59 +0100
From:      "O. Hartmann" <ohartmann@walstatt.org>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Dimitry Andric <dim@FreeBSD.org>, "O. Hartmann" <ohartmann@walstatt.org>, FreeBSD CURRENT <freebsd-current@freebsd.org>, FreeBSD Ports <freebsd-ports@freebsd.org>, Ed Maste <emaste@freebsd.org>
Subject:   Re: emulators/qemu: qemu ports failing due to compiler error on 12-CURRENT
Message-ID:  <20161229232959.1b35466a@thor.walstatt.dynvpn.de>
In-Reply-To: <1483046691.16152.67.camel@freebsd.org>
References:  <20161207104203.7c9524a3@thor.walstatt.dynvpn.de> <782FAC01-9A7C-438F-912C-831628A08E63@FreeBSD.org> <20161229172949.48792b29@thor.walstatt.dynvpn.de> <F84C2E65-8402-49E4-A0EF-173C045CD753@FreeBSD.org> <20161229211738.54f9beae@thor.walstatt.dynvpn.de> <1483046691.16152.67.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/hSVqKZ6/tfeX7HqteQg73r4
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Am Thu, 29 Dec 2016 14:24:51 -0700
Ian Lepore <ian@freebsd.org> schrieb:

> On Thu, 2016-12-29 at 21:17 +0100, O. Hartmann wrote:
> > Am Thu, 29 Dec 2016 20:26:32 +0100
> > Dimitry Andric <dim@FreeBSD.org> schrieb:
> >  =20
> > >=20
> > > On 29 Dec 2016, at 17:29, O. Hartmann <ohartmann@walstatt.org>
> > > wrote: =20
> > > >=20
> > > >=20
> > > > Am Wed, 7 Dec 2016 23:31:01 +0100
> > > > Dimitry Andric <dim@FreeBSD.org> schrieb:
> > > > =A0=A0 =20
> > > > >=20
> > > > > On 07 Dec 2016, at 10:42, O. Hartmann <ohartmann@walstatt.org>
> > > > > wrote:=A0=A0 =20
> > > > > >=20
> > > > > >=20
> > > > > > I try my first steps in cross compiling ports with poudriere
> > > > > > and therefore I try to
> > > > > > setup an appropriate jail and QEMU environment.
> > > > > >=20
> > > > > > Well, I'm failing at the jail setup due to the non-exitence
> > > > > > of any suitable QEMU
> > > > > > environment and for that I tried to figure out to find some
> > > > > > proper HOWTO.
> > > > > > Searching via google ave some hints, but in questions which
> > > > > > QEMU from ports should
> > > > > > be used, all leave me alone, so I tried
> > > > > >=20
> > > > > > emulators/qemu
> > > > > > emulators/qemu-devel
> > > > > > emulators/qemu-static
> > > > > >=20
> > > > > > emulators/qemu is known for me to fail since months and the
> > > > > > days of 11-CURRENT,
> > > > > > there is a compiler error spit out with clang 3.8 and now
> > > > > > 3.9. The very same for
> > > > > > qemu-devel (both ports used with standard options, no
> > > > > > extras). See also Bug 214873
> > > > > > (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D214873)
> > > > > > and Bug 215100
> > > > > > (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D215100).=
=A0=A0 =20
> > > > > I couldn't reproduce the compilation errors, it builds fine for
> > > > > me until
> > > > > the link phase.=A0=A0 =20
> > > > Well, I face this in poudriere on the most recent 12-CURRENT, too
> > > > as well as
> > > > 12-CURRENT buildworld today.
> > > >=20
> > > > On the host I'd like to run qemu for testing aarch64 binaries for
> > > > a Odroid-C2
> > > > project, I use a customized /etc/src.conf - but on poudriere,
> > > > there is no such
> > > > customisation but the failing is identical.=A0=A0 =20
> > > Looking at your errors, it seems that the port has decided to
> > > enable
> > > rdma support.=A0=A0This is normally enabled using --enable-rdma with
> > > the
> > > configure script, but I don't see that at all in the port Makefile.
> > >=20
> > > On my systems, it runs a test to check for rdma support, but this
> > > fails.
> > > Quoting from config.log:
> > >=20
> > > =A0=A0=A0=A0cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=3D64
> > > -D_LARGEFILE_SOURCE
> > > -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> > > -Wmissing-prototypes -fno-strict-aliasing -fno-common
> > > -I/usr/work/share/dim/ports/emulators/qemu/work/qemu-2.6.1
> > > -I/usr/local/include
> > > -DPREFIX=3D\""/usr/local\"" -Wno-string-plus-int -Wno-initializer-
> > > overrides
> > > -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs=20
> > > -Wformat-security
> > > -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-
> > > definition -Wtype-limits
> > > -fstack-protector-strong -I/usr/local/include
> > > -I/usr/local/include/p11-kit-1
> > > -I/usr/local/include -o config-temp/qemu-conf.exe config-temp/qemu-
> > > conf.c -m64 -g
> > > -fstack-protector -L"/usr/local/lib" -lrdmacm -libverbs config-
> > > temp/qemu-conf.c:1:10:
> > > fatal error: 'rdma/rdma_cma.h' file not found #include
> > > <rdma/rdma_cma.h> ^
> > >=20
> > > The minimal test program it tries to compile here is just this:
> > >=20
> > > =A0=A0=A0=A0#include <rdma/rdma_cma.h>
> > > =A0=A0=A0=A0int main(void) { return 0; }
> > >=20
> > > and it attempts to link it with -lrdmacm -libverbs.=A0=A0If this
> > > somehow
> > > succeeds on your system, then it will think rdma support is
> > > available,
> > > while apparently the support is not complete, if it misses the
> > > rdma_getaddrinfo() function.
> > >=20
> > > Do you have some Linux rdma or infiniband headers or libraries
> > > installed
> > > into /usr or /usr/local?=A0=A0This might be the cause of the problems=
. =20
> > No Linux, but I found these files on all of the boxes in question:
> >=20
> > locate rdma
> >=20
> > [...]
> > /usr/include/rdma
> > /usr/include/rdma/rdma_cma.h
> > /usr/include/rdma/rdma_cma_abi.h
> > /usr/lib/librdmacm.a
> > /usr/lib/librdmacm.so
> > /usr/lib/librdmacm.so.1
> >=20
> > ll usr/include/rdma discovers:
> >=20
> > total 44
> > 322075 drwxr-xr-x=A0=A0=A02 root=A0=A0wheel=A0=A0-=A0=A0512B Oct=A0=A07=
 13:52 ./
> > 240768 drwxr-xr-x=A0=A055 root=A0=A0wheel=A0=A0-=A0=A06.5K Dec 29 19:14=
 ../
> > 324275 -r--r--r--=A0=A0=A01 root=A0=A0wheel=A0=A0-=A0=A0=A021K Oct=A0=
=A07 13:52 rdma_cma.h
> > 324276 -r--r--r--=A0=A0=A01 root=A0=A0wheel=A0=A0-=A0=A04.7K Oct=A0=A07=
 13:52
> > rdma_cma_abi.h
> >=20
> > and
> >=20
> > ll /usr/lib/librdma*
> > 804463 -r--r--r--=A0=A01 root=A0=A0wheel=A0=A0-=A0=A0=A028K Dec 18 16:34
> > /usr/lib/librdmacm.a
> > 804127 lrwxr-xr-x=A0=A01 root=A0=A0wheel=A0=A0-=A0=A0=A014B Dec 29 19:15
> > /usr/lib/librdmacm.so@ ->
> > librdmacm.so.1 804128 -r--r--r--=A0=A01 root=A0=A0wheel=A0=A0-=A0=A0=A0=
24K Dec 29
> > 19:15 /usr/lib/librdmacm.so.1
> >=20
> >=20
> > As you can see, the libraries are of the date of the last full
> > install of the system,
> > while the headers seem to be remains from October?
> >=20
> > In my jail for poudriere, I was surprised, based on your analysis,
> > that I found this:
> >=20
> > ll /pool/poudriere/jails/head-amd64/usr/include/rdma
> > total 43
> > 77923 drwxr-xr-x=A0=A0=A02 root=A0=A0wheel=A0=A0uarch=A0=A0=A0=A04B Jul=
 13 07:09 ./
> > 77028 drwxr-xr-x=A0=A055 root=A0=A0wheel=A0=A0uarch=A0=A0336B Dec 28 11=
:29 ../
> > 96127 -r--r--r--=A0=A0=A01 root=A0=A0wheel=A0=A0-=A0=A0=A0=A0=A0=A0=A02=
1K Jul 13 07:09 rdma_cma.h
> > 96128 -r--r--r--=A0=A0=A01 root=A0=A0wheel=A0=A0-=A0=A0=A0=A0=A0=A04.7K=
 Jul 13 07:09
> > rdma_cma_abi.h
> >=20
> > I do buildworlds on almost a daily basis, so could this be a fallout
> > of any kind?
> >=20
> > It seems the installworld didn't got right
> >=20
> > Thanks for your analysis - I delete, frankly, the header files as
> > they reside in the base
> > systems domain without a valid timestamp - they are considered
> > hostile ;-)
> >=20
> > the big scary question is now how i can prevent such a situation
> > (possibly not if not
> > staying with STABLE or RELEASE) or how can I clean the system without
> > danger. I think
> > some of my problems reported in the nearest past (half a year back)
> > could be triggered by
> > some nasty fallout of CURRENT - you might remember that I also had a
> > strange lib path in
> > the tree considered not valid and caused lots of problems.
> >=20
> > Thank you anyway, it seems that emulators/qemu is now over the point
> > of failure and I
> > hope I'll get a working package now to start working on the AARCH64
> > ports.
> >=20
> > Thanks.
> >=20
> > Kind regards,
> > Oliver
> >=20
> >  =20
> > >=20
> > > If you don't want or care about rdma, you can try the following
> > > patch
> > > (should similarly apply to the other qemu ports):
> > >=20
> > > Index: emulators/qemu/Makefile
> > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > > --- emulators/qemu/Makefile=A0=A0=A0=A0=A0(revision 429888)
> > > +++ emulators/qemu/Makefile=A0=A0=A0=A0=A0(working copy)
> > > @@ -78,6 +78,7 @@
> > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0--disable-libssh2 --e=
nable-debug \
> > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0--prefix=3D${PREFIX} =
--cc=3D${CC} --enable-docs --
> > > disable-kvm \
> > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0--disable-linux-user =
--disable-linux-aio --disable-
> > > xen \
> > > +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0--disable-rdma \
> > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0--smbd=3D${LOCALBASE}=
/sbin/smbd --enable-debug-info
> > > --python=3D${PYTHON_CMD} \ --extra-cflags=3D-I${WRKSRC}\
> > > -I${LOCALBASE}/include\
> > > -DPREFIX=3D\\\"\"${PREFIX}\\\"\"
> > >=20
> > > -Dimitry
> > >  =20
> >=20
> >  =20
>=20
> The rdma stuff is part of OFED, it comes from sys/ofed/include. =A0Other
> parts of it are in sys/contrib/rmda and src/contrib/ofed. =A0Maybe it
> only gets installed if you are using certain kernel options? =A0I'm not
> sure.
>=20
> -- Ian

I have "WITH_OFED=3DYES" defined in /etc/src.conf.

After a make buildworld, all the rdma stuff is in place again.

I think the patch above for the Makefile is appropriate.

--=20
O. Hartmann

Ich widerspreche der Nutzung oder =DCbermittlung meiner Daten f=FCr
Werbezwecke oder f=FCr die Markt- oder Meinungsforschung (=A7 28 Abs. 4 BDS=
G).

--Sig_/hSVqKZ6/tfeX7HqteQg73r4
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iLUEARMKAB0WIQQZVZMzAtwC2T/86TrS528fyFhYlAUCWGWOZwAKCRDS528fyFhY
lMAJAgCc1P7jaHsnQU0r+5Dkhseyq+qOszmz1AGAIgQubAAzp3CJJC7L60gfLsRz
Fo7WSubnjKhQKgVx6jKaIfUvYJUVAgClreBwDq3p4JTfElGQ/CZLIFh6/Mape3fJ
nz0PX03S04PwOSn1hUGJeLYudQ2ObqUPHo8eiwvSCXJ4yeXGaW9e
=pawT
-----END PGP SIGNATURE-----

--Sig_/hSVqKZ6/tfeX7HqteQg73r4--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161229232959.1b35466a>