After backtracking (using BLFS-8.1 on LFS-8.1) I still get the same
compilation error. I managed to find a "nasty" workaround, which pass
compilation (and the the tests), but this suggests something has gone
amiss with my g++ installation. The workaround  was to use full paths
for the failing #include_next lines:

    /usr/include/c++/7.2.0/bits/std_abs.h:
    [from]
    '#include_next <stdlib.h>'
    [to]
    '#include_next </usr/include/c++/7.2.0/stdlib.h>'
    
    /usr/include/c++/7.2.0/cmath:
    [from]
    '#include_next <math.h>'
    [to]
    '#include_next </usr/include/c++/7.2.0/math.h>'
    
    /usr/include/c++/7.2.0/bits/cstdlib:
    [from]
    '#include_next <stdlib.h>'
    [to]
    '#include_next </usr/include/c++/7.2.0/stdlib.h>'

This is very ugly, but it worked. I can't figure out what has gone
wrong, some path or link is broken, is the vague idea I have.
Incidentally I had tried setting CXX=clang, there the compilation
worked but the linking failed.

I can proceed from here but it feels like the '/usr/include/c++'
installation is slightly broken.

Thanks
Graham

On Sun, 2018-04-01 at 19:13 +0200, Graham Crowe wrote:
> You remark about the g++-7.2.0 was very helpful. I now realise I have
> committed the most basic baseline mistake. I had installed LFS-8.1,
> and
> had just started using BLFS-8.2, where new versions of libdrm and
> mesa
> are used. I need to backtrack and align to BLFS-8.1.
> 
> Thanks
> Graham
> 
> On Sat, 2018-03-31 at 22:08 +0100, Ken Moffat wrote:
> > On Sat, Mar 31, 2018 at 09:18:46PM +0200, Graham Crowe wrote:
> > > Hi,
> > > 
> > > I get the following compile error:
> > > 
> > > make[4]: Entering directory '/xc/mesa-17.3.4/src/compiler'
> > >   CXX      glsl_types.lo
> > > In file included from ../../include/c99_math.h:194:0,
> > >                  from
> > > ../../src/gallium/auxiliary/util/u_math.h:44,
> > >                  from ../../src/mesa/main/macros.h:35,
> > >                  from glsl_types.cpp:25:
> > > /usr/include/c++/7.2.0/cmath:45:15: fatal error: math.h: No such
> > > file
> > 
> >                    ^^^^^
> > > or directory
> > 
> > I have no idea why your build would be looking for files from
> > g++-7.2.0 : the LFS and BLFS 8.2 books use 7.3.0.
> > 
> > Are you building BLFS on LFS-8.2 ?  Have you interrupted the build,
> > or used extra CFLAGS or CXXFLAGS ?
> > 
> > >  #include_next <math.h>
> > >                ^~~~~~~~
> > > 
> > > I'm not really familiar with the C++ #include_next functionality
> > > but
> > > have understood that the problem here is include search path
> > > related.
> > > Taking a closer look at config.log I noticed several errors, even
> > > though the configure step appeared to work:
> > > llvm-config: error: missing: /usr/lib/libLLVMDemangle.so
> > > : :       :
> > > 
> > 
> > In the absence of llvm, that would just be configure giving you a
> > slightly misleading error message sbout what was missing.  I
> > haven't
> > built mesa without llvm and clang for some time, because firefox
> > now
> > requires clang (Compiler RT seems to be not-required for the
> > packages I normally build).
> > 
> > And the book has a big Note after listing the optional
> > dependencies:
> > 
> > The instructions below assume that LLVM with the r600/amdgpu and
> > host
> > backends are installed. You will need to modify the instructions if
> > you choose not to install it. For an explanation of Gallium3D see
> > https://en.wikipedia.org/wiki/Gallium3D.
> > 
> > > So I tried installing llvm (with Clang and Compiler RT). Then I
> > > got
> > > a
> > > similar error compiling llvm (stdlib.h could not be found). It
> > > seems
> > > like my build environment no longer supports C++. Any ideas, I'm
> > > really
> > > quite stuck.
> > > 
> > > Thanks
> > > Graham
> > > 
> > > p.s. Incidentally I had to install libdrm, wayland and wayland-
> > > protocol 
> > > before the configure step for mesa succeeded. I have a back up my
> > > LFS
> > > system rootfs prior to attempting the Xorg installation.
> > 
> > Well, libdrm is shown as 'required' and wayland-protocols is shown
> > as 'recommended' (and requires wayland).  'Required' means what it
> > says, 'recommended' means you might be able to avoid it if you
> > change the commands.  In this case you could have removed it from
> > the --with-platforms switch.
> > 
> > ĸen
> > -- 
> > Before the universe began, there was a sound. It went: "One, two,
> > ONE,
> > two, three, four" [...] The cataclysmic power chord that followed
> > was
> > the creation of time and space and matter and it does Not Fade
> > Away.
> >  - wiki.lspace.org/mediawiki/Music_With_Rocks_In
> > 
> > 
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to