jkotlinski / durexforth

Modern C64 Forth
Other
233 stars 28 forks source link

Serious error - File durexforth.asm, line 111 (Macro BACKLINK): Value not defined (__LATEST). #352

Closed siraben closed 3 years ago

siraben commented 3 years ago

I am creating this issue on behalf of another person who does not have a GitHub account.

Trying to compile durexforth from https://github.com/jkotlinski/durexforth.git, commit 5c80c6e.

Cloned ACME from https://github.com/meonwax/acme.git, commit 99fae48.

Successfully compiled ACME using gcc (GCC) 10.3.0, but with some warnings:

christopher@nightshade ~/Repos/acme/src [env]$ make userinstall
gcc -O3 -Wall -Wstrict-prototypes   -c -o acme.o acme.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o alu.o alu.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o cliargs.o cliargs.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o cpu.o cpu.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o dynabuf.o dynabuf.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o encoding.o encoding.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o flow.o flow.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o global.o global.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o input.o input.c
input.c: In function ‘report_srcchar’:
input.c:92:35: warning: ‘sprintf’ writing a terminating nul past the end of the destination [-Wformat-overflow=]
   92 |    sprintf(hexdump + 2 * ii, "%02x", (unsigned int) (unsigned char) (report->bin_buf[ii]));
      |                                   ^
input.c:92:4: note: ‘sprintf’ output 3 bytes into a destination of size 2
   92 |    sprintf(hexdump + 2 * ii, "%02x", (unsigned int) (unsigned char) (report->bin_buf[ii]));
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -O3 -Wall -Wstrict-prototypes   -c -o macro.o macro.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o mnemo.o mnemo.c
mnemo.c: In function ‘check_mnemo_tree’:
mnemo.c:1041:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 1041 |  code = ((int) node_body) & CODEMASK; // get opcode or table index
      |          ^
mnemo.c:1042:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 1042 |  immediate_mode = ((int) node_body) & IMMASK; // get immediate mode
      |                    ^
gcc -O3 -Wall -Wstrict-prototypes   -c -o output.o output.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o platform.o platform.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o pseudoopcodes.o pseudoopcodes.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o section.o section.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o symbol.o symbol.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o tree.o tree.c
gcc -O3 -Wall -Wstrict-prototypes   -c -o typesystem.o typesystem.c
gcc -O3 -Wall -Wstrict-prototypes -o acme acme.o alu.o cliargs.o cpu.o dynabuf.o encoding.o flow.o global.o input.o macro.o mnemo.o output.o platform.o pseudoopcodes.o section.o symbol.o tree.o typesystem.o -lm
strip acme
install -d /home/christopher/local/bin
install acme /home/christopher/local/bin

Attempt to assemble durexforth fails with some errors:

christopher@nightshade ~/Repos/durexforth [env]$ make
Error - File durexforth.asm, line 126 (Zone <untitled>): There's more than one character.
Error - File durexforth.asm, line 126 (Zone <untitled>): No value given.
Error - File durexforth.asm, line 126 (Zone <untitled>): Macro not defined (or wrong signature).
Error - File durexforth.asm, line 109 (Macro BACKLINK): Unknown function.
Error - File durexforth.asm, line 109 (Macro BACKLINK): No value given.
Serious error - File durexforth.asm, line 111 (Macro BACKLINK): Value not defined (__LATEST).
make: *** [Makefile:51: durexforth.prg] Error 1

My system information:

christopher@nightshade 
---------------------- 
OS: Guix System 7382aa00b82860762bc326dec6b45f8cd2161327 x86_64 
Host: GA-880GM-UD2H 
Kernel: 5.12.9-gnu 
Uptime: 2 days, 11 hours, 13 mins 
Packages: 106 (guix-system), 98 (guix-user) 
Shell: bash 5.0.16 
Resolution: 1920x1200 
DE: GNOME 3.34.5 
Theme: Adwaita [GTK2/3] 
Icons: Adwaita [GTK2/3] 
Terminal: kitty 
CPU: AMD Athlon II X3 455 (3) @ 3.300GHz 
GPU: NVIDIA GeForce 8400 GS Rev. 3 
Memory: 2828MiB / 7957MiB

My contact information: christopher -AT- librehacker -DOT- com

jkotlinski commented 3 years ago

Hi! Does it work better with latest ACME sources from Sourceforge?

On Mon, 7 Jun 2021 at 13:35, Ben Siraphob @.***> wrote:

I am creating this issue on behalf of another person who does not have a GitHub account.

Trying to compile durexforth from https://github.com/jkotlinski/durexforth.git, commit 5c80c6e https://github.com/jkotlinski/durexforth/commit/5c80c6e09639ccd76f3eb86ec0c19f0123a29cd8 .

Cloned ACME from https://github.com/meonwax/acme.git, commit 99fae48.

Successfully compiled ACME using gcc (GCC) 10.3.0, but with some warnings:

