English Amiga Board


Go Back   English Amiga Board > Support > support.Apps

 
 
Thread Tools
Old 22 November 2020, 21:01   #1
palaste
Registered User
 
Join Date: Oct 2011
Location: Helsinki, Finland
Posts: 74
DICE v3.16 compiler works with FS-UAE but not with vamos

I followed the instructions given in this post: https://eab.abime.net/showpost.php?p=874957&postcount=2 to install DICE v3.16 and the AmigaOS headers. With only a little effort, I got it to work for at least some simple test programs. Here are the first programs I tried:


Only ISO standard C:

Code:
#include <stdio.h>
int main(void)
{
  printf("Hello world!\n");
}
Simple AmigaOS-specific C:
Code:
#include <proto/dos.h>
int main(void)
{
  Printf("Hello World!\n");
  return RETURN_OK;
}
Both work all OK when run under FS-UAE, as long as I remember to give the -3.1 option for dcc so it knows which OS version to compile the code for.


But when I tried it under vamos, I got these errors for the first program:
21:57:42.331 lib:WARNING: ? CALL: 330 AllocSignal( signalNum[d0]=ffffffff ) from PC=005cc8 -> d0=0 (default)
21:57:42.331 lib:WARNING: ? CALL: 390 FindPort( name[a1]=0000bca8 ) from PC=00620e -> d0=0 (default)
21:57:42.331 lib:WARNING: ? CALL: 354 AddPort( port[a1]=0000b34c ) from PC=00623a -> d0=0 (default)
21:57:42.335 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=000175f8, node[a1]=0001be40 ) from PC=013316 -> d0=0 (default)
21:57:42.335 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=000175f8, node[a1]=0001be78 ) from PC=013316 -> d0=0 (default)
21:57:42.336 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=000175f8, node[a1]=0001be9c ) from PC=013316 -> d0=0 (default)
21:57:42.336 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=000175f8, node[a1]=0001bec4 ) from PC=013316 -> d0=0 (default)
21:57:42.336 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=000175f8, node[a1]=0001bedc ) from PC=013316 -> d0=0 (default)
DCPP: "hello.c" L:2 C:0 Error:47 Can't open file stdio.h
21:57:42.344 lib:WARNING: ? CALL: 360 RemPort( port[a1]=0000b34c ) from PC=005d0c -> d0=0 (default)
21:57:42.344 machine: ERROR: ----- ERROR in CPU Run #1 -----
21:57:42.344 machine: ERROR: Run: 'dcc': Initial PC=0022b8, SP=00a950
21:57:42.344 machine: ERROR: PC=00001664 SR=--Z-- USP=0000a768 ISP=00000700 MSP=00000780
21:57:42.344 machine: ERROR: D0=00000000 D1=00000007 D2=00000024 D3=0000ac95 D4=00002fe1 D5=00000005 D6=00000014 D7=00000014
21:57:42.344 machine: ERROR: A0=0000b34c A1=0000b34c A2=0000b384 A3=0000b34c A4=00012bd2 A5=0000a7bc A6=0000133c A7=0000a768
21:57:42.344 machine: ERROR: SP-32=000064 SP-28=004e84 SP-24=004e85 SP-20=006f6c SP-16=000024 SP-12=00ac95 SP-08=007a38 SP-04=000401
21:57:42.344 machine: ERROR: SP+00=006358 SP+04=00aad0 SP+08=00bc94 SP+12=00133c SP+16=005d26 SP+20=000024 SP+24=00aad0 SP+28=000000
21:57:42.345 machine: ERROR: Traceback (most recent call last):
21:57:42.345 machine: ERROR: File "musashi/pytraps.pyx", line 19, in musashi.emu.trap_wrapper
21:57:42.345 machine: ERROR: File "/usr/local/lib64/python3.8/site-packages/amitools/vamos/libcore/stub.py", line 165, in base_func
21:57:42.345 machine: ERROR: res = impl_method(ctx)
21:57:42.345 machine: ERROR: File "/usr/local/lib64/python3.8/site-packages/amitools/vamos/lib/ExecLibrary.py", line 418, in GetMsg
21:57:42.345 machine: ERROR: raise VamosInternalError(
21:57:42.345 machine: ERROR: amitools.vamos.error.VamosInternalError: Internal Vamos Error: GetMsg: on invalid Port (00b34c) called!
21:57:42.345 main: ERROR: vamos failed!
21:57:42.345 libmgr:WARNING: can't expunge: 'dos.library' with open count 1
21:57:42.345 libmgr:WARNING: shutdown: can't expunge 1 vamos libs/devs!



And these errors for the second program:
21:58:23.532 lib:WARNING: ? CALL: 330 AllocSignal( signalNum[d0]=ffffffff ) from PC=005cc8 -> d0=0 (default)
21:58:23.532 lib:WARNING: ? CALL: 390 FindPort( name[a1]=0000bcb4 ) from PC=00620e -> d0=0 (default)
21:58:23.533 lib:WARNING: ? CALL: 354 AddPort( port[a1]=0000b358 ) from PC=00623a -> d0=0 (default)
21:58:23.536 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=0001764c, node[a1]=0001bea0 ) from PC=01336a -> d0=0 (default)
21:58:23.536 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=0001764c, node[a1]=0001bed8 ) from PC=01336a -> d0=0 (default)
21:58:23.537 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=0001764c, node[a1]=0001befc ) from PC=01336a -> d0=0 (default)
21:58:23.537 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=0001764c, node[a1]=0001bf24 ) from PC=01336a -> d0=0 (default)
21:58:23.537 lib:WARNING: ? CALL: 270 Enqueue( list[a0]=0001764c, node[a1]=0001bf3c ) from PC=01336a -> d0=0 (default)
DCPP: "hello_amiga.c" L:2 C:0 Error:47 Can't open file proto/dos.h
21:58:23.545 lib:WARNING: ? CALL: 360 RemPort( port[a1]=0000b358 ) from PC=005d0c -> d0=0 (default)
21:58:23.545 machine: ERROR: ----- ERROR in CPU Run #1 -----
21:58:23.545 machine: ERROR: Run: 'dcc': Initial PC=0022b8, SP=00a950
21:58:23.545 machine: ERROR: PC=00001664 SR=--Z-- USP=0000a768 ISP=00000700 MSP=00000780
21:58:23.545 machine: ERROR: D0=00000000 D1=00000007 D2=00000030 D3=0000acad D4=00002ff6 D5=00000005 D6=00000014 D7=00000014
21:58:23.545 machine: ERROR: A0=0000b358 A1=0000b358 A2=0000b390 A3=0000b358 A4=00012bde A5=0000a7bc A6=0000133c A7=0000a768
21:58:23.546 machine: ERROR: SP-32=000064 SP-28=004e84 SP-24=004e85 SP-20=006f6c SP-16=000030 SP-12=00acad SP-08=007a38 SP-04=000401
21:58:23.546 machine: ERROR: SP+00=006358 SP+04=00aadc SP+08=00bca0 SP+12=00133c SP+16=005d26 SP+20=000030 SP+24=00aadc SP+28=000000
21:58:23.546 machine: ERROR: Traceback (most recent call last):
21:58:23.546 machine: ERROR: File "musashi/pytraps.pyx", line 19, in musashi.emu.trap_wrapper
21:58:23.546 machine: ERROR: File "/usr/local/lib64/python3.8/site-packages/amitools/vamos/libcore/stub.py", line 165, in base_func
21:58:23.546 machine: ERROR: res = impl_method(ctx)
21:58:23.546 machine: ERROR: File "/usr/local/lib64/python3.8/site-packages/amitools/vamos/lib/ExecLibrary.py", line 418, in GetMsg
21:58:23.546 machine: ERROR: raise VamosInternalError(
21:58:23.546 machine: ERROR: amitools.vamos.error.VamosInternalError: Internal Vamos Error: GetMsg: on invalid Port (00b358) called!
21:58:23.546 main: ERROR: vamos failed!
21:58:23.547 libmgr:WARNING: can't expunge: 'dos.library' with open count 1
21:58:23.547 libmgr:WARNING: shutdown: can't expunge 1 vamos libs/devs!



It seems vamos is unable to find the header files stdio.h and proto/dos.h even though I have set the same dlib: and dinclude: assigns for vamos as for the emulated Amiga. I have verified this with "vamos dir dinclude:".


Even though vamos is unable to compile the programs, the binaries DICE produced when I compiled them under FS-UAE run all OK under vamos and print out "Hello world!" and "Hello World!" respectively on the Linux terminal.


What is going on here? Why is dcc unable to find the headers under vamos when it finds them all OK under FS-UAE?
palaste is offline  
Old 23 November 2020, 01:52   #2
palaste
Registered User
 
Join Date: Oct 2011
Location: Helsinki, Finland
Posts: 74
As a fun experiment, I compiled this exact same source code:
Code:
#include <stdio.h>
int main(void)
{
  printf("Hello world!\n");
}
with both dcc on the Amiga and gcc on Linux. The result: as expected, it does the exact same thing on both systems.
The Amiga binary is 6064 bytes in size. The Linux binary is 19432 bytes, over 3.2 times as much. Yet I figure gcc has had much more development. All the program has to do is load the string "Hello world!\n" and call a system call to print it to stdout. Why, then, is the Linux binary so much bigger?
palaste is offline  
Old 23 November 2020, 08:51   #3
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by palaste View Post
What is going on here? Why is dcc unable to find the headers under vamos when it finds them all OK under FS-UAE?
Only you can tell. What happens if you attempt to "LIST" these directories under vamos?
Thomas Richter is offline  
Old 23 November 2020, 23:21   #4
palaste
Registered User
 
Join Date: Oct 2011
Location: Helsinki, Finland
Posts: 74
Quote:
Originally Posted by Thomas Richter View Post
Only you can tell. What happens if you attempt to "LIST" these directories under vamos?
Here are the listings:


Listed from a real AmigaOS shell in FS-UAE:
dlib:
Code:
Directory "dlib:" on Tuesday 24-Nov-20
x.o                                316 ----rwed 27-Sep-98 10:12:42
ucsr.lib                         95512 ----rwed 27-Sep-98 10:12:42
ucs.lib                          97420 ----rwed 27-Sep-98 10:12:42
romsr.lib                        13316 ----rwed 27-Sep-98 10:12:42
roms.lib                         13692 ----rwed 27-Sep-98 10:12:42
romrl.lib                        13460 ----rwed 27-Sep-98 10:12:42
roml.lib                         13832 ----rwed 27-Sep-98 10:12:42
reqtoolssr.lib                    6372 ----rwed 27-Sep-98 10:12:44
reqtoolss.lib                     6440 ----rwed 27-Sep-98 10:12:44
reqtoolsrl.lib                    6436 ----rwed 27-Sep-98 10:12:44
reqtoolsl.lib                     6508 ----rwed 27-Sep-98 10:12:44
muisr.lib                         5708 ----rwed 27-Sep-98 10:12:44
muis.lib                          5812 ----rwed 27-Sep-98 10:12:44
muirl.lib                         5732 ----rwed 27-Sep-98 10:12:44
muil.lib                          5868 ----rwed 27-Sep-98 10:12:44
msrp.lib                         10872 ----rwed 27-Sep-98 10:12:42
msr.lib                           7648 ----rwed 27-Sep-98 10:12:42
msp.lib                          11044 ----rwed 27-Sep-98 10:12:42
ms.lib                            7820 ----rwed 27-Sep-98 10:12:42
mrpl.lib                         11040 ----rwed 27-Sep-98 10:12:42
mrl.lib                           7796 ----rwed 27-Sep-98 10:12:42
mpl.lib                          11212 ----rwed 27-Sep-98 10:12:42
ml.lib                            7968 ----rwed 27-Sep-98 10:12:56
csrp.lib                        161228 ----rwed 27-Sep-98 10:12:56
csr.lib                         105212 ----rwed 27-Sep-98 10:12:56
csp.lib.free                    126952 ----rwed 27-Sep-98 10:12:54
csp.lib                         163432 ----rwed 27-Sep-98 10:12:56
cs.lib.free                      81532 ----rwed 27-Sep-98 10:12:54
cs.lib                          108040 ----rwed 27-Sep-98 10:12:54
crpl.lib                        162884 ----rwed 27-Sep-98 10:12:54
crl.lib                         107164 ----rwed 27-Sep-98 10:12:54
cpl.lib                         165072 ----rwed 27-Sep-98 10:12:54
cl.lib                          109496 ----rwed 27-Sep-98 10:12:54
c_pr.o                            1096 ----rwed 27-Sep-98 10:12:56
c_pi.o                             992 ----rwed 27-Sep-98 10:12:56
c.o                               1168 ----rwed 27-Sep-98 10:12:54
autos.lib                         8376 ----rwed 27-Sep-98 10:12:54
autol.lib                         8376 ----rwed 27-Sep-98 10:12:54
amiga31srp.lib                  418876 ----rwed 27-Sep-98 10:12:48
amiga31sr.lib                   192804 ----rwed 27-Sep-98 10:12:44
amiga31sp.lib                   422388 ----rwed 27-Sep-98 10:12:44
amiga31s.lib                    196360 ----rwed 27-Sep-98 10:12:44
amiga31rpl.lib                  420336 ----rwed 27-Sep-98 10:12:48
amiga31rl.lib                   194400 ----rwed 27-Sep-98 10:12:46
amiga31pl.lib                   424324 ----rwed 27-Sep-98 10:12:46
amiga31l.lib                    198264 ----rwed 27-Sep-98 10:12:42
amiga20srp.lib                  365292 ----rwed 27-Sep-98 10:12:52
amiga20sr.lib                   167792 ----rwed 27-Sep-98 10:12:50
amiga20sp.lib                   368372 ----rwed 27-Sep-98 10:12:50
amiga20s.lib                    170908 ----rwed 27-Sep-98 10:12:48
amiga20rpl.lib                  366596 ----rwed 27-Sep-98 10:12:52
amiga20rl.lib                   169172 ----rwed 27-Sep-98 10:12:50
amiga20pl.lib                   370008 ----rwed 27-Sep-98 10:12:50
amiga20l.lib                    171644 ----rwed 27-Sep-98 10:12:48
 54 files - 12388 blocks used

dinclude:
Code:
Directory "dinclude:" on Tuesday 24-Nov-20
workbench                          Dir ----rwed Sunday    21:10:11
varargs.h                          286 ----rwed 01-Feb-94 20:00:00
utility                            Dir ----rwed Sunday    21:10:11
time.h                            1095 ----rwed 01-Feb-94 20:00:00
sys                                Dir ----rwed Sunday    17:21:35
strings.h                          136 ----rwed 01-Feb-94 20:00:00
string.h                          2194 ----rwed 01-Feb-94 20:00:00
stdlib.h                          2320 ----rwed 24-Dec-95 01:18:40
stdio.h                           4872 ----rwed 01-Feb-94 20:00:00
stddef.h                           362 ----rwed 01-Feb-94 20:00:00
stdarg.h                           454 ----rwed 01-Feb-94 20:00:00
signal.h                          1252 ----rwed 01-Feb-94 20:00:00
setjmp.h                           269 ----rwed 01-Feb-94 20:00:00
rexx                               Dir ----rwed Sunday    21:10:11
resources                          Dir ----rwed Sunday    21:10:11
reaction                           Dir ----rwed Sunday    21:10:11
proto                              Dir ----rwed Sunday    21:10:11
prefs                              Dir ----rwed Sunday    21:10:11
pragmas                            Dir ----rwed Sunday    21:10:11
pragma                             Dir ----rwed Sunday    21:10:11
pd                                 Dir ----rwed Sunday    17:21:35
math.h                            4322 ----rwed 01-Feb-94 20:00:00
locale.h                           896 ----rwed 01-Feb-94 20:00:00
lists.h                            382 ----rwed 01-Feb-94 20:00:00
limits.h                           663 ----rwed 01-Feb-94 20:00:00
libraries                          Dir ----rwed Sunday    21:10:11
lib                                Dir ----rwed Sunday    17:21:35
ioctl.h                            936 ----rwed 01-Feb-94 20:00:00
intuition                          Dir ----rwed Sunday    21:10:11
images                             Dir ----rwed Sunday    21:10:11
hardware                           Dir ----rwed Sunday    21:10:11
graphics                           Dir ----rwed Sunday    21:10:11
gadgets                            Dir ----rwed Sunday    21:10:11
float.h                           1068 ----rwed 01-Feb-94 20:00:00
fd                                 Dir ----rwed Sunday    17:21:35
fcntl.h                           1373 ----rwed 09-Sep-97 18:14:34
exec                               Dir ----rwed Sunday    21:10:11
errno.h                           1211 ----rwed 01-Feb-94 20:00:00
dos                                Dir ----rwed Sunday    21:10:11
diskfont                           Dir ----rwed Sunday    21:10:11
devices                            Dir ----rwed Sunday    21:10:11
datatypes                          Dir ----rwed Sunday    21:10:11
ctype.h                           1735 ----rwed 01-Feb-94 20:00:00
clib                               Dir ----rwed Sunday    21:10:11
classes                            Dir ----rwed Sunday    21:10:11
assert.h                           718 ----rwed 01-Feb-94 20:00:00
alloca.h                           232 ----rwed 01-Feb-94 20:00:00
21 files - 26 directories - 318 blocks used
palaste is offline  
Old 23 November 2020, 23:23   #5
palaste
Registered User
 
Join Date: Oct 2011
Location: Helsinki, Finland
Posts: 74
Listed from vamos, without using the AmigaOS UI at all:


dlib:
Code:
Directory "dlib:" on Monday 23-11-20
amiga20l.lib                    171644 ----rw-d 27-09-98  07:12:48
amiga20pl.lib                   370008 ----rw-d 27-09-98  07:12:50
amiga20rl.lib                   169172 ----rw-d 27-09-98  07:12:50
amiga20rpl.lib                  366596 ----rw-d 27-09-98  07:12:52
amiga20s.lib                    170908 ----rw-d 27-09-98  07:12:48
amiga20sp.lib                   368372 ----rw-d 27-09-98  07:12:50
amiga20sr.lib                   167792 ----rw-d 27-09-98  07:12:50
amiga20srp.lib                  365292 ----rw-d 27-09-98  07:12:52
amiga31l.lib                    198264 ----rw-d 27-09-98  07:12:42
amiga31pl.lib                   424324 ----rw-d 27-09-98  07:12:46
amiga31rl.lib                   194400 ----rw-d 27-09-98  07:12:46
amiga31rpl.lib                  420336 ----rw-d 27-09-98  07:12:48
amiga31s.lib                    196360 ----rw-d 27-09-98  07:12:44
amiga31sp.lib                   422388 ----rw-d 27-09-98  07:12:44
amiga31sr.lib                   192804 ----rw-d 27-09-98  07:12:44
amiga31srp.lib                  418876 ----rw-d 27-09-98  07:12:48
autol.lib                         8376 ----rw-d 27-09-98  07:12:54
autos.lib                         8376 ----rw-d 27-09-98  07:12:54
c.o                               1168 ----rw-d 27-09-98  07:12:54
c_pi.o                             992 ----rw-d 27-09-98  07:12:56
c_pr.o                            1096 ----rw-d 27-09-98  07:12:56
cl.lib                          109496 ----rw-d 27-09-98  07:12:54
cpl.lib                         165072 ----rw-d 27-09-98  07:12:54
crl.lib                         107164 ----rw-d 27-09-98  07:12:54
crpl.lib                        162884 ----rw-d 27-09-98  07:12:54
cs.lib                          108040 ----rw-d 27-09-98  07:12:54
cs.lib.free                      81532 ----rw-d 27-09-98  07:12:54
csp.lib                         163432 ----rw-d 27-09-98  07:12:56
csp.lib.free                    126952 ----rw-d 27-09-98  07:12:54
csr.lib                         105212 ----rw-d 27-09-98  07:12:56
csrp.lib                        161228 ----rw-d 27-09-98  07:12:56
ml.lib                            7968 ----rw-d 27-09-98  07:12:56
mpl.lib                          11212 ----rw-d 27-09-98  07:12:42
mrl.lib                           7796 ----rw-d 27-09-98  07:12:42
mrpl.lib                         11040 ----rw-d 27-09-98  07:12:42
ms.lib                            7820 ----rw-d 27-09-98  07:12:42
msp.lib                          11044 ----rw-d 27-09-98  07:12:42
msr.lib                           7648 ----rw-d 27-09-98  07:12:42
msrp.lib                         10872 ----rw-d 27-09-98  07:12:42
muil.lib                          5868 ----rw-d 27-09-98  07:12:44
muirl.lib                         5732 ----rw-d 27-09-98  07:12:44
muis.lib                          5812 ----rw-d 27-09-98  07:12:44
muisr.lib                         5708 ----rw-d 27-09-98  07:12:44
reqtoolsl.lib                     6508 ----rw-d 27-09-98  07:12:44
reqtoolsrl.lib                    6436 ----rw-d 27-09-98  07:12:44
reqtoolss.lib                     6440 ----rw-d 27-09-98  07:12:44
reqtoolssr.lib                    6372 ----rw-d 27-09-98  07:12:44
roml.lib                         13832 ----rw-d 27-09-98  07:12:42
romrl.lib                        13460 ----rw-d 27-09-98  07:12:42
roms.lib                         13692 ----rw-d 27-09-98  07:12:42
romsr.lib                        13316 ----rw-d 27-09-98  07:12:42
ucs.lib                          97420 ----rw-d 27-09-98  07:12:42
ucsr.lib                         95512 ----rw-d 27-09-98  07:12:42
x.o                                316 ----rw-d 27-09-98  07:12:42
54 files - 12388 blocks used

dinclude:
Code:
Directory "dinclude:" on Monday 23-11-20
alloca.h                           232 ----rw-d 01-02-94  18:00:00
assert.h                           718 ----rw-d 01-02-94  18:00:00
classes                            Dir ----rwed 22-11-20  19:10:11
clib                               Dir ----rwed 22-11-20  19:10:11
ctype.h                           1735 ----rw-d 01-02-94  18:00:00
datatypes                          Dir ----rwed 22-11-20  19:10:11
devices                            Dir ----rwed 22-11-20  19:10:11
diskfont                           Dir ----rwed 22-11-20  19:10:11
dos                                Dir ----rwed 22-11-20  19:10:11
errno.h                           1211 ----rw-d 01-02-94  18:00:00
exec                               Dir ----rwed 22-11-20  19:10:11
fcntl.h                           1373 ----rw-d 09-09-97  15:14:34
fd                                 Dir ----rwed 22-11-20  15:21:35
float.h                           1068 ----rw-d 01-02-94  18:00:00
gadgets                            Dir ----rwed 22-11-20  19:10:11
graphics                           Dir ----rwed 22-11-20  19:10:11
hardware                           Dir ----rwed 22-11-20  19:10:11
images                             Dir ----rwed 22-11-20  19:10:11
intuition                          Dir ----rwed 22-11-20  19:10:11
ioctl.h                            936 ----rw-d 01-02-94  18:00:00
lib                                Dir ----rwed 22-11-20  15:21:35
libraries                          Dir ----rwed 22-11-20  19:10:11
limits.h                           663 ----rw-d 01-02-94  18:00:00
lists.h                            382 ----rw-d 01-02-94  18:00:00
locale.h                           896 ----rw-d 01-02-94  18:00:00
math.h                            4322 ----rw-d 01-02-94  18:00:00
pd                                 Dir ----rwed 22-11-20  15:21:35
pragma                             Dir ----rwed 22-11-20  19:10:11
pragmas                            Dir ----rwed 22-11-20  19:10:11
prefs                              Dir ----rwed 22-11-20  19:10:11
proto                              Dir ----rwed 22-11-20  19:10:11
reaction                           Dir ----rwed 22-11-20  19:10:11
resources                          Dir ----rwed 22-11-20  19:10:11
rexx                               Dir ----rwed 22-11-20  19:10:11
setjmp.h                           269 ----rw-d 01-02-94  18:00:00
signal.h                          1252 ----rw-d 01-02-94  18:00:00
stdarg.h                           454 ----rw-d 01-02-94  18:00:00
stddef.h                           362 ----rw-d 01-02-94  18:00:00
stdio.h                           4872 ----rw-d 01-02-94  18:00:00
stdlib.h                          2320 ----rw-d 23-12-95  23:18:40
string.h                          2194 ----rw-d 01-02-94  18:00:00
strings.h                          136 ----rw-d 01-02-94  18:00:00
sys                                Dir ----rwed 22-11-20  15:21:35
time.h                            1095 ----rw-d 01-02-94  18:00:00
utility                            Dir ----rwed 22-11-20  19:10:11
varargs.h                          286 ----rw-d 01-02-94  18:00:00
workbench                          Dir ----rwed 22-11-20  19:10:11
21 files - 26 directories - 136 blocks used
palaste is offline  
Old 24 November 2020, 10:13   #6
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Say, which version of vamos do you use, and which branch? This one looks suspicious as it does not implement some of the basic exec primitives. My branch here https://github.com/thorfdbg/amitools requires an older version of python (2.7), but it is certainly good enough to drive SAS/C. I have never tried Dice C, though.
Thomas Richter is offline  
Old 25 November 2020, 00:00   #7
palaste
Registered User
 
Join Date: Oct 2011
Location: Helsinki, Finland
Posts: 74
Quote:
Originally Posted by Thomas Richter View Post
Say, which version of vamos do you use, and which branch? This one looks suspicious as it does not implement some of the basic exec primitives. My branch here https://github.com/thorfdbg/amitools requires an older version of python (2.7), but it is certainly good enough to drive SAS/C. I have never tried Dice C, though.
I am using vamos from Christian Vogelsang's amitools: https://github.com/cnvogelg/amitools
I tried your version of amitools earlier, but couldn't even get it to work, because it uses an older version of python. At least Christian Vogelsang's version runs on my system and is capable of running at least some of the Amiga binaries, such as most of the text-only system commands and pretty much all of the text-only Amiga programs I originally wrote on a real Amiga. It can't run GUI programs but then it's not even supposed to.


I noticed that whereas the real Amiga shell (which I ran under FS-UAE) listed each header file as executable, vamos didn't. Apparently vamos followed the underlying Linux permissions while FS-UAE just assumed every file everywhere is executable unless explicitly told otherwise. I ran "chmod u+x *.h" and "chmod u+x */*.h" on the include directory on Linux, but that didn't help, the exact same errors remained.
palaste is offline  
Old 01 December 2020, 00:22   #8
palaste
Registered User
 
Join Date: Oct 2011
Location: Helsinki, Finland
Posts: 74
Based on this post: https://eab.abime.net/showpost.php?p=874957&postcount=2 I found out that I need to set up more DCC options. But running DCC from vamos is still not working. I tried this:
Code:
vamos dcc "hello.c -o hello2 -// -proto -3.1 -D__USE_SYSBASE"
Now DCC appears to be able to open stdio.h but something is still crashing vamos. Here is the current output:
Code:
01:16:35.035        lib:WARNING:  ? CALL:  330 AllocSignal( signalNum[d0]=ffffffff ) from PC=005d54 -> d0=0 (default)
01:16:35.036        lib:WARNING:  ? CALL:  390 FindPort( name[a1]=0000bd50 ) from PC=00629a -> d0=0 (default)
01:16:35.036        lib:WARNING:  ? CALL:  354 AddPort( port[a1]=0000b3f4 ) from PC=0062c6 -> d0=0 (default)
01:16:35.040        lib:WARNING:  ? CALL:  270 Enqueue( list[a0]=000176fc, node[a1]=0001bf68 ) from PC=01341a -> d0=0 (default)
01:16:35.040        lib:WARNING:  ? CALL:  270 Enqueue( list[a0]=000176fc, node[a1]=0001bfa0 ) from PC=01341a -> d0=0 (default)
01:16:35.040        lib:WARNING:  ? CALL:  270 Enqueue( list[a0]=000176fc, node[a1]=0001bfc4 ) from PC=01341a -> d0=0 (default)
01:16:35.040        lib:WARNING:  ? CALL:  270 Enqueue( list[a0]=000176fc, node[a1]=0001bfec ) from PC=01341a -> d0=0 (default)
DCPP 1.12 (24.12.95)
Copyright (c) 1992,1993,1994 Obvious Implementations Corp., Redistribution & Use under DICE-LICENSE.TXT.
DCPP infile [-o outfile] <other-options>
01:16:35.048        lib:WARNING:  ? CALL:  360 RemPort( port[a1]=0000b3f4 ) from PC=005d98 -> d0=0 (default)
01:16:35.049    machine:  ERROR:  ----- ERROR in CPU Run #1 -----
01:16:35.049    machine:  ERROR:  Run: 'dcc': Initial PC=002344, SP=00a9dc
01:16:35.049    machine:  ERROR:  PC=00001664  SR=--Z--    USP=0000a7f4 ISP=00000700 MSP=00000780
01:16:35.049    machine:  ERROR:  D0=00000000  D1=00000007  D2=00000024  D3=0000ad3c  D4=00003124  D5=00000005  D6=00000014  D7=00000014
01:16:35.049    machine:  ERROR:  A0=0000b3f4  A1=0000b3f4  A2=0000b42c  A3=0000b3f4  A4=00012c7a  A5=0000a848  A6=0000133c  A7=0000a7f4
01:16:35.049    machine:  ERROR:  SP-32=000064 SP-28=004f10 SP-24=004f11 SP-20=006ff8 SP-16=000024 SP-12=00ad3c SP-08=007ac4 SP-04=000401
01:16:35.049    machine:  ERROR:  SP+00=0063e4 SP+04=00ab78 SP+08=00bd3c SP+12=00133c SP+16=005db2 SP+20=000024 SP+24=00ab78 SP+28=000000
01:16:35.049    machine:  ERROR:  Traceback (most recent call last):
01:16:35.049    machine:  ERROR:    File "musashi/pytraps.pyx", line 19, in musashi.emu.trap_wrapper
01:16:35.049    machine:  ERROR:    File "/usr/local/lib64/python3.8/site-packages/amitools-0.5.0-py3.8-linux-x86_64.egg/amitools/vamos/libcore/stub.py", line 165, in base_func
01:16:35.049    machine:  ERROR:      res = impl_method(ctx)
01:16:35.049    machine:  ERROR:    File "/usr/local/lib64/python3.8/site-packages/amitools-0.5.0-py3.8-linux-x86_64.egg/amitools/vamos/lib/ExecLibrary.py", line 418, in GetMsg
01:16:35.049    machine:  ERROR:      raise VamosInternalError(
01:16:35.049    machine:  ERROR:  amitools.vamos.error.VamosInternalError: Internal Vamos Error: GetMsg: on invalid Port (00b3f4) called!
01:16:35.050       main:  ERROR:  vamos failed!
01:16:35.050     libmgr:WARNING:  can't expunge: 'dos.library' with open count 1
01:16:35.050     libmgr:WARNING:  shutdown: can't expunge 1 vamos libs/devs!
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
OSError: [Errno 9] Bad file descriptor
Apparently the last error is coming from Python, not from vamos itself.
palaste is offline  
Old 01 December 2020, 01:18   #9
alkis
Registered User
 
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 719
Quote:
Originally Posted by palaste View Post
As a fun experiment, I compiled this exact same source code:
Code:
#include <stdio.h>
int main(void)
{
  printf("Hello world!\n");
}
with both dcc on the Amiga and gcc on Linux. The result: as expected, it does the exact same thing on both systems.
The Amiga binary is 6064 bytes in size. The Linux binary is 19432 bytes, over 3.2 times as much. Yet I figure gcc has had much more development. All the program has to do is load the string "Hello world!\n" and call a system call to print it to stdout. Why, then, is the Linux binary so much bigger?
Umm, actually the linux binary is ~700k (you have to compile with -static)
Here you can read more https://stackoverflow.com/a/33630488/8390560
alkis is offline  
Old 01 December 2020, 07:08   #10
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by palaste View Post
I am using vamos from Christian Vogelsang's amitools: https://github.com/cnvogelg/amitools
That version has, aparently, not implemented a couple of system calls DICE C needs. You need my version, and a pyhton 2.7.


Quote:
Originally Posted by palaste View Post
I noticed that whereas the real Amiga shell (which I ran under FS-UAE) listed each header file as executable, vamos didn't.
Vamos maps the protection bits probably different than UAE does. Vamos maps the linux "u+x" bit to the "e" bit, and if these are listed as "non-executable" under linux (which they better should), their "e" bit is cleared under vamos.


Quote:
Originally Posted by palaste View Post
Apparently vamos followed the underlying Linux permissions while FS-UAE just assumed every file everywhere is executable unless explicitly told otherwise. I ran "chmod u+x *.h" and "chmod u+x */*.h" on the include directory on Linux, but that didn't help, the exact same errors remained.
The problem is, see the output, that Christian's trunk version of vamos does not implement Enqueue() and probably some other functions. Mine does.



So, you can either install a python 2.7, or port mine to python 3.0, or integrate my changes into Christian's branch, or ask Christian to do it. I am happy with either solution, but I have currently no time for it.
Thomas Richter is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
New FS-UAE macOS user! Works great! studio460 support.FS-UAE 2 18 June 2019 02:16
FS-UAE / WinUAE x86-64 JIT Compiler FrodeSolheim support.FS-UAE 94 30 March 2018 15:43
Amitools / vamos project copse Coders. General 4 01 January 2014 20:59
vamos - Wine-style amiga emulation copse Amiga scene 0 16 November 2012 23:41
WIN UAE no game works hannable80 support.WinUAE 8 05 May 2006 17:30

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:46.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.08279 seconds with 15 queries