Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 May 2016 17:42:06 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Alan Somers <asomers@freebsd.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r300770 - in head: . contrib/libc++/include contrib/libc++/include/experimental contrib/libc++/include/ext contrib/libc++/src contrib/libc++/src/include contrib/libc++/src/support lib/l...
Message-ID:  <CCBCA662-E090-488E-BFB4-55B5153CFAE1@FreeBSD.org>
In-Reply-To: <CAOtMX2iaNfs6XY8D9QdY9=FY95mi6TKp=_QCe4eETW7YpYhYHA@mail.gmail.com>
References:  <201605261852.u4QIqn5w073953@repo.freebsd.org> <CAOtMX2jRZ0ZyW5Hw1ESp6EpADa_qvX5QFPHjkgUAFjdHB1OBKA@mail.gmail.com> <D36A3E43-3FFC-4B6A-8BC2-6B7A981FBDCB@FreeBSD.org> <CAOtMX2iaNfs6XY8D9QdY9=FY95mi6TKp=_QCe4eETW7YpYhYHA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_33C48EBD-05D3-423B-B947-FDCF7F7C2C02
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 27 May 2016, at 17:32, Alan Somers <asomers@freebsd.org> wrote:
>=20
> On Fri, May 27, 2016 at 9:28 AM, Dimitry Andric <dim@freebsd.org> =
wrote:
>> On 27 May 2016, at 16:49, Alan Somers <asomers@freebsd.org> wrote:
>>>=20
>>> I think this change is breaking the build of C++ applications.  =
Below
>>> is a snippet of my amd64 buildworld, with the changes in D6564.  it
>>> built fine a few days ago.
...
>> It shouldn't, it passed a full make universe.  Do you have any =
special
>> settings in either make.conf or src.conf?  Or something other about =
your
>> build environment that is non-standard?
...
>=20
> Ahh, but when you ran "make universe" there were not yet any C++
> things in lib/.  My patch adds a C++ library, and it fails when
> building the 32-bit version.  Here's the actual command that failed.
> I don't know why it failed, because
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/stdde=
f.h
> _does_ exist.
>=20
> c++ -m32 -DCOMPAT_32BIT -march=3Di686 -mmmx -msse -msse2
> -L/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/lib32
> --sysroot=3D/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32
> -B/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/lib32
> -isystem =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include
>  -O2 -pipe -MD -MF.depend.consumer.o -MTconsumer.o
> -fstack-protector-strong -Wsystem-headers -Werror -Wall
> -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith
> -Wno-uninitialized -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
> -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
> -Wno-unused-local-typedef -Qunused-arguments  -Wno-c++11-extensions
> -c /home/asomers/freebsd/head/lib/libdevdctl/consumer.cc -o consumer.o
> ...
> --- all_subdir_lib/libdevdctl ---
> In file included from =
/home/asomers/freebsd/head/lib/libdevdctl/event.cc:55:
> In file included from
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v=
1/iostream:38:
> In file included from
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v=
1/ios:216:
> In file included from
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v=
1/__locale:15:
> In file included from
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v=
1/string:439:
> In file included from
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v=
1/algorithm:624:
> In file included from
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v=
1/initializer_list:47:
> =
/scratch/tmp/asomers/obj/home/asomers/freebsd/head/lib32/usr/include/c++/v=
1/cstddef:43:15:
> fatal error: 'stddef.h' file not found
> #include_next <stddef.h>
>              ^

I think what happens is the same what happened with some ports.  For
various reasons, the include path needs to be modified, and this causes
the header lookup to fail, when using #include_next<>.

Can you run the above command manually, but adding -v so it will print
out the full include paths it searches, and the order?

My guess is that either ${MAKEOBJDIRPREFIX}/usr/include/c++/v1 needs to
be added to the C++ include path, or some other path in the list is
missing, at least for C++ compilation.

-Dimitry


--Apple-Mail=_33C48EBD-05D3-423B-B947-FDCF7F7C2C02
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.30

iEYEARECAAYFAldIatgACgkQsF6jCi4glqO2kQCgymKcp436p6W6daNk2J5ksRjS
XsIAnjRKZmM6e2DfsQMUvioH80wPdSbQ
=SU6e
-----END PGP SIGNATURE-----

--Apple-Mail=_33C48EBD-05D3-423B-B947-FDCF7F7C2C02--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CCBCA662-E090-488E-BFB4-55B5153CFAE1>