Help me build MiniVMac for Rhapsody

About Mini vMac and all other 68k emulators, including SoftMac, Executor, and MESS.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Help me build MiniVMac for Rhapsody

Post by galgot »

Help me build MiniVMac for Rhapsody.


Hi, I’m trying to build MiniVMac for MacOSX 1.2 Server aka Rhapsody 5.6.
I have it installed on a Powerbook G3 PDQ, with an X11 server and managed to run a MiniVMac hosted on a Raspberry-Pi in a X-Session. Here a screenshot :
Image

Work very well, so though it would be nice to have MiniVMac run natively on rhapsody.
Note it could run in the blueBox MacOS 8.6 but that would be just running it on a Classic MacOS, when the fun would be to see it run natively on the Rhapsody system…
I contacted the MiniVMac author, he gave some leads. Like that the Free/Open/Net BSD ports of MiniVMac use the X Window system. so I think this is the way to go.

here is what I’ve tried so far :
I’ve installed GCC 2.7.2.1 on the MacOS Server. then grabbed minivmac160109-3.4.src sources.
Prepared some few builds with differents options for try compiling on Rhapsody.
I’ve did a FreeBSD for PPC (-t fbpc option in MnvM_b34).
did a generic X11 for PPC and Gnu Tools development env (-t xgen -cpu ppc -e bgc)
did also a openbsd for PPC (-t obsd -cpu ppc )
And tried building these in Rhapsody. No success.
FreeBSD for PPC version gives me this error after spitting lots of code lines :

my_code_end
cpp: /var/tmp/cc000659.s: No such file or directory
make: *** [bld/MINEM68K.o] Error 1

The Generic X11 for PPC version gives me the same with a variation (« cc000604.s » instead of « cc000659.s ») :

my_code_end
cpp: /var/tmp/cc000604.s: No such file or directory
make: *** [bld/MINEM68K.o] Error 1

and the openbsd for PPC gives me the same again with a small change :

my_code_end
cpp: /var/tmp/cc000714.s: No such file or directory
make: *** [bld/MINEM68K.o] Error 1

I don’t know whats going wrong here being no coder at all.
Any help would be very appreciated :) Would be fun to have MiniVMac running (dancing ?) on that old Rhapsody.
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Re: Help me build MiniVMac for Rhapsody

Post by galgot »

Anyone ?...
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Help me build MiniVMac for Rhapsody

Post by adespoton »

Your build script appears to look for the files /var/tmp/cc000NNN.s, which it isn't finding. Maybe it's a permissions issue?

What happens on a more modern PPC build of Darwin running X11? This might help you isolate things.

That said, it seems to me that your best bet would be an OpenSTEP/NeXTStep PPC target, as that's pretty much the same as Rhapsody. I seem to recall there being such a target at one time on the Gryphel site; http://www.nextcomputers.org/forums/vie ... php?t=2265 seems to agree, but it looks like that might not be currently be working.
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Re: Help me build MiniVMac for Rhapsody

Post by galgot »

Thanks for the help.
i've tried doing "make" as root, or even login as root , and it still make the same error.
var/tmp folder as root as owner.
Funny thing is that all the lines appearing after I do a make are the content of the MINEM68K.S file in the MiniVMac sources. Ends with "my_code_end", then these error "cpp: /var/tmp/cc000659.s: No such file or directory
make: *** [bld/MINEM68K.o] Error 1"...

Didn't know there was a NeXT PPC target for MiniVMac ! Will check for that.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Help me build MiniVMac for Rhapsody

Post by gryphel »

galgot wrote:Funny thing is that all the lines appearing after I do a make are the content of the MINEM68K.S file in the MiniVMac sources.
You could try compiling without the assembly language file, using -no-asm in the build system.
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Re: Help me build MiniVMac for Rhapsody

Post by galgot »

Yes thanks.
I did try -no-asm with a -t xgen in my earlier tries. It didn't work, but I'll try again and see the error message. i'm away of my Rhapsody machine right now, will have it back monday...
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Re: Help me build MiniVMac for Rhapsody

Post by galgot »

