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