@.** ~/Repos/acme/src [env]$ make userinstall gcc -O3 -Wall -Wstrict-prototypes -c -o acme.o acme.c gcc -O3 -Wall -Wstrict-prototypes -c -o alu.o alu.c gcc -O3 -Wall -Wstrict-prototypes -c -o cliargs.o cliargs.c gcc -O3 -Wall -Wstrict-prototypes -c -o cpu.o cpu.c gcc -O3 -Wall -Wstrict-prototypes -c -o dynabuf.o dynabuf.c gcc -O3 -Wall -Wstrict-prototypes -c -o encoding.o encoding.c gcc -O3 -Wall -Wstrict-prototypes -c -o flow.o flow.c gcc -O3 -Wall -Wstrict-prototypes -c -o global.o global.c gcc -O3 -Wall -Wstrict-prototypes -c -o input.o input.c input.c: In function ‘report_srcchar’: input.c:92:35: warning: ‘sprintf’ writing a terminating nul past the end of the destination [-Wformat-overflow=] 92 | sprintf(hexdump + 2 ii, "%02x", (unsigned int) (unsigned char) (report->bin_buf[ii])); | ^ input.c:92:4: note: ‘sprintf’ output 3 bytes into a destination of size 2 92 | sprintf(hexdump + 2 * ii, "%02x", (unsigned int) (unsigned char) (report->bin_buf[ii])); | ^~~~~~~~~~~~~~~~~~~ gcc -O3 -Wall -Wstrict-prototypes -c -o macro.o macro.c gcc -O3 -Wall -Wstrict-prototypes -c -o mnemo.o mnemo.c mnemo.c: In function ‘check_mnemo_tree’: mnemo.c:1041:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1041 | code = ((int) node_body) & CODEMASK; // get opcode or table index | ^ mnemo.c:1042:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1042 | immediate_mode = ((int) node_body) & IMMASK; // get immediate mode | ^ gcc -O3 -Wall -Wstrict-prototypes -c -o output.o output.c gcc -O3 -Wall -Wstrict-prototypes -c -o platform.o platform.c gcc -O3 -Wall -Wstrict-prototypes -c -o pseudoopcodes.o pseudoopcodes.c gcc -O3 -Wall -Wstrict-prototypes -c -o section.o section.c gcc -O3 -Wall -Wstrict-prototypes -c -o symbol.o symbol.c gcc -O3 -Wall -Wstrict-prototypes -c -o tree.o tree.c gcc -O3 -Wall -Wstrict-prototypes -c -o typesystem.o typesystem.c gcc -O3 -Wall -Wstrict-prototypes -o acme acme.o alu.o cliargs.o cpu.o dynabuf.o encoding.o flow.o global.o input.o macro.o mnemo.o output.o platform.o pseudoopcodes.o section.o symbol.o tree.o typesystem.o -lm strip acme install -d /home/christopher/local/bin install acme /home/christopher/local/bin

Attempt to assemble durexforth fails with some errors:

@. ~/Repos/durexforth [env]$ make Error - File durexforth.asm, line 126 (Zone ): There's more than one character. Error - File durexforth.asm, line 126 (Zone ): No value given. Error - File durexforth.asm, line 126 (Zone ): Macro not defined (or wrong signature). Error - File durexforth.asm, line 109 (Macro BACKLINK): Unknown function. Error - File durexforth.asm, line 109 (Macro BACKLINK): No value given. Serious error - File durexforth.asm, line 111 (Macro BACKLINK): Value not defined (__LATEST). make: [Makefile:51: durexforth.prg] Error 1

My system information:

@.***


OS: Guix System 7382aa00b82860762bc326dec6b45f8cd2161327 x86_64

Host: GA-880GM-UD2H

Kernel: 5.12.9-gnu

Uptime: 2 days, 11 hours, 13 mins

Packages: 106 (guix-system), 98 (guix-user)

Shell: bash 5.0.16

Resolution: 1920x1200

DE: GNOME 3.34.5

Theme: Adwaita [GTK2/3]

Icons: Adwaita [GTK2/3]

Terminal: kitty

CPU: AMD Athlon II X3 455 (3) @ 3.300GHz

GPU: NVIDIA GeForce 8400 GS Rev. 3

Memory: 2828MiB / 7957MiB

My contact information: christopher -AT- librehacker -DOT- com

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jkotlinski/durexforth/issues/352, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAY34O3ILVZKKQCZTIW5C33TRSVHFANCNFSM46HO7ZKQ .

siraben commented 3 years ago

Replying on behalf of Christopher:

Yes, the sources from SourceForge worked better, and I was able to successfully compile the durexforth .d64 image and run it in VICE.

For the record, I cloned with svn checkout https://svn.code.sf.net/p/acme-crossass/code-0/trunk acme-crossass-code-0 and used revision 319.

Thank you!

Christopher