On 2020-06-22 12:49 +0200, Frans de Boer wrote: > LS, > > Next issue, while compiling ncurses-6.2 i get the next message: > > x86_64-cross-linux-gnu-g++ -DHAVE_CONFIG_H -I../c++ -I. -I../include > -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -O2 -fPIC -c > ../c++/cursesf.cc -o ../obj_s/cursesf.o > In file included from ../c++/cursesw.h:41, > from ../c++/cursesp.h:40, > from ../c++/cursesf.h:40, > from ../c++/cursesf.cc:36: > ../c++/etip.h:342:15: fatal error: iostream.h: No such file or directory > 342 | # include <iostream.h> > | ^~~~~~~~~~~~ > compilation terminated. > > --------------- > > I can't find 'iostream.h' anywhere on my system. However, the file > 'iostream' is present on the host as well in the temporary file system.
iostream.h is a pre-ISO header removed from GCC back in 2007. The code snip in ncurses code: #if !((defined(__GNUG__) && defined(__EXCEPTIONS) && (__GNUG__ < 7)) || defined(__SUNPRO_CC)) # if HAVE_IOSTREAM # include <iostream> # if IOSTREAM_NAMESPACE using std::cerr; using std::endl; # endif # else # include <iostream.h> # endif extern "C" void exit(int); #endif We should have __GNUG__ = 10 (built in g++-pass1), and HAVE_IOSTREAM = 1 (set by ncurses configure script). I assume your libstdc++-pass1 was installed into a wrong location so the configure script could't find <iostream>, and didn't set HAVE_IOSTREAM. Try: echo "#include <iostream> | x86_64-cross-linux-gnu-g++ -E -x c++ - to see if <iostream> can be found. -- Xi Ruoyao <xry...@mengyan1223.wang> School of Aerospace Science and Technology, Xidian University -- 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