Trouble building Mac VM under MPW 3.5
Martin McClure
martin at hand2mouse.com
Tue Oct 9 21:58:25 UTC 2001
This is probably more of a MacOS development question than it is a
Squeak question. I'd be grateful for any help from the few of you
that know this area.
Below I list the gist of my problem, then more detail for those who
are interested.
Thanks,
-Martin
Summary and specific questions:
I'm building a Mac VM under MacOS 9 using MPW 3.5. I've built VMs on
Windows before, but not on Mac, and am an expert in neither Mac
development nor C development in general. I've worked through many of
the issues, but seem to be having more trouble with this one.
At link time I'm getting these unresolved external references:
# Unresolved external references:
# .ftruncate
# .InitOpenTransport
# .OTAllocMem
# .OTInetGetInterfaceInfo
# .OTInitInetAddress
# .NADisposeNoteChannel
# .NAStuffToneDescription
# .NANewNoteChannel
# .NAResetNoteChannel
# .NASetInstrumentNumber
# .OTOpenInternetServices
# .OTInetStringToAddress
# .OTInetAddressToName
# .NAPlayNote
# .NASetController
# .OTAsyncOpenEndpoint
# .OTCloseProvider
# .CloseOpenTransport
First, what is the significance (if any) of the fact that all of
these references have a leading period?
Most of these are MacOS functions that are obsolete and therefore
don't appear in the stub libraries I have, which seem to be based on
something called "Universal Interfaces 3.4." What are these supposed
to link to?
And then there's that first entry, .ftruncate. ftruncate is a
function referenced in sqFilePluginBasicPrims.c. There's a definition
defined in sqMacDirectory.c, but that definition is omitted by the
preprocessor because of the line:
#if !defined ( __MPW__ ) && !defined( __APPLE__ ) && !defined( __MACH__)
What Mac development environment is supposed to define none of these symbols?
The definition of ftruncate in sqMacDirectory.c doesn't seem to be
compatible with my environment.
Additional details:
Why am I building a VM?
Because I want a VM with debugging symbols, and because it seems like
a good idea to know how to.
Why do I need debugging symbols?
Because I've written a plugin that runs OK for about a second, then
crashes Squeak, and I want to debug it. I might not actually need an
entire VM with debugging symbols, but it seemed like a good idea at
the time.
What VM configuration am I building?
Image: 3.1b4411
VMMaker-3-1-version2.rel1.cs
platforms20010922.zip
Expression used to generate source:
(VMMaker default initializeAllInternalBut:
#(IntegerPokerPlugin Mpeg3Plugin FFIPlugin TestOSAPlugin
FileCopyPlugin B3DAcceleratorPlugin ))
generateMainVM.
This is a normal Mac VM build except it does not make
B3DAcceleratorPlugin internal. I left that one out because MPW 3.5
didn't come with the necessary OpenGL headers and stub libraries, and
because I'm not currently needing to use 3D.
More information about the Squeak-dev
mailing list
|