Path: csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Mark Wade Newsgroups: comp.sys.apple2 Subject: Gno C stderr unresolved reference label Date: Mon, 17 Mar 2025 20:56:08 -0000 (UTC) Organization: Mac GUI Lines: 77 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 17 Mar 2025 21:56:10 +0100 (CET) Injection-Info: dont-email.me; posting-host="55e5ef6c56e1c1985fceb3ab4dc4ae39"; logging-data="981477"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+N5LUe9XQf9GDTDP8sL3rH" User-Agent: Mac GUI Usenet Cancel-Lock: sha1:tMPbwxrE5vCdPH3AHMejFA3+qSI= Xref: csiph.com comp.sys.apple2:49123 Hi, hoping someone could help me out. I was playing around in gno and c and found I can't access stderr, or stdout or stdin for that matter. Compiling doit.c "cc -o doit.c doit" and ./doit gives me: sys_nerr = 56 SEEK_END = 2 so that much works but uncommenting the fprintf line gives me: Error at 0000003A past main PC = 0000004F : Unresolved reference Label: stderr Error at 0000003D past main PC = 00000052 : Unresolved reference Label: stderr It seems it doesn't get what a FILE * is, I think. I don't know. Any thoughts? Do I need to reinstall? I hoping there might be an easier answer. I'm running system 6.0.1, gno kernel v2.0.6, gno/me init version 2.0.1 doit.c: #include #include #include int main(int argc, char *argv[]){ printf("sys_nerr = %i\n",sys_nerr); printf("SEEK_END = %i\n", SEEK_END); //(void)fprintf(stderr, "I want to believe\n"); return 0; } stdio.h in /gno/lib/orcacdefs: extern int sys_nerr; /* largest index for sys_errlist */ extern char *sys_errlist[]; /* error messages */ /* * files */ typedef struct { struct file *next; /* next file in linked list */ unsigned char *_ptr, /* next location to write to */ *_base, /* first byte of the buffer */ *_end; /* end of the file buffer */ unsigned long _size, /* size of the file buffer */ _cnt; /* # chars that can be read/writen to buffer */ int _pbk; /* put back character */ unsigned int _flag, /* buffer flags */ _file; /* GS/OS file ID */ } FILE; extern FILE *stderr; /* standard I/O files */ extern FILE *stdin; extern FILE *stdout;