A couple of problems with Ian's latest Squeak-3.5-1devel sources and the Mac (using MacOS/X 10.2.4, Apple's December 2002 Developer tools):
* I get a "bus error" when compiling the ObjectiveC plugin. So I commented it out. (hope I don't need it).
* I can't run the resultant Squeak. I get a complaint (after installing it; the library path is compiled in):
$ ./squeak ../../Squeak.image arg: ./squeak arg: ../../Squeak.image looking for module vm-display-null ioFindExternalFunctionIn(display_null, -1): symbol not found: _display_null squeak: loaded plugin `/usr/local/lib/squeak/3.5-1devel/vm-display-null.so' displayModule 0x4e50b0 vm-display-null vmName: ./squeak -> /Users/wordy/Desktop/Squeak-3.5-1devel/build/squeak viName: ../../Squeak.image documentName: (null) fstat(4) => 0 image size 0 + heap size 20971520 (useMmap = 1073741824) This interpreter (vers. 6502 cannot read image file (vers. 0 Hit CR to quit
Here's the "architecture" part of config.h:
#define OS_TYPE "unix"
#define VM_HOST "powerpc-apple-darwin6.4" #define VM_HOST_CPU "powerpc" /* #undef VM_HOST_VENDOR */ #define VM_HOST_OS "darwin6.4"
#define WORDS_BIGENDIAN 1 /* #undef DOUBLE_WORD_ALIGNMENT */ /* #undef DOUBLE_WORD_ORDER */
/* damage containment */
#define DARWIN 1
Anyone have any ideas about this?
Thanks,
On Sunday 30 March 2003 12:43 pm, Ned Konz wrote:
viName: ../../Squeak.image documentName: (null) fstat(4) => 0 image size 0 + heap size 20971520 (useMmap = 1073741824) This interpreter (vers. 6502 cannot read image file (vers. 0
That was because the Squeak.image was a broken alias.
Running it on a *real* Squeak.image, I get this:
$ /usr/local/bin/squeak Squeak.image arg: /usr/local/bin/squeak arg: Squeak.image looking for module vm-display-null ioFindExternalFunctionIn(display_null, -1): symbol not found: _display_null squeak: loaded plugin `/usr/local/lib/squeak/3.5-1devel/vm-display-null.so' displayModule 0x1cb0b0 vm-display-null vmName: /usr/local/bin/squeak -> /usr/local/lib/squeak/3.5-1devel/squeak viName: Squeak.image documentName: (null) fstat(4) => 0 image size 14528236 + heap size 20971520 (useMmap = 1073741824) sqAllocateMemory: pageSize 0x1000 (4096), mask 0xfffff000 sqAllocateMemory: /dev/zero descriptor -1 sqAllocateMemory: min heap 14628172, desired 35499756 sqAllocateMemory: mapping 0x40000000 bytes (1024 Mbytes) dyld: /usr/local/bin/squeak Undefined symbols: _aioPoll Trace/BPT trap $
Now I'm mystified. Why is there no _aioPoll?
On Sunday 30 March 2003 12:43 pm, Ned Konz wrote:
A couple of problems with Ian's latest Squeak-3.5-1devel sources and the Mac (using MacOS/X 10.2.4, Apple's December 2002 Developer tools):
And I also got the same behavior with the pre-built powerpc-apple-darwin6.4 version downloaded from his web site (after I installed libiconv, which I didn't have to do for the version that I compiled myself, for some reason (glibc differences?)).
- I get a "bus error" when compiling the ObjectiveC plugin. So I
commented it out. (hope I don't need it).
- I can't run the resultant Squeak. I get a complaint (after
installing it; the library path is compiled in):
[snip]
dyld: /usr/local/bin/squeak Undefined symbols: _aioPoll Trace/BPT trap
aio.c is being compiled, and aio.o is being stuck into the vm.a library, which is being provided to the command line that builds the squeak executable. However, the resultant executable doesn't define that symbol.
Hmm... ran config again; this time I have a link problem with the OpenGL stuff.
I had to add -framework OpenGL to get it to link.
After I did, I still have the undefined symbol _aioPoll.
I've attached a make log (before I added OpenGL), and my config.
Thanks,
On Monday 31 March 2003 09:06 am, Ned Konz wrote:
Hmm... ran config again; this time I have a link problem with the OpenGL stuff.
I had to add -framework OpenGL to get it to link.
After I did, I still have the undefined symbol _aioPoll.
I re-did the build from scratch, adding the above, and got a Squeak that defines _aioPoll. However, it doesn't ever display anything:
$ ./squeak -plugins /usr/local/lib/squeak/3.5-1devel/%n ~/Desktop/Squeak3.4-MacOS-Full/Squeak.image arg: ./squeak arg: -plugins arg: /usr/local/lib/squeak/3.5-1devel/%n arg: /Users/wordy/Desktop/Squeak3.4-MacOS-Full/Squeak.image parseArgument n = 2 looking for module vm-display-null ioFindExternalFunctionIn(display_null, -1): symbol not found: _display_null squeak: loaded plugin `/usr/local/lib/squeak/3.5-1devel/vm-display-null.so' displayModule 0x56a0b0 vm-display-null vmName: ./squeak -> /Users/wordy/Desktop/src/Squeak-3.5-1devel/bld-Power/squeak viName: /Users/wordy/Desktop/Squeak3.4-MacOS-Full/Squeak.image documentName: (null) fstat(4) => 0 image size 13471892 + heap size 20971520 (useMmap = 1073741824) sqAllocateMemory: pageSize 0x1000 (4096), mask 0xfffff000 sqAllocateMemory: /dev/zero descriptor -1 sqAllocateMemory: min heap 13571828, desired 34443412 sqAllocateMemory: mapping 0x40000000 bytes (1024 Mbytes) squeak: could not load plugin `MiscPrimitivePlugin' sqGrowMemory: 0x275d07c By: 1052909568(13608932) (1073741824 -> 20832256) was: 0x684000 0x40684000 0x40684000 = 0x40000000 (1073741824) bytes now: 0x684000 0x1a62000 0x40684000 = 0x13de000 (20832256) bytes squeak: could not load plugin `FilePlugin' squeak: could not load plugin `SecurityPlugin' squeak: could not load plugin `UnixOSProcessPlugin' squeak: could not load plugin `UnixOSProcessPlugin' squeak: could not load plugin `UnixOSProcessPlugin' squeak: could not load plugin `BitBltPlugin' squeak: could not load plugin `LargeIntegers'
And then it just sits there (presumably running Squeak).
Ideas?
On Mon, Mar 31, 2003 at 09:29:33AM -0800, Ned Konz wrote:
On Monday 31 March 2003 09:06 am, Ned Konz wrote:
looking for module vm-display-null ioFindExternalFunctionIn(display_null, -1): symbol not found: _display_null squeak: loaded plugin `/usr/local/lib/squeak/3.5-1devel/vm-display-null.so' displayModule 0x56a0b0 vm-display-null
I haven't played much with Ian's new pluggable display stuff, but on my Linux system I have both the vm-display-null.so vm-display-X11.so display modules, and when I run Squeak the X display module gets loaded. The console window includes this output:
looking for module vm-display-X11 ioFindExternalFunctionIn(display_X11, 1073823952): ./squeak: undefined symbol: display_X11 squeak: loaded plugin `./vm-display-X11.so' displayModule 0x40166380 vm-display-X11
So I'm guessing that you either don't have the right display module built for your OS/X system, or there is some kind of problem with the search path to find the display module.
Dave
On Monday 31 March 2003 03:58 pm, David T. Lewis wrote:
On Mon, Mar 31, 2003 at 09:29:33AM -0800, Ned Konz wrote:
On Monday 31 March 2003 09:06 am, Ned Konz wrote:
looking for module vm-display-null ioFindExternalFunctionIn(display_null, -1): symbol not found: _display_null squeak: loaded plugin `/usr/local/lib/squeak/3.5-1devel/vm-display-null.so' displayModule 0x56a0b0 vm-display-null
I haven't played much with Ian's new pluggable display stuff, but on my Linux system I have both the vm-display-null.so vm-display-X11.so display modules, and when I run Squeak the X display module gets loaded. The console window includes this output:
looking for module vm-display-X11 ioFindExternalFunctionIn(display_X11, 1073823952): ./squeak: undefined symbol: display_X11 squeak: loaded plugin `./vm-display-X11.so' displayModule 0x40166380 vm-display-X11
So I'm guessing that you either don't have the right display module built for your OS/X system, or there is some kind of problem with the search path to find the display module.
The display modules are all in the same directory. It just loads the null display one. I don't have X, but I do have the Quartz and X11 display modules in the same directory as the vm-display-null one.
If I give it the "-quartz" flag, I get this:
$ squeak -quartz -plugins /usr/local/lib/squeak/3.5-1devel/%n ~/Desktop/Squeak3.4-MacOS-Full/Squeak.image arg: squeak arg: -quartz arg: -plugins arg: /usr/local/lib/squeak/3.5-1devel/%n arg: /Users/wordy/Desktop/Squeak3.4-MacOS-Full/Squeak.image looking for module vm-display-Quartz ioFindExternalFunctionIn(display_Quartz, -1): symbol not found: _display_Quartz squeak: loaded plugin `/usr/local/lib/squeak/3.5-1devel/vm-display-Quartz.so' ioFindExternalFunctionIn(display_Quartz, 3809280): symbol not found: _display_Quartz could not find interface display_Quartz in module vm-display-Quartz parseArgument n = 0 unknown option: -quartz Usage: squeak [<option>...] [<imageName> [<argument>...]] squeak [<option>...] -- [<argument>...]
followed by the whole summary of options.
What's weird is this:
$ nm /usr/local/lib/squeak/3.5-1devel/vm-display-Quartz.so | grep ' D ' 0000c098 D _buttonState 0000c168 D _display_Quartz 0000c034 D _dpyPitch 0000c030 D _dpyPixels 0000c090 D _iebIn 0000c094 D _iebOut 0000c014 D _inModalLoop 0000c09c D _modifierState 0000c084 D _mousePosition 0000c08c D _swapBtn
And when I run Ian's build (directly from the .tar.gz on his site) with the "-quartz" flag after installing it, this is what I get:
$ /usr/local/bin/squeak -quartz -plugins /usr/local/lib/squeak/3.5-1devel/ ~/Desktop/Squeak3.4-MacOS-Full/Squeak.imagearg: /usr/local/bin/squeak arg: -quartz arg: -plugins arg: /usr/local/lib/squeak/3.5-1devel/ arg: /Users/wordy/Desktop/Squeak3.4-MacOS-Full/Squeak.image looking for module vm-display-Quartz ioFindExternalFunctionIn(display_Quartz, 976376): dlcompat: unable to find symbol "_display_Quartz" in "global context" squeak: loaded plugin `/usr/local/lib/squeak/3.5-1devel/vm-display-Quartz.so' ioFindExternalFunctionIn(display_Quartz, 1468656): dlcompat: dyld: /usr/local/bin/squeak Undefined symbols: _argVec _inputEventSemaIndex _shortImageName _sqTextEncoding _uxDropFileCount _uxDropFileNames _vmPath
could not find interface display_Quartz in module vm-display-Quartz parseArgument n = 0 unknown option: -quartz Usage: /usr/local/bin/squeak [<option>...] [<imageName> [<argument>...]] /usr/local/bin/squeak [<option>...] -- [<argument>...]
squeak-dev@lists.squeakfoundation.org