Subj : Re: Compiling from source To : Avon From : tenser Date : Mon Jan 18 2021 02:14:09 On 15 Jan 2021 at 10:51p, Avon pondered and said... Av> gcc config.cpp keyboard.cpp nntp.cpp pop.cpp smtp.cpp socket.cpp Av> socket.hpp sock.h spoon.cpp spoon.h -o spoon.test Generally speaking, you don't try to compile header files (.hpp or .h) directly. Rather, those are usually meant to be "included" in a source file that is then compiled. Header files (sometimes called "include files") usually contain things like structure and type definitions and function declarations that you want visible in more than one source file. Running `gcc` by itself may well be just fine, as it's generally smart enough to understand what language it is compiling based on the filename (specifically, the "extension", though one should be careful to note that Unix-like systems don't assign any special meaning to file extensions itself, unlike DOS/Windows/DEC systems; it leaves assigning meaning to parts of a filename to user-level programs...I digress). But running g++ or c++ is also fine and certainly won't hurt anything. Av> The docs say there should be a suggested make shell script for gcc with Av> it, but this seems to be missing in the zip. There is no `makefile` or `Makefile`? That's unfortunate. Av> In file included from spoon.h:115, Av> from config.cpp:38: Av> socket.hpp:73:10: fatal error: iostream.h: No such file or directory Av> #include This is one of two things: 1) Since the compiler was invoked as "gcc" and the ".h" file extension is usually associated with C language header files, it is trying to compile that file in C mode. However, as mentioned above, one doesn't generally compiler header directly; simply omit the ".h" and ".hpp" files from the command line and see if that helps? 2) has itself been deprecated for almost 25 years (since the first official C++ standard in 1998) and compilers are starting to ship without it. The replacement is (without the ending ".h"), but you'll almost certainly have to add a, "using namespace std;" somewhere in source files that include it, as code that's old enough to use is probably also old enough to predate the widespread use of C++ namespaces. I'd try pulling the headers off of the command line first to see if that helps. If the tarball of the file in question is available somewhere, I might be able to pull of a few cycles to see if I can get it to compile. Hmm. There really ought to be a Github organization or something for ancient BBS software updated to compile on modern systems. --- Mystic BBS v1.12 A46 2020/08/26 (Windows/32) * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101) .