Ok, tried again today with a -t fbpc -no-asm.
I get this :
bash-2.02$ make
gcc "src/MINEM68K.c" -o "bld/MINEM68K.o" -c -Wall -Wmissing-prototypes -Wno-uninitialized -Wundef -Wstrict-prototypes -Os
gcc: installation problem, cannot exec `cpp-precomp': No such file or directory
make: *** [bld/MINEM68K.o] Error 1
bash-2.02$

So I suppose there is something wrong with my GCC installation :/

Then tried a -t xgen -no-asm on another rhapsody machine with no other compilers than the Apple OSX server dev tools.
Note the X11 server is installed in /Local/Library/Xnext/X11R6.4, with a symlink in /usr/X11R6.4 . So I changed the line ,
$(ObjFiles) -L/usr/X11R6/lib -lX11
into
$(ObjFiles) -L/usr/X11R6.4/lib -lX11

this is what I get :
bash-2.02$ make
cc "src/MINEM68K.c" -o "bld/MINEM68K.o" -c
cc "src/MYOSGLUE.c" -o "bld/MYOSGLUE.o" -c
src/CNFGRAPI.h:16: header file 'X11/Xlib.h' not found
src/CNFGRAPI.h:17: header file 'X11/Xutil.h' not found
src/CNFGRAPI.h:18: header file 'X11/keysym.h' not found
src/CNFGRAPI.h:19: header file 'X11/keysymdef.h' not found
src/CNFGRAPI.h:20: header file 'X11/Xatom.h' not found
src/MYOSGLUE.c:189: undefined type, found `Display'
src/MYOSGLUE.c:210: undefined type, found `Atom'
src/MYOSGLUE.c:210: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:212: undefined type, found `Atom'
src/MYOSGLUE.c:212: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:213: undefined type, found `Atom'
src/MYOSGLUE.c:213: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:214: undefined type, found `Atom'
src/MYOSGLUE.c:214: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:215: undefined type, found `Atom'
src/MYOSGLUE.c:215: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:216: undefined type, found `Atom'
src/MYOSGLUE.c:216: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:217: undefined type, found `Atom'
src/MYOSGLUE.c:217: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:218: undefined type, found `Atom'
src/MYOSGLUE.c:218: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:219: undefined type, found `Atom'
src/MYOSGLUE.c:219: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:220: undefined type, found `Atom'
src/MYOSGLUE.c:220: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:221: undefined type, found `Atom'
src/MYOSGLUE.c:221: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:222: undefined type, found `Atom'
src/MYOSGLUE.c:222: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:223: undefined type, found `Atom'
src/MYOSGLUE.c:223: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:224: undefined type, found `Atom'
src/MYOSGLUE.c:224: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:225: undefined type, found `Atom'
src/MYOSGLUE.c:225: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:228: undefined type, found `Atom'
src/MYOSGLUE.c:228: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:229: undefined type, found `Atom'
src/MYOSGLUE.c:229: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:230: undefined type, found `Atom'
src/MYOSGLUE.c:230: illegal external declaration, missing `;' after `)'
src/MYOSGLUE.c:266: undefined type, found `Atom'
src/MYOSGLUE.c:272: undefined type, found `Atom'
src/MYOSGLUE.c:279: undefined type, found `Window'
src/MYOSGLUE.c:293: undefined type, found `Atom'
src/MYOSGLUE.c:293: illegal expression, found `)'
src/MYOSGLUE.c:293: syntax error, missing `;' after `)'
src/MYOSGLUE.c:1170: undefined type, found `Window'
src/MYOSGLUE.c:1171: undefined type, found `GC'
src/MYOSGLUE.c:1175: undefined type, found `XColor'
src/MYOSGLUE.c:1176: undefined type, found `XColor'
src/MYOSGLUE.c:1195: undefined type, found `XImage'
src/MYOSGLUE.c:1198: undefined type, found `XImage'
src/MYOSGLUE.c:1426: undefined type, found `XImage'
src/MYOSGLUE.c:1602: undefined type, found `Cursor'
src/MYOSGLUE.c:1604: undefined type, found `Window'
src/MYOSGLUE.c:1611: undefined type, found `Pixmap'
src/MYOSGLUE.c:1612: undefined type, found `XGCValues'
src/MYOSGLUE.c:1613: undefined type, found `GC'
src/MYOSGLUE.c:1656: undefined type, found `Window'
src/MYOSGLUE.c:1657: undefined type, found `Window'
src/MYOSGLUE.c:1840: undefined type, found `Window'
src/MYOSGLUE.c:1841: undefined type, found `Window'
src/MYOSGLUE.c:1854: undefined type, found `KeyCode'
src/MYOSGLUE.c:1858: undefined type, found `KeySym'
src/MYOSGLUE.c:1860: undefined type, found `KeyCode'
src/MYOSGLUE.c:2178: undefined type, found `Window'
src/MYOSGLUE.c:2179: undefined type, found `Window'
src/MYOSGLUE.c:2239: undefined type, found `XKeyboardState'
src/MYOSGLUE.c:2240: undefined type, found `XKeyboardControl'
src/MYOSGLUE.c:2255: undefined type, found `XKeyboardControl'
src/MYOSGLUE.c:2597: undefined type, found `XEvent'
src/MYOSGLUE.c:2630: undefined type, found `Window'
src/MYOSGLUE.c:2637: undefined type, found `XEvent'
src/MYOSGLUE.c:2653: undefined type, found `Atom'
src/MYOSGLUE.c:2702: undefined type, found `XEvent'
src/MYOSGLUE.c:2713: undefined type, found `Atom'
src/MYOSGLUE.c:2753: undefined type, found `Time'
src/MYOSGLUE.c:2756: undefined type, found `XEvent'
src/MYOSGLUE.c:2757: undefined type, found `Window'
src/MYOSGLUE.c:2870: undefined type, found `Window'
src/MYOSGLUE.c:2874: undefined type, found `XEvent'
src/MYOSGLUE.c:2885: undefined type, found `Atom'
src/MYOSGLUE.c:2912: undefined type, found `XEvent'
src/MYOSGLUE.c:2943: undefined type, found `XEvent'
src/MYOSGLUE.c:2945: undefined type, found `XEvent'
src/MYOSGLUE.c:2952: undefined type, found `Window'
src/MYOSGLUE.c:2953: undefined type, found `Window'
src/MYOSGLUE.c:2983: undefined type, found `XEvent'
src/MYOSGLUE.c:2985: undefined type, found `Time'
src/MYOSGLUE.c:2986: illegal statement, missing `;' after `)'
src/MYOSGLUE.c:3010: undefined type, found `XEvent'
src/MYOSGLUE.c:3173: undefined type, found `XEvent'
src/MYOSGLUE.c:3346: undefined type, found `Window'
src/MYOSGLUE.c:3348: undefined type, found `Colormap'
src/MYOSGLUE.c:3349: undefined type, found `Visual'
src/MYOSGLUE.c:3514: undefined type, found `Window'
src/MYOSGLUE.c:3522: undefined type, found `Window'
src/MYOSGLUE.c:3618: undefined type, found `XSetWindowAttributes'
src/MYOSGLUE.c:3669: undefined type, found `XClassHint'
src/MYOSGLUE.c:3679: undefined type, found `XWMHints'
src/MYOSGLUE.c:3714: undefined type, found `XSizeHints'
src/MYOSGLUE.c:3816: undefined type, found `Window'
src/MYOSGLUE.c:3817: undefined type, found `GC'
src/MYOSGLUE.c:3910: undefined type, found `Window'
src/MYOSGLUE.c:3911: undefined type, found `Window'
src/MYOSGLUE.c:3916: undefined type, found `Window'
src/MYOSGLUE.c:4064: undefined type, found `Window'
src/MYOSGLUE.c:4071: undefined type, found `Window'
src/MYOSGLUE.c:4148: undefined type, found `Window'
src/MYOSGLUE.c:4150: undefined type, found `Window'
src/MYOSGLUE.c:4423: undefined type, found `XEvent'
make: *** [bld/MYOSGLUE.o] Error 1
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Re: Help me build MiniVMac for Rhapsody

Post by galgot »

I've also tried build a -t xgen -cpu ppc on a PPC machine (iMac G5 running 10.4).
With the Makefile line $(ObjFiles) -L/usr/X11R6/lib -lX11 as default.
Builds without problem.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Help me build MiniVMac for Rhapsody

Post by gryphel »

galgot wrote:src/CNFGRAPI.h:16: header file 'X11/Xlib.h' not found
It is not finding the X11 headers. They might be in "/usr/X11R6.4/include/". If not then you could search with a command like:

find / -name "Xlib.h"

Then you can modify the line in the make file that compiles MYOSGLUE.c to specify where to look for the X11 headers, such as:

gcc "src/MYOSGLUE.c" -o "bld/MYOSGLUE.o" $(mk_COptions) -I/usr/X11R6.4/include/

By the way, the closest supported build system options are probably "-t mx11 -no-asm -cl", for Apple X11 for PowerPC, using no assembly, and built with command line tools. For these options the build system thinks the X11 directory is "/usr/X11R6/", so you could replace that in the generated make file with "/usr/X11R6.4/".
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Re: Help me build MiniVMac for Rhapsody

Post by galgot »

Mmmhh... It seems the X11 I have installed is very different from what MiniVMac expects :/
I have no "Xlib.h" file in my system, and the X11R.6.4 doesn't have an "include" folder. here is the content of that folder :
http://galgot.free.fr/transit/X11R6.4_content.jpg
anyway, I've tried a "-t mx11 -no-asm -cl" build, changing "X11R6" to "X11R6.4" whenever I found it in the makefile.
This is what I get on the machine with only MacOSX Server DevTools intalled :
bash-2.02$ make
gcc "src/MINEM68K.c" -o "bld/MINEM68K.o" -c -Wall -Wmissing-prototypes -Wno-uninitialized -Wundef -Wstrict-prototypes -mdynamic-no-pic -fpascal-strings -arch ppc -Os
gcc: not found
make: *** [bld/MINEM68K.o] Error 127
bash-2.02$

And this is what I get a the other machine on which I've (badly ?) installed GCC:
bash-2.02$ make
gcc "src/MINEM68K.c" -o "bld/MINEM68K.o" -c -Wall
-Wmissing-prototypes -Wno-uninitialized -Wundef -Wstrict-prototypes
-mdynamic-no-pic -fpascal-strings -arch ppc -Os
gcc: installation problem, cannot exec `cpp-precomp': No such file
or directory
make: *** [bld/MINEM68K.o] Error 1
bash-2.02$
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Help me build MiniVMac for Rhapsody

