[M3devel] Re: porting m3 on intel mac

Antony Hosking hosking at cs.purdue.edu
Sun Jan 21 22:57:41 CET 2007


For some reason your .stabs entries are different than mine, but  
otherwise the assembler files are the same.  Are you using the cm3cg  
and cm3.cfg from my ftp site?  Here is the version of the assembler  
that I have on my Intel Mac:

Apple Computer, Inc. version cctools-590.42.1.obj~1, GNU assembler  
version 1.38

With respect to zeus, can you build with -verbose in the zeus  
directory and send me the output?  Sounds like one of the tools is  
not getting built properly.

On 21/01/2007, at 4:47 PM, Renzo Orsini wrote:

> You can find in the attachment the program and the compilation.
>
> Renzo
>
> <Archive.zip>
>
> On Jan 21, 2007, at 22:34, Antony Hosking wrote:
>
>>
>> On 21/01/2007, at 4:27 PM, Renzo Orsini wrote:
>>
>>> On Jan 21, 2007, at 21:49, Antony Hosking wrote:
>>>
>>>>
>>>> On 21/01/2007, at 7:59 AM, Renzo Orsini wrote:
>>>>
>>>>> Hello and lot of thanks!
>>>>>
>>>>> Everything is working really fine!
>>>>> The configuration: MacBookPro, MacOSX 10.4.8, XCode 2.4.1 (gcc  
>>>>> 4.0.1), X11 installed, latest cm3 sources (with anonymous CVS),
>>>>> The process:
>>>>> 1. unpacked cm3-min-POSIX-PPC_DARWIN-5.4.0.tgz
>>>>> 2. installed as super-user (every answer left as default, the  
>>>>> only problem is the fact that motif is missing, ignoring)
>>>>> 3. replacing cm3, cm3.cfg, cm3cg from ftp://ftp.cs.purdue.edu/ 
>>>>> pub/hosking/m3/I386_DARWIN
>>>>> 3. running as su:
>>>>>       do-cm3-core.sh buildship
>>>>>       install-cm3-compiler.sh upgrade
>>>>>       do-cm3-std.sh buildship
>>>>> everything is ok a part from producing about a zillion of  
>>>>> assembler (?) warnings ("xxx.ms:nnn:indirect jmp without `*'),
>>>>> and failing at the end the compilation of package zeus (which I  
>>>>> suppose is an old issue)
>>>>
>>>> That's odd since my builds go through cleanly.
>>>
>>> This is an example of the strange "indirect jump" message:
>>>
>>> pborsini:~/ProveModula3 orsini$ cat Main.m3
>>> MODULE Main; IMPORT IO; BEGIN IO.Put("Hello World\n"); END Main.
>>> pborsini:~/ProveModula3 orsini$ cm3
>>> --- building in I386_DARWIN ---
>>> new source -> compiling Main.m3
>>> Main.ms:101:indirect jmp without `*'
>>> -> linking prog
>>> _m3main.ms:74:indirect jmp without `*'
>>> _m3main.ms:89:indirect jmp without `*'
>>> _m3main.ms:108:indirect jmp without `*'
>>> pborsini:~/ProveModula3 orsini$ ./I386_DARWIN/prog
>>> Hello World
>>>
>>> maybe there is some problem with the linker parameters, however  
>>> the progrum runs ok.
>>
>> Can you compile with "-keep" and send me the relevant .ms file?  I  
>> can compare with mine.
>>
>>>
>>> For what concerns zeus: the following is the output of cm3:
>>>
>>> === package /Users/orsini/modula3/cvsstuff/cm3/m3-ui/zeus ===
>>> +++ cm3 -build -override -DROOT='/Users/orsini/modula3/cvsstuff/ 
>>> cm3'  +++
>>> --- building in I386_DARWIN ---
>>>
>>> new source -> compiling RemoteView_T_v1.i3
>>> "../I386_DARWIN/RemoteView_T_v1.i3", line 1: syntax error:  
>>> missing INTERFACE or MODULE keyword
>>> "../I386_DARWIN/RemoteView_T_v1.i3", line 1: unable to find  
>>> interface (<missing id>)
>>> "../I386_DARWIN/RemoteView_T_v1.i3", line 1: warning: file name  
>>> (RemoteView_T_v1.i3) doesn't match module name (<missing id>)
>>> 2 errors and 1 warning encountered
>>> new source -> compiling RemoteView_T_v1.m3
>>> "../I386_DARWIN/RemoteView_T_v1.m3", line 1: syntax error:  
>>> missing INTERFACE or MODULE keyword
>>> "../I386_DARWIN/RemoteView_T_v1.m3", line 1: unable to find  
>>> interface (<missing id>)
>>> "../I386_DARWIN/RemoteView_T_v1.m3", line 1: warning: file name  
>>> (RemoteView_T_v1.m3) doesn't match module name (<missing id>)
>>> 2 errors and 1 warning encountered
>>> compilation failed => not building library "libm3zeus.a"
>>> Fatal Error: package build failed
>>> *** execution of  failed ***
>>>
>>> (and the files RemoteView_T_v1.i3 and RemoteView_T_v1.m3 are  
>>> empty in I386_DARWIN, and they do not exists in src)
>>>
>>> Several other packages cannot be compiled, like many obliq ones,  
>>> webvt, June and mentor.
>>>
>>> However the compiler seems to work for compiling my stuff,  
>>> altough I have to make a few corrections and debugging.
>>
>> This sounds problematic since it implies that the generators for  
>> those files are not working correctly.  (If you run with "- 
>> commands" you'll see which generator programs are being used.
>>
>>>
>>> Thanks,
>>>
>>> Renzo
>>>
>>>>
>>>>>
>>>>> So, thank again to all and each of you, I am now very happy and  
>>>>> busy by bringing our old modula-3 software to the new century!
>>>>>
>>>>> Cordially,
>>>>>
>>>>> Renzo Orsini
>>>>>
>>>>> On Jan 21, 2007, at 0:33, Darko wrote:
>>>>>
>>>>>> The latest, 10.4.8, also the latest XCode, which I think  
>>>>>> updates gcc. You were addressing me weren't you? But Renzo  
>>>>>> might like to answer that question too. XCode weighs in at  
>>>>>> about 1G, by the way.
>>>>>>
>>>>>> On 21/01/2007, at 7:58 AM, Antony Hosking wrote:
>>>>>>
>>>>>>> What version of OSX are you using?
>>>>>>>
>>>>>>> On 20/01/2007, at 5:49 PM, Darko wrote:
>>>>>>>
>>>>>>>> No worries. I'm not familiar at all with those scripts. The  
>>>>>>>> problem you are having may be to do with not having the  
>>>>>>>> latest source, but it most probably has to do with the  
>>>>>>>> version of gcc that is active on your machine. C files are  
>>>>>>>> not compiled by cm3 but rather call gcc directly. I can't  
>>>>>>>> remember which version of gcc is the correct one, but mine  
>>>>>>>> currently is i686-apple-darwin8-gcc-4.0.1; also I can't  
>>>>>>>> remember the command line for changing gcc versions. Tony  
>>>>>>>> may be able to help re the correct version if 4.0.1 doesn't  
>>>>>>>> work. You may need to install the latest XCode from http:// 
>>>>>>>> developer.apple.com if you don't have 4.01.
>>>>>>>>
>>>>>>>> I've cc'd the list because they're actually very helpful and  
>>>>>>>> my knowledge is limited...
>>>>>>>>
>>>>>>>> - Darko
>>>>>>>>
>>>>>>>>
>>>>>>>> On 21/01/2007, at 6:58 AM, Renzo Orsini wrote:
>>>>>>>>
>>>>>>>>> First of all, thank you very much for your immediate help!
>>>>>>>>>
>>>>>>>>> I downloaded the files and replaced the corresponding /usr/ 
>>>>>>>>> local/cm3/bin files,
>>>>>>>>> modified cm3.cfg by replacing INSTALL_ROOT = "/usr/local/ 
>>>>>>>>> cm3-i386/" with INSTALL_ROOT = "/usr/local/cm3/"
>>>>>>>>> then in the full source (last version, 5.4.0) I did:  
>>>>>>>>> scripts/do-cm3-core.sh buildship
>>>>>>>>> this is the result:
>>>>>>>>>
>>>>>>>>>  root#./do-cm3-core.sh buildship
>>>>>>>>> CM3C =
>>>>>>>>> /Users/orsini/cm3/cm3-src-all-5.4.0/scripts/pkgmap.sh -c  
>>>>>>>>> "cm3 -build  -DROOT='/Users/orsini/cm3/cm3-src-all-5.4.0'   
>>>>>>>>> && cm3 -ship -DROOT='/Users/orsini/cm3/cm3-src-all-5.4.0' "  
>>>>>>>>> m3gc-simple m3core libm3 patternmatching m3middle m3linker  
>>>>>>>>> m3front m3quake m3cc cm3 m3scanner m3tools m3cgcat m3cggen  
>>>>>>>>> m3bundle bitvector digraph parseparams realgeometry set  
>>>>>>>>> slisp sortedtableextras table-list tempfiles
>>>>>>>>> === package /Users/orsini/cm3/cm3-src-all-5.4.0/m3-libs/ 
>>>>>>>>> m3gc-simple ===
>>>>>>>>> +++ cm3 -build  -DROOT='/Users/orsini/cm3/cm3-src- 
>>>>>>>>> all-5.4.0'  && cm3 -ship -DROOT='/Users/orsini/cm3/cm3-src- 
>>>>>>>>> all-5.4.0'  +++
>>>>>>>>> --- building in I386_DARWIN ---
>>>>>>>>>
>>>>>>>>> new source -> compiling RTVM.c
>>>>>>>>> new source -> compiling sysdeps.c
>>>>>>>>> new source -> compiling accept.c
>>>>>>>>> ../src/runtime/I386_DARWIN/accept.c: In function 'm3_accept':
>>>>>>>>> ../src/runtime/I386_DARWIN/accept.c:13: warning: pointer  
>>>>>>>>> targets in passing argument 3 of 'accept' differ in signedness
>>>>>>>>> new source -> compiling bind.c
>>>>>>>>> new source -> compiling close.c
>>>>>>>>> new source -> compiling connect.c
>>>>>>>>> new source -> compiling dup.c
>>>>>>>>> new source -> compiling dup2.c
>>>>>>>>> new source -> compiling gethostbyaddr.c
>>>>>>>>> new source -> compiling gethostbyname.c
>>>>>>>>> new source -> compiling getpeername.c
>>>>>>>>> ../src/runtime/I386_DARWIN/getpeername.c: In function  
>>>>>>>>> 'm3_getpeername':
>>>>>>>>> ../src/runtime/I386_DARWIN/getpeername.c:13: warning:  
>>>>>>>>> pointer targets in passing argument 3 of 'getpeername'  
>>>>>>>>> differ in signedness
>>>>>>>>> new source -> compiling getsockname.c
>>>>>>>>> ../src/runtime/I386_DARWIN/getsockname.c: In function  
>>>>>>>>> 'm3_getsockname':
>>>>>>>>> ../src/runtime/I386_DARWIN/getsockname.c:13: warning:  
>>>>>>>>> pointer targets in passing argument 3 of 'getsockname'  
>>>>>>>>> differ in signedness
>>>>>>>>> new source -> compiling listen.c
>>>>>>>>> new source -> compiling read.c
>>>>>>>>> new source -> compiling recv.c
>>>>>>>>> new source -> compiling recvfrom.c
>>>>>>>>> ../src/runtime/I386_DARWIN/recvfrom.c: In function  
>>>>>>>>> 'm3_recvfrom':
>>>>>>>>> ../src/runtime/I386_DARWIN/recvfrom.c:15: warning: pointer  
>>>>>>>>> targets in passing argument 6 of 'recvfrom' differ in  
>>>>>>>>> signedness
>>>>>>>>> new source -> compiling select.c
>>>>>>>>> new source -> compiling send.c
>>>>>>>>> new source -> compiling sendto.c
>>>>>>>>> new source -> compiling shutdown.c
>>>>>>>>> new source -> compiling socket.c
>>>>>>>>> new source -> compiling write.c
>>>>>>>>> -> archiving libm3gcdefs.a
>>>>>>>>> ld: common symbols not allowed with MH_DYLIB output format  
>>>>>>>>> with the -multi_module option
>>>>>>>>> sysdeps.o definition of common _RTCSRC_FinishVM (size 16)
>>>>>>>>> sysdeps.o definition of common _RTHeapRep_Fault (size 16)
>>>>>>>>> /usr/bin/libtool: internal link edit command failed
>>>>>>>>> --- shipping from I386_DARWIN ---
>>>>>>>>>
>>>>>>>>> . => /usr/local/cm3/pkg/m3gc-simple/I386_DARWIN
>>>>>>>>>   .M3EXPORTS        libm3gcdefs.5.2.dylib"/Users/orsini/cm3/ 
>>>>>>>>> cm3-src-all-5.4.0/m3-libs/m3gc-simple/I386_DARWIN/.M3SHIP",  
>>>>>>>>> line 3: quake runtime error: unable to copy "libm3gcdefs. 
>>>>>>>>> 5.2.dylib" to "/usr/local/cm3/pkg/m3gc-simple/I386_DARWIN/ 
>>>>>>>>> libm3gcdefs.5.2.dylib": errno=2
>>>>>>>>>
>>>>>>>>> --procedure--  -line-  -file---
>>>>>>>>> install_file       --  <builtin>
>>>>>>>>>                     3  /Users/orsini/cm3/cm3-src-all-5.4.0/ 
>>>>>>>>> m3-libs/m3gc-simple/I386_DARWIN/.M3SHIP
>>>>>>>>>
>>>>>>>>> Fatal Error: package build failed
>>>>>>>>> *** execution of  failed ***
>>>>>>>>>
>>>>>>>>> ======
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I noticed that not all the .c files in .../m3-libs/m3gc- 
>>>>>>>>> simple/src/runtime/I386_DARWIN/ where compiled, but I do  
>>>>>>>>> not know if this is a normal behaviour.
>>>>>>>>>
>>>>>>>>> Thanks in advance for your time and patience!
>>>>>>>>>
>>>>>>>>> Cordially
>>>>>>>>>
>>>>>>>>> Renzo Orsini
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Jan 20, 2007, at 19:02, Darko wrote:
>>>>>>>>>
>>>>>>>>>> Have a look here: ftp://ftp.cs.purdue.edu/pub/hosking/m3/ 
>>>>>>>>>> I386_DARWIN/
>>>>>>>>>>
>>>>>>>>>> There you'll find the bits you need for Mac Intel. Replace  
>>>>>>>>>> your existing cm3, cmcg and cm3.cfg with the ones there,  
>>>>>>>>>> then you can compile the basic libraries you need like  
>>>>>>>>>> m3core and libm3, but make sure you have the latest sources.
>>>>>>>>>>
>>>>>>>>>> I think they're the latest but Tony may have something  
>>>>>>>>>> more to say about that.
>>>>>>>>>>
>>>>>>>>>> Darko.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 21/01/2007, at 1:41 AM, Olaf Wagner wrote:
>>>>>>>>>>
>>>>>>>>>>> On Sat, Jan 20, 2007 at 03:05:55PM +0100, Renzo Orsini  
>>>>>>>>>>> wrote:
>>>>>>>>>>>> Hello,
>>>>>>>>>>>>
>>>>>>>>>>>> I  installed cm3-min-POSIX-PPC_DARWIN-5.4.0.tgz on an  
>>>>>>>>>>>> intel mac, then
>>>>>>>>>>>> tried to a compile a Hello world program, but the  
>>>>>>>>>>>> compilation failed
>>>>>>>>>>>> with the following message:
>>>>>>>>>>>>
>>>>>>>>>>>> pborsini:~/ProveModula3 orsini$ cm3
>>>>>>>>>>>> --- building in PPC_DARWIN ---
>>>>>>>>>>>>
>>>>>>>>>>>> new source -> compiling Main.m3
>>>>>>>>>>>> "../Main.m3", line 4: warning: potentially unhandled  
>>>>>>>>>>>> exception: IO.Error
>>>>>>>>>>>> 1 warning encountered
>>>>>>>>>>>> Main.ms:12:no such instruction: `mflr r0'
>>>>>>>>>>>> Main.ms:13:no such instruction: `stmw r30,-8(r1)'
>>>>>>>>>>>> Main.ms:14:no such instruction: `stw r0,8(r1)'
>>>>>>>>>>>> Main.ms:15:no such instruction: `stwu r1,-96(r1)'
>>>>>>>>>>>> Main.ms:16:no such instruction: `mr r30,r1'
>>>>>>>>>>>> Main.ms:17:no such instruction: `bcl 20,31,"L00000000001 
>>>>>>>>>>>> $pb"'
>>>>>>>>>>>> ...
>>>>>>>>>>>> ....
>>>>>>>>>>>>
>>>>>>>>>>>> So I suppose there is PPC code to assemble and the  
>>>>>>>>>>>> Rosetta emulator
>>>>>>>>>>>> for PPC on intel macs cannot do anything for this!
>>>>>>>>>>>>
>>>>>>>>>>>> Since I would like to port the Fibonacci language for  
>>>>>>>>>>>> databases,
>>>>>>>>>>>> which is written in Modula-3, if I understand well the  
>>>>>>>>>>>> situation I
>>>>>>>>>>>> should port the Modula-3 compiler by cross compiling it  
>>>>>>>>>>>> on a PPC mac,
>>>>>>>>>>>> or something like that.
>>>>>>>>>>>>
>>>>>>>>>>>> I am asking you if you know about some effort of porting  
>>>>>>>>>>>> Modula-3 on
>>>>>>>>>>>> intel macs, or at least if you let me know if this  
>>>>>>>>>>>> operation is
>>>>>>>>>>>> possible (and also reasonably feasible in terms of time and
>>>>>>>>>>>> expertise, given my teaching duties and my difficulties  
>>>>>>>>>>>> with
>>>>>>>>>>>> assembler languages!), and, if so, if you can point me  
>>>>>>>>>>>> to the correct
>>>>>>>>>>>> documentation to start with. Of course I will be very  
>>>>>>>>>>>> glad to give
>>>>>>>>>>>> back to the community the result if I succeed!
>>>>>>>>>>>>
>>>>>>>>>>>> Thank you very much for your attention.
>>>>>>>>>>>>
>>>>>>>>>>>> Cordially
>>>>>>>>>>>>
>>>>>>>>>>>> Renzo Orsini
>>>>>>>>>>>> Associate Professor
>>>>>>>>>>>> Dipartimento di Informatica
>>>>>>>>>>>> Universita' Ca' Foscari di Venezia
>>>>>>>>>>>
>>>>>>>>>>> Well, I wouldn't have thought that you were even able to  
>>>>>>>>>>> install
>>>>>>>>>>> the cm3-min-POSIX-PPC_DARWIN-5.4.0.tgz system on an Intel  
>>>>>>>>>>> machine;
>>>>>>>>>>> it's surely not supposed to run on one. It shouldn't be too
>>>>>>>>>>> difficult to get a port of the latest CM3 for Darwin on  
>>>>>>>>>>> Intel
>>>>>>>>>>> processors; I even think somebody was already working on it,
>>>>>>>>>>> but I don't really remember who, so I forward your mail to
>>>>>>>>>>> the m3devel list, in case others have already started  
>>>>>>>>>>> such an
>>>>>>>>>>> effort.
>>>>>>>>>>>
>>>>>>>>>>> Olaf
>>>>>>>>>>> -- 
>>>>>>>>>>> elego Software Solutions GmbH                            
>>>>>>>>>>> HRB 77719
>>>>>>>>>>> Olaf Wagner                            E-Mail: wagner(at) 
>>>>>>>>>>> elego.de
>>>>>>>>>>> Ohmstraße 9                               Tel: +49 30 40  
>>>>>>>>>>> 04 19 29
>>>>>>>>>>> 10179 Berlin                              Fax: +49 30 23  
>>>>>>>>>>> 45 86 95
>>>>>>>>>>> Cranachstraße 7                           Tel: +49 30 85  
>>>>>>>>>>> 58 01 81
>>>>>>>>>>> 12157 Berlin                              Fax: +49 30 85  
>>>>>>>>>>> 58 01 88
>>>>>>>>>>>  ------------------> WWW: http://www.elego-software- 
>>>>>>>>>>> solutions.com
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> M3devel mailing list
>>>>>>>>>>> M3devel at elegosoft.com
>>>>>>>>>>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> M3devel mailing list
>>>>>>>> M3devel at elegosoft.com
>>>>>>>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
>>>>>>>
>>>>>>> Antony Hosking                | Associate Professor
>>>>>>> Dept of Computer Sciences     | Office: (765) 494-6001
>>>>>>> Purdue University             | Mobile: (765) 427-5484
>>>>>>> 250 N. University Street      | hosking at cs.purdue.edu
>>>>>>> West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/ 
>>>>>>> ~hosking
>>>>>>>   _--_|\
>>>>>>>  /      \
>>>>>>>  \_.--._/    )
>>>>>>>        v    /
>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>> Antony Hosking                | Associate Professor
>>>> Dept of Computer Sciences     | Office: (765) 494-6001
>>>> Purdue University             | Mobile: (765) 427-5484
>>>> 250 N. University Street      | hosking at cs.purdue.edu
>>>> West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/~hosking
>>>>   _--_|\
>>>>  /      \
>>>>  \_.--._/    )
>>>>        v    /
>>>>
>>>
>>
>> Antony Hosking                | Associate Professor
>> Dept of Computer Sciences     | Office: (765) 494-6001
>> Purdue University             | Mobile: (765) 427-5484
>> 250 N. University Street      | hosking at cs.purdue.edu
>> West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/~hosking
>>   _--_|\
>>  /      \
>>  \_.--._/    )
>>        v    /
>>
>

Antony Hosking                | Associate Professor
Dept of Computer Sciences     | Office: (765) 494-6001
Purdue University             | Mobile: (765) 427-5484
250 N. University Street      | hosking at cs.purdue.edu
West Lafayette, IN 47907-2066 | http://www.cs.purdue.edu/~hosking
   _--_|\
  /      \
  \_.--._/    )
        v    /






More information about the M3devel mailing list