Try using this link: PiDP-8 Latest Build.
This script will take care of all of the housekeeping you need to load the latest PiDP-8/I code for Bookworm or Trixie.
--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/pidp-8/80b3afb4-95df-48be-b868-0c5e80437173n%40googlegroups.com.
Sorry about that.
I looked at your log file and I see what you are talking about.
I am in the middle of another project right now so i'm going to pass this along to Bill for now.
In C17 and earlier, an empty () prototype means "this function takes an unspecified number of arguments" — it's essentially a non-prototype, and the compiler won't complain no matter how many arguments you pass. That's why your build with GCC 14.2.0 (which defaults to gnu17) is silent.
C23 changed this rule to match C++: foo() now means "takes zero arguments," exactly like foo(void). So under C23 semantics, void output_string(); really does declare a zero-argument function, and calling it with a string literal becomes a genuine prototype violation — which is exactly the "expected 0, have 1" error he's getting.
GCC 15 switched its default standard from gnu17 to gnu23, so if he installed a newer GCC (15.x), he'd get this behavior automatically even with the identical command line you're using.
Quick fix on his end: add -std=gnu17 (or -std=c17) to the command line to restore old-style semantics.