Post by gryphel »

galgot wrote:I have no "Xlib.h" file in my system
If there is no "Xlib.h" file, then your system is not set up to compile applications that use X.

By the way, did you try using the mppc standard version of Mini vMac (for Macintosh OS 9 and earlier on PowerPC)? According to Wikipedia, it ought to work on the PowerPC version of Rhapsody, in the Blue Box emulation layer.
galgot
Granny Smith
Posts: 119
Joined: Thu Feb 13, 2014 3:59 pm

Re: Help me build MiniVMac for Rhapsody

Post by galgot »

Yes, seems if I want to have it running natively on rhapsody i would have to install an X11 from scratch :/ Not using maX or Xnext ... Don't know if that as been done before, will check.

The mppc version runs just fine in the BlueBox :

Image
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Help me build MiniVMac for Rhapsody

Post by gryphel »

galgot wrote:Yes, seems if I want to have it running natively on rhapsody i would have to install an X11 from scratch ... The mppc version runs just fine in the BlueBox :
That's good that the mppc version works. Actually, I don't think an X11 port on Rhapsody is really more native than using BlueBox. They are both compatibility layers. And the X11 version probably wouldn't work as well as the mppc version - at least, the X11 implementation in OS X, which presumably descends from the Rhapsody version, seems to lack some things, like proper full screen support and drag and drop.

Truly native would be to use the Cocoa port of Mini vMac (build option -api cco). The Cocoa port is intended to work back to OS X 10.0. I don't know how Rhapsody differs, it might work unchanged, or some work may be needed to get it to compile.
Post Reply