In message <1c4e6a09-86ad-4dc7-aa65-336a1643e...@freebsd.org>, Dimitry 
Andric w
rites:
> 
> 
> --Apple-Mail=_41B95E0F-96E1-4E0A-A996-DE3C34E4B13B
> Content-Transfer-Encoding: 7bit
> Content-Type: text/plain;
>       charset=us-ascii
> 
> On 12 Mar 2017, at 02:46, Cy Schubert <cy.schub...@komquats.com> wrote:
> > 
> > In message <5cb065b0-5a7d-4a50-a722-8ea579a67...@freebsd.org>, Dimitry
> > Andric w
> > rites:
> >> 
> >> 
> >> --Apple-Mail=_A0AD1F4B-1279-4DA7-85F9-FB9846A878D7
> >> Content-Transfer-Encoding: quoted-printable
> >> Content-Type: text/plain;
> >>    charset=us-ascii
> >> 
> >> On 12 Mar 2017, at 01:55, Roberto Rodriguez Jr <rob.rodz....@gmail.com> =
> >> wrote:
> >>> =20
> >>> Now...
> >>> make buildworld
> >> ...
> >>> In file included from /usr/src/contrib/llvm/lib/Support/APInt.cpp:15:
> >>> In file included from =
> >> /usr/src/contrib/llvm/include/llvm/ADT/APInt.h:20:
> >>> In file included from
> >>> /usr/src/contrib/llvm/include/llvm/Support/MathExtras.h:19:
> >>> In file included from /usr/include/c++/v1/algorithm:634:
> >>> In file included from /usr/include/c++/v1/memory:604:
> >>> /usr/include/c++/v1/new:73:10: fatal error: '__undef___deallocate' =
> >> file not
> >>> found
> >>> #include <__undef___deallocate>
> >>>        ^
> >> 
> >> Yes, this is because of the bad advice to run "make delete-old" before
> >> you had run "make installworld".  You had an older version of libc++ in
> >> /usr/include/c++, but that still required the __undef___deallocate
> >> header, which has now been deleted by "make delete-old".
> >> 
> >> Your best chance is to build and install libc++ first, if possible, by
> >> doing:
> >> 
> >> cd /usr/src/lib/libc++
> >> make obj
> >> make depend
> >> make
> >> make install
> >> 
> >> Then retry building world.
> > 
> > If this actually fixes it, it (the build) is wrong. You shouldn't have to
> > build and install src in order to build another part of src.
> > 
> > The procedure has always been documented as make installworld first then
> > make delete-old. Failing to do so will on rare occasions bite you when
> > building a port.
> 
> Yes, but in this case Roberto ran "make delete-old" *before* installing
> world, on your advice. That is definitely something that should be
> avoided.

That's not what I was talking about. I should have worded that better, as 
in for next time. People should run make delete-old after the previous 
installworld and prior to the next buildworld. Even so, the contents of the 
current /usr/include should not affect the current buildworld. In practice 
this is still the case. r307800 is a good example of this. I wouldn't be 
surprised there's more of this in src.

> 
> E.g., "make delete-old" should only ever be run with exactly the same
> source tree that your current world was installed from.  And preferably
> right after "make installworld" and updating /etc.

Exactly!


-- 
Cheers,
Cy Schubert <cy.schub...@cschubert.com>
FreeBSD UNIX:  <c...@freebsd.org>   Web:  http://www.FreeBSD.org

        The need of the many outweighs the greed of the few.


_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to