[M3devel] Re: porting m3 on intel mac

Antony Hosking hosking at cs.purdue.edu
Sun Jan 21 21:49:42 CET 2007


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.

>
> 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    /






More information about the M3devel mailing list