Problem compiling 2.7 on Mac with CodeWorrier 4

Henrik Gedenryd Henrik.Gedenryd at
Thu Mar 16 19:54:03 UTC 2000

<some already answered>

Tim Rowledge wrote:

> I'm trying to build a 2.7 VM for my PowerBook using CodeWorrier 4.0,
> preparatory to building the pluginised VM. Can't make it work!

I got it to work but I used CW 5. I attached my VM project, but don't take
it as gospel. I am not, repeat not, an expert. Don't use it, rather look at
its settings; I have turned on some optimization you might not want.

> First problem was that the project file included interpApr22.c instead
> of interp.c ; easily fixed but a silly bug.
> Next, MacTypes.h was giving an error on line 295 (or thereabouts) where
> the enum for true and false is defined. It appears that we can get
> around that by channging the first few lines of the mac block of
> sqPlatformSpecifc.h to:-
>> #ifdef macintosh
>> #undef false
>> #undef true
>> /* macintosh memory allocation */
>> #include <Memory.h>
>> #define true 1
>> #define false 0
>> #undef sqAllocateMemory
> which seems to make the compiler happy.

Didn't happen to me IIRC, sorry.

> Next, sqMacAsynchFile.c has three red-hand errors, complaining about
> PBOpenSync, PBReadAsynch and PBWriteAsynch not having any prototype. I
> imagine that there is a header file missing, but which one?

#include <Devices.h>

I don't remember adding that, hmm. My memory might be wrong. Note that this
code is "experimental" anyway.

> Next, sqMacExternalPrims.c says:-
> Error   : undefined identifier 'kCurrentCFragArch'
> sqMacExternalPrims.c line 21   c2pstr(libName), kCurrentCFragArch,
> action, &libHandle, &mainAddr, errorMsg);

THis was the one I did get. Try kCompiledCFragArch, it worked for me.

> And lastly (so far as it goes right now!):-
> sqMacSounds says..
> Error   : cannot convert
> 'long *' to
> 'unsigned long *'
> sqMacSound.c line 394   Delay(1, &junk);
> Has anybody been able to build the VM from scratch?
> tim

Well, you should most definitely turn off some warnings in your project; I
guess you are putting your trust in Slang translation (and SqC :-). Would it
be "implicit arithmetic conversions" here?

> OK, now everything compiles and I just have to find some library or
> other that appears to be missing. Who knows which libs are needed to
> provide this lot?

Again, check my project file, or ask if this doesn't do it for ya.

C makes you long back inside Squeak, doesn't it? Did for me.

All those non-believers should be sentenced to a week in C.

Good luck,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/octet-stream
Size: 46590 bytes
Desc: not available
Url :

More information about the Squeak-dev mailing list