On Sun, 2021-02-07 at 13:20 -0600, paul rogers wrote:
> On Sunday, February 7, 2021 12:11:09 PM CST Pierre Labastie wrote:
> > On Sun, 2021-02-07 at 11:26 -0600, paul rogers wrote:
> > > On Sunday, February 7, 2021 6:26:29 AM CST Pierre Labastie wrote:
> > > > On Sun, 2021-02-07 at 01:18 -0600, p...@kemascraft.com wrote:
> > > > > I'm working through the LFS 10.0 book. I got the error: "
> > > > > fatal
> > > > > error: bits/c+
> > > > > +config.h: No such file or directory". The file exist. I'm at
> > > > > 8.6.1. Installation of DejaGNU. and ran the "make check."
> > > > > command.
> > > > > I'm trying
> > > > > to install with the "User Based Management " Package
> > > > > Management
> > > > > system.
> > > > > Goggle didn't help much. i found a suggestion to "export
> > > > > CPLUS_INCLUDE_PATH=/
> > > > > usr/include/", but no luck. any help would be appreciated.
> > > > 
> > > > Hard to say anything without a more detailed error message
> > > > (what
> > > > does
> > > > it say just above, what was the command that failed, not the
> > > > one
> > > > you
> > > > ran, but the one that "make" ran, etc).
> > > > 
> > > > Using CPLUS_INCLUDE_PATH (or any include path) pointing to
> > > > /usr/include
> > > > is dangerous, because it changes the order of the include
> > > > directories.
> > > > This order is important when using the #include_next directive,
> > > > which
> > > > happens in several packages.
> > > > 
> > > > Pierre
> > > 
> > > this is the output of make check 1>check.log
> > > "Done. Now run 'make install'.
> > > make  unit
> > > make[1]: Entering directory '/usr/src/dejagnu/dejagnu-1.6.2'
> > > depbase=`echo testsuite/libdejagnu/unit.o | sed
> > > 's|[^/]*$|.deps/&|;s|\.o$||'`;
> > > \
> > > g++ -DPACKAGE_NAME=\"GNU\ DejaGnu\" -DPACKAGE_TARNAME=\"dejagnu\"
> > > -
> > > DPACKAGE_VERSION=\"1.6.2\" -DPACKAGE_STRING=\"GNU\ DejaGnu\
> > > 1.6.2\" -
> > > DPACKAGE_BUGREPORT=\"bug-deja...@gnu.org\" -
> > > DPACKAGE_URL=\"http://www.gnu.org/
> > > software/dejagnu/\" -DPACKAGE=\"dejagnu\" -DVERSION=\"1.6.2\" -
> > > I.   
> > > -I. -g -g
> > > -O2 -MT testsuite/libdejagnu/unit.o -MD -MP -MF $depbase.Tpo -c -
> > > o
> > > testsuite/
> > > libdejagnu/unit.o testsuite/libdejagnu/unit.cc &&\
> > > mv -f $depbase.Tpo $depbase.Po
> > > make[1]: Leaving directory '/usr/src/dejagnu/dejagnu-1.6.2'"
> > > 
> > > This is the output of make check 2>check.err
> > > "In file included from testsuite/libdejagnu/unit.cc:21:
> > > /usr/include/c++/10.2.0/iostream:38:10: fatal error:
> > > bits/c++config.h: No such
> > > file or directory
> > >    38 | #include <bits/c++config.h>
> > >       |          ^~~~~~~~~~~~~~~~~~
> > > compilation terminated.
> > > make[1]: *** [Makefile:656: testsuite/libdejagnu/unit.o] Error 1
> > > make: *** [Makefile:1202: check-am] Error 2"
> > > 
> > > Thank you for your time Pierre.
> > 
> > Ok, so this is in an include, so no "include_next" wizardry. On my
> > machine, this file is at /usr/include/c++/10.2.0/x86_64-pc-linux-
> > gnu/bits/c++config.h
> > 
> > Do you have it? Is it readable by the user that runs the dejagnu
> > tests?
> > What is the output of "echo main'(){}' | g++ -xc++ --verbose -"
> > (the
> > lines after "#include "..." search starts here)?
> > 
> > I have:
> > #include "..." search starts here:
> > #include <...> search starts here:
> >  /usr/lib/gcc/x86_64-pc-linux-
> > gnu/10.2.0/../../../../include/c++/10.2.0
> >  /usr/lib/gcc/x86_64-pc-linux-
> > gnu/10.2.0/../../../../include/c++/10.2.0/x86_64-pc-linux-gnu
> >  /usr/lib/gcc/x86_64-pc-linux-
> > gnu/10.2.0/../../../../include/c++/10.2.0/backward
> >  /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include
> >  /usr/local/include
> >  /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed
> >  /usr/include
> > End of search list.
> > 
> > Pierre
> Your file /usr/include/c++/10.2.0/x86_64-pc-linux-
> gnu/bits/c++config.h
> Mine is  /usr/include/c++/10.2.0/x86_64-lfs-linux-
> gnu/bits/c++config.h
> 
> #include "..." search starts here:
> #include <...> search starts here:
>  /usr/lib/gcc/x86_64-pc-linux-
> gnu/10.2.0/../../../../include/c++/10.2.0
>  /usr/lib/gcc/x86_64-pc-linux-
> gnu/10.2.0/../../../../include/c++/10.2.0/
> backward
>  /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include
>  /usr/local/include
>  /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include-fixed
>  /usr/include
> 
> So it looks like its looking for x86_64-pc-linux-gnu instead of
> x86_64-lfs-
> linux. so whats the best solution? Did i miss a command some where?
> 

Well, first I must apologize, I've shown the includes on a completed
system, they might be different before recompiling gcc in chapter 8.

Second, /usr/include/c++/10.2.0/x86_64-lfs-linux-gnu/bits/c++config.h
is not in the search list, and not even replacing lfs with pc (it's not
in a subdirectory of /usr/lib), so there must be something missing...
Wild guess, have you run "make install" at the end of libstdc++-pass2?

I need to launch a build and stop just before dejagnu to be able to
check what the include paths really are.
Pierre

-- 
http://lists.linuxfromscratch.org/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Do not top post on this list.

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

http://en.wikipedia.org/wiki/Posting_style

Reply via email to