Subj : Re: Compiling from source To : Oli From : tenser Date : Tue Jan 19 2021 03:20:45 On 18 Jan 2021 at 10:43a, Oli pondered and said... Ol> makespoon which is just Ol> Ol> g++ spoon.cpp config.cpp keyboard.cpp nntp.cpp pop.cpp smtp.cpp Ol> socket.cpp -o spoon I see; they distributed it as a shell script. It seems like that may be missing from Paul's copy of the archive, though. Ol> I think this is what I did some years ago. See Ol> https://gitlab.com/fidosoft/soupgate Ol> Ol> I still get warnings like: Ol> Ol> $ ./makespoon Ol> spoon.cpp:60:7: warning: built-in function ‘logf’ declared as Ol> non-function [-Wbuiltin-declaration-mismatch] Ol> FILE *logf = NULL; Ol> ^~~~ Ah, this is due to an unfortunate name. `logf` is the name of a function from the standard math library (single-precision floating point natural logarithm), and as per the standard, names of standard functions are reserved. That's also untenable for names like `log`, hence why this is a warning, not an error. Simply renaming the variable would eliminate that, though. Ol> spoon.cpp: In function ‘void checkdir(char*)’: Ol> spoon.cpp:143:69: warning: ISO C++ forbids converting a string constant Ol> to ‘char*’ [-Wwrite-strings] Ol> logprintf("FATAL ERROR: subdirectory %s does not exist\n", dir); Ol> Ol> but it compiles and run. This is a single type error. `logprintf` is probably defined to take `char *` as its first argument; this warning is saying that one is passing a string constant as that argument, but that the function is defined so that it could mutate the thing it points to. The fix here is to add a `const` qualifier to the argument. Ol> It would be good to have people available who can help to get things Ol> build again. I think most of the time the errors are not very hard to Ol> fix, if you know C(++) and know what's changed over the years. For Ol> people without C experience (like me) it's sometimes hard to figure out Ol> how to fix it properly without introducing new bugs. Yeah, most of this stuff is pretty simple. A lot of it is just that the code predates the relevant standards, or has obvious bugs. --- Mystic BBS v1.12 A46 2020/08/26 (Windows/32) * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101) .