From: Mathieu Suen mathieusuen@yahoo.fr Date: April 17, 2007 10:01:31 AM CEDT To: Ian Piumarta piumarta@speakeasy.net Cc: Squeak Virtual Machine Development Discussion <vm- dev@lists.squeakfoundation.org> Subject: Compiling Squeak failed with VMMaker on Mac
Hi,
I have tried to compile Squeak with VMMaker. I have taken:
- 3.10 image (Squeak-dev-beta-107)
- VMMaker 3.8b6
- the latest source from the svn
After I have compile the source with VMMaker. Then I go to my folder where the source where generate and create the build dir:
mkdir bld cd bld ../platforms/unix/config/configure LDFLAGS="-framework OpenGL" -- without-x make
I have had LDFLAGS="-framework OpenGL" because the linker haven't found some _gl* symbols
Still the make failed with symbols undefined:
... gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -framework OpenGL -o squeak disabledPlugins.o version.o -framework CoreFoundation - framework CoreServices vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a B3DAcceleratorPlugin/ B3DAcceleratorPlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a CroquetPlugin/ CroquetPlugin.a DSAPrims/DSAPrims.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a FFTPlugin/FFTPlugin.a FileCopyPlugin/ FileCopyPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/ FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a GeniePlugin/ GeniePlugin.a HostWindowPlugin/HostWindowPlugin.a InternetConfigPlugin/InternetConfigPlugin.a JPEGReadWriter2Plugin/ JPEGReadWriter2Plugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JoystickTabletPlugin/JoystickTabletPlugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a LocalePlugin/LocalePlugin.a Matrix2x3Plugin/Matrix2x3Plugin.a MiscPrimitivePlugin/ MiscPrimitivePlugin.a Mpeg3Plugin/Mpeg3Plugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/ SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/ SurfacePlugin.a UUIDPlugin/UUIDPlugin.a -lm vm/vm.a /usr/bin/ld: Undefined symbols: _closeWindow _createWindowWidthheightoriginXyattrlength _ioCloseAllWindows _ioPositionOfWindow _ioPositionOfWindowSetxy _ioSetTitleOfWindow _ioShowDisplayOnWindow _ioSizeOfWindow _ioSizeOfWindowSetxy _sqInternetConfigurationGetStringKeyedBykeySizeinto _sqInternetConfigurationInit _sqInternetConfigurationShutdown _sqInternetGetMacintoshFileTypeAndCreatorFromkeySizeinto _sqLocCurrencyNotation _sqLocCurrencySymbolSize _sqLocDaylightSavings _sqLocGetCountryInto _sqLocGetCurrencySymbolInto _sqLocGetDecimalSymbolInto _sqLocGetDigitGroupingSymbolInto _sqLocGetLanguageInto _sqLocGetLongDateFormatInto _sqLocGetShortDateFormatInto _sqLocGetTimeFormatInto _sqLocGetTimezoneOffset _sqLocGetVMOffsetToUTC _sqLocInitialize _sqLocLongDateFormatSize _sqLocMeasurementMetric _sqLocShortDateFormatSize _sqLocTimeFormatSize collect2: ld returned 1 exit status make: *** [squeak] Error 1
Any Idea?
Thanks
Mth
On Apr 17, 2007, at 15:50 , Mathieu Suen wrote:
From: Mathieu Suen mathieusuen@yahoo.fr Date: April 17, 2007 10:01:31 AM CEDT To: Ian Piumarta piumarta@speakeasy.net Cc: Squeak Virtual Machine Development Discussion <vm- dev@lists.squeakfoundation.org> Subject: Compiling Squeak failed with VMMaker on Mac
Hi,
I have tried to compile Squeak with VMMaker. I have taken:
- 3.10 image (Squeak-dev-beta-107)
- VMMaker 3.8b6
- the latest source from the svn
After I have compile the source with VMMaker. Then I go to my folder where the source where generate and create the build dir:
mkdir bld cd bld ../platforms/unix/config/configure LDFLAGS="-framework OpenGL" -- without-x make
I have had LDFLAGS="-framework OpenGL" because the linker haven't found some _gl* symbols
Still the make failed with symbols undefined:
... gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -framework OpenGL -o squeak disabledPlugins.o version.o -framework CoreFoundation - framework CoreServices vm/vm.a ADPCMCodecPlugin/ ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a B3DAcceleratorPlugin/B3DAcceleratorPlugin.a BMPReadWriterPlugin/ BMPReadWriterPlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/ BitBltPlugin.a CroquetPlugin/CroquetPlugin.a DSAPrims/DSAPrims.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a FFTPlugin/ FFTPlugin.a FileCopyPlugin/FileCopyPlugin.a FilePlugin/ FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/ FloatMathPlugin.a GeniePlugin/GeniePlugin.a HostWindowPlugin/ HostWindowPlugin.a InternetConfigPlugin/InternetConfigPlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a JPEGReaderPlugin/ JPEGReaderPlugin.a JoystickTabletPlugin/JoystickTabletPlugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a LocalePlugin/ LocalePlugin.a Matrix2x3Plugin/Matrix2x3Plugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a Mpeg3Plugin/ Mpeg3Plugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/ SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/ StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a UUIDPlugin/ UUIDPlugin.a -lm vm/vm.a /usr/bin/ld: Undefined symbols: _closeWindow _createWindowWidthheightoriginXyattrlength _ioCloseAllWindows _ioPositionOfWindow _ioPositionOfWindowSetxy _ioSetTitleOfWindow _ioShowDisplayOnWindow _ioSizeOfWindow _ioSizeOfWindowSetxy _sqInternetConfigurationGetStringKeyedBykeySizeinto _sqInternetConfigurationInit _sqInternetConfigurationShutdown _sqInternetGetMacintoshFileTypeAndCreatorFromkeySizeinto _sqLocCurrencyNotation _sqLocCurrencySymbolSize _sqLocDaylightSavings _sqLocGetCountryInto _sqLocGetCurrencySymbolInto _sqLocGetDecimalSymbolInto _sqLocGetDigitGroupingSymbolInto _sqLocGetLanguageInto _sqLocGetLongDateFormatInto _sqLocGetShortDateFormatInto _sqLocGetTimeFormatInto _sqLocGetTimezoneOffset _sqLocGetVMOffsetToUTC _sqLocInitialize _sqLocLongDateFormatSize _sqLocMeasurementMetric _sqLocShortDateFormatSize _sqLocTimeFormatSize collect2: ld returned 1 exit status make: *** [squeak] Error 1
Any Idea?
It looks like you are compiling some plugins not the way they're supposed to be used. For example, B3DAcceleratorPlugin should be build externally because it links to OpenGL. And HostWindowPlugin, InternetConfigPlugin, and LocalePlugin are not supported by the Unix VM, which explains your link errors.
- Bert -
_closeWindow _createWindowWidthheightoriginXyattrlength _ioCloseAllWindows _ioPositionOfWindow _ioPositionOfWindowSetxy _ioSetTitleOfWindow _ioShowDisplayOnWindow _ioSizeOfWindow _ioSizeOfWindowSetxy
Those look to be the Ffenestri related function names in HostWindowPlugin.
_sqInternetConfigurationGetStringKeyedBykeySizeinto _sqInternetConfigurationInit _sqInternetConfigurationShutdown _sqInternetGetMacintoshFileTypeAndCreatorFromkeySizeinto
Those suggest the Mac spcific (?) InternetConfigPlugin.
_sqLocCurrencyNotation _sqLocCurrencySymbolSize _sqLocDaylightSavings _sqLocGetCountryInto _sqLocGetCurrencySymbolInto _sqLocGetDecimalSymbolInto _sqLocGetDigitGroupingSymbolInto _sqLocGetLanguageInto _sqLocGetLongDateFormatInto _sqLocGetShortDateFormatInto _sqLocGetTimeFormatInto _sqLocGetTimezoneOffset _sqLocGetVMOffsetToUTC _sqLocInitialize _sqLocLongDateFormatSize _sqLocMeasurementMetric _sqLocShortDateFormatSize _sqLocTimeFormatSize
Those are from the LocalePlugin.
If the unix code doesn't have the support for the above then you shouldn't be trying to compile them. VMMaker does attempt to detect which plugins have no platform support so it can skip them BUT if you're running on a Mac you really shouldn't be surprised that VMMaker decides to look at the support provided in the platforms/Mac OS/plugins folder - which DOES include Locale etc.
Try editing the platform name in the VMMakerTool to 'unix'. There's even a button to press to get a list of known platform names - 'Find platform'. If you choose 'unix' instead of the default for a Mac of 'Mac OS' and then ask for all plugins to be made external you will see that the system tells you that No platform specific files found for 'HostWindowPlugin' No platform specific files found for 'InternetConfigPlugin' No platform specific files found for 'LocalePlugin' No platform specific files found for 'MacMenubarPlugin' No platform specific files found for 'TestOSAPlugin'
There is quite a bit of useful help in the help info accessed by pressing the prominent 'Help' button in the VMMakerTool. There is some more at http://wiki.squeak.org/squeak/vmmaker.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Useful random insult:- Put a lens in each ear and you've got a telescope.
You can't fix it to avoid them to be compiled on a Mac? It's not obvious to choose unix when you run Mac OS
Any way thanks for your help
Mth
On Apr 17, 2007, at 7:21 PM, tim Rowledge wrote:
Try editing the platform name in the VMMakerTool to 'unix'. There's even a button to press to get a list of known platform names - 'Find platform'. If you choose 'unix' instead of the default for a Mac of 'Mac OS' and then ask for all plugins to be made external you will see that the system tells you that No platform specific files found for 'HostWindowPlugin' No platform specific files found for 'InternetConfigPlugin' No platform specific files found for 'LocalePlugin' No platform specific files found for 'MacMenubarPlugin' No platform specific files found for 'TestOSAPlugin'
Well, there is two "flavours" of builds for Mac OS. The one you choose (blue icon) is the unix flavour and for it to work you need to put "unix" into the platform name. Otherwise the system assumes thay you are going to use the Mac OS flavour of build (gold icon) which requires the setup available in the MacOS platform branch.
Cheers, - Andreas
Mathieu Suen wrote:
You can't fix it to avoid them to be compiled on a Mac? It's not obvious to choose unix when you run Mac OS
Any way thanks for your help
Mth
On Apr 17, 2007, at 7:21 PM, tim Rowledge wrote:
Try editing the platform name in the VMMakerTool to 'unix'. There's even a button to press to get a list of known platform names - 'Find platform'. If you choose 'unix' instead of the default for a Mac of 'Mac OS' and then ask for all plugins to be made external you will see that the system tells you that No platform specific files found for 'HostWindowPlugin' No platform specific files found for 'InternetConfigPlugin' No platform specific files found for 'LocalePlugin' No platform specific files found for 'MacMenubarPlugin' No platform specific files found for 'TestOSAPlugin'
Ok thanks for those precision. So where can you find the setup in order to build the Mac OS flavour?
Mth
On Apr 17, 2007, at 9:10 PM, Andreas Raab wrote:
Well, there is two "flavours" of builds for Mac OS. The one you choose (blue icon) is the unix flavour and for it to work you need to put "unix" into the platform name. Otherwise the system assumes thay you are going to use the Mac OS flavour of build (gold icon) which requires the setup available in the MacOS platform branch.
On 17-Apr-07, at 12:41 PM, Mathieu Suen wrote:
Ok thanks for those precision. So where can you find the setup in order to build the Mac OS flavour?
As previously mentioned:-
There is quite a bit of useful help in the help info accessed by pressing the prominent 'Help' button in the VMMakerTool. There is some more at http://wiki.squeak.org/squeak/vmmaker.
And if you look even briefly around the 'platforms' folder that has all the hand-written code and makefiles in it, under 'Mac OS' you will find 'Mac OS/vm/Documentation' and a load of readme type files. For unix you will find stuff in 'platforms/unix/doc'. For Windows, try 'platforms/win32'.
Umm, guys, why have we ended up with 3 different places in 3 platforms? How about having a single idiom like perhaps platforms/ {the platform}/Doc/readme as a starting place? Call me a revolutionary but really...
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Useful random insult:- Solid concrete from the eyebrows backwards.
tim Rowledge wrote:
Umm, guys, why have we ended up with 3 different places in 3 platforms? How about having a single idiom like perhaps platforms/{the platform}/Doc/readme as a starting place? Call me a revolutionary but really...
How about a readme on the top level? Not that I mind putting it into a common place but if that place is buried deep inside the structure it won't be any easier to find.
Cheers, - Andreas
Yes it's what I had missed. I had looked inside unix and saw the Doc folder and when I went to Mac OS folder I didn't seen any Doc folder and readme. So I simply suppose that they were no doc. Plus when I had look inside the vm folder of unix I haven't seen any doc.
Next time I will try not to make any supposition.
Mth
On Apr 17, 2007, at 10:07 PM, Andreas Raab wrote:
tim Rowledge wrote:
Umm, guys, why have we ended up with 3 different places in 3 platforms? How about having a single idiom like perhaps platforms/ {the platform}/Doc/readme as a starting place? Call me a revolutionary but really...
How about a readme on the top level? Not that I mind putting it into a common place but if that place is buried deep inside the structure it won't be any easier to find.
On 17-Apr-07, at 1:07 PM, Andreas Raab wrote:
tim Rowledge wrote:
Umm, guys, why have we ended up with 3 different places in 3 platforms? How about having a single idiom like perhaps platforms/ {the platform}/Doc/readme as a starting place? Call me a revolutionary but really...
How about a readme on the top level? Not that I mind putting it into a common place but if that place is buried deep inside the structure it won't be any easier to find.
OK, I propose platforms README Cross Mac OS Doc Mac Readme unix Doc unix Readme etc..... General readme would explain what all this stuff is and where to update svn and VMMaker and to look in platform specific readme & Doc directory for more details.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim If only people came with pull-down menus and online help.
Sounds good in general but can we name it "docs" instead of "Doc"?
Thanks, - Andreas
tim Rowledge wrote:
On 17-Apr-07, at 1:07 PM, Andreas Raab wrote:
tim Rowledge wrote:
Umm, guys, why have we ended up with 3 different places in 3 platforms? How about having a single idiom like perhaps platforms/{the platform}/Doc/readme as a starting place? Call me a revolutionary but really...
How about a readme on the top level? Not that I mind putting it into a common place but if that place is buried deep inside the structure it won't be any easier to find.
OK, I propose platforms README Cross Mac OS Doc Mac Readme unix Doc unix Readme etc..... General readme would explain what all this stuff is and where to update svn and VMMaker and to look in platform specific readme & Doc directory for more details.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim If only people came with pull-down menus and online help.
I wrote a little ReadMe.txt to put in the platforms directory. I added it to my svn localcopy. I try to commit it and just get:-
Adding /Users/tim/Documents/Squeak/VMM3.8-64bit/platforms/ ReadMe.txt svn: Commit failed (details follow): svn: CHECKOUT of '/svn/squeak/!svn/ver/1655/trunk/platforms': authorization failed (http://squeakvm.org)
I have no idea whatsoever what I am supposed to do about that. It used to work, but I have moved Macs recently so perhaps something got fubard. If anyone can explain it would be most helpful.
The file reads (just in case somebody else would like to add it) ++++++++++++++++++++++++ ReadMe.txt for 'platforms'.
This is the directory tree for the hand-written code, build documentation, resources and makefiles for the Squeak VM. It is maintained in an SVN repository kept at http://squeakvm.org.
Other parts of the sourcecode are generated from within Squeak by using the VMMaker application, which is available via the SqueakMap Package Loader built in to Squeak.
See http://www.squeak.org for information about Squeak, including how to download it. See http://wiki.squeak.org/squeak/vmmaker for information about the VMMaker application.
Information specific to the different platforms supported by this set of sourcecode should be found in the 'docs' directory inside the subdirectories named for each platform. +++++++++++++++++++++++++
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: IG: Insert Garbage
I had some problems after Ian completed the last server move. I suspect that may have to do with it. Other than that it looks like a nice, short and to the point readme.
Cheers, - Andreas
tim Rowledge wrote:
I wrote a little ReadMe.txt to put in the platforms directory. I added it to my svn localcopy. I try to commit it and just get:-
Adding /Users/tim/Documents/Squeak/VMM3.8-64bit/platforms/ReadMe.txt svn: Commit failed (details follow): svn: CHECKOUT of '/svn/squeak/!svn/ver/1655/trunk/platforms': authorization failed (http://squeakvm.org)
I have no idea whatsoever what I am supposed to do about that. It used to work, but I have moved Macs recently so perhaps something got fubard. If anyone can explain it would be most helpful.
The file reads (just in case somebody else would like to add it) ++++++++++++++++++++++++ ReadMe.txt for 'platforms'.
This is the directory tree for the hand-written code, build documentation, resources and makefiles for the Squeak VM. It is maintained in an SVN repository kept at http://squeakvm.org.
Other parts of the sourcecode are generated from within Squeak by using the VMMaker application, which is available via the SqueakMap Package Loader built in to Squeak.
See http://www.squeak.org for information about Squeak, including how to download it. See http://wiki.squeak.org/squeak/vmmaker for information about the VMMaker application.
Information specific to the different platforms supported by this set of sourcecode should be found in the 'docs' directory inside the subdirectories named for each platform. +++++++++++++++++++++++++
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: IG: Insert Garbage
On 17-Apr-07, at 5:07 PM, Andreas Raab wrote:
I had some problems after Ian completed the last server move. I suspect that may have to do with it.
What needs to be done to make my access work again?
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: SBB: Store in Bit Bucket
Ian had to fix something on his end; I have no idea what it was.
Cheers, - Andreas
tim Rowledge wrote:
On 17-Apr-07, at 5:07 PM, Andreas Raab wrote:
I had some problems after Ian completed the last server move. I suspect that may have to do with it.
What needs to be done to make my access work again?
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: SBB: Store in Bit Bucket
tim Rowledge wrote:
I wrote a little ReadMe.txt to put in the platforms directory. I added it to my svn localcopy. I try to commit it and just get:-
Adding /Users/tim/Documents/Squeak/VMM3.8-64bit/platforms/ReadMe.txt svn: Commit failed (details follow): svn: CHECKOUT of '/svn/squeak/!svn/ver/1655/trunk/platforms': authorization failed (http://squeakvm.org)
I've never seen a bang in the path. What does that mean?
If you do # svn info it'll tell you the repository root and URL. You could see if that corresponds to what you think it ought to.
I have no idea whatsoever what I am supposed to do about that. It used to work, but I have moved Macs recently so perhaps something got fubard. If anyone can explain it would be most helpful.
The file reads (just in case somebody else would like to add it) ++++++++++++++++++++++++ ReadMe.txt for 'platforms'.
This is the directory tree for the hand-written code, build documentation, resources and makefiles for the Squeak VM. It is maintained in an SVN repository kept at http://squeakvm.org.
Other parts of the sourcecode are generated from within Squeak by using the VMMaker application, which is available via the SqueakMap Package Loader built in to Squeak.
See http://www.squeak.org for information about Squeak, including how to download it. See http://wiki.squeak.org/squeak/vmmaker for information about the VMMaker application.
Information specific to the different platforms supported by this set of sourcecode should be found in the 'docs' directory inside the subdirectories named for each platform. +++++++++++++++++++++++++
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: IG: Insert Garbage
Say on http://www.squeakvm.org/index.html
could I get a link to
Macintosh classic, Macintosh OSX Carbon VM information and downloads -
On Apr 17, 2007, at 4:57 PM, tim Rowledge wrote:
I wrote a little ReadMe.txt to put in the platforms directory.
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===
Okay, I just replaced the (already obsolete ;-) description in platforms/win32 with a pointer to platforms/win32/docs (which is the correct set of instructions with win32 anyway). I can also add a README if anyone thinks this is helpful but all the win32 information now lives (and has for a while) inside platforms/win32/docs.
In other words, I'm declaring myself to be "documentation-compliant" ;-)
Cheers, - Andreas
tim Rowledge wrote:
On 17-Apr-07, at 1:07 PM, Andreas Raab wrote:
tim Rowledge wrote:
Umm, guys, why have we ended up with 3 different places in 3 platforms? How about having a single idiom like perhaps platforms/{the platform}/Doc/readme as a starting place? Call me a revolutionary but really...
How about a readme on the top level? Not that I mind putting it into a common place but if that place is buried deep inside the structure it won't be any easier to find.
OK, I propose platforms README Cross Mac OS Doc Mac Readme unix Doc unix Readme etc..... General readme would explain what all this stuff is and where to update svn and VMMaker and to look in platform specific readme & Doc directory for more details.
tim
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim If only people came with pull-down menus and online help.
On 17/04/07, Andreas Raab andreas.raab@gmx.de wrote:
Well, there is two "flavours" of builds for Mac OS. The one you choose
Shouldn't there be only one ? The unix build uses Quartz, has a standard menu bar and window, so it's already a little Mac-like, no ? Mac OS **is** a unix, it just has access to a few more libraries than traditional BSDs, and the VM should be wrapped in a .app bundle instead of a /usr/local hierarchy... What reasons make the actual mac VM different from my uninformed intuition?
I like the Gold VM because the .app behaves more like a correct Mac application (it can open several images for instance), but it doesn't have UnixOSProcess...
You can't fix it to avoid them to be compiled on a Mac?
That would be the job of autoconf ?
On Apr 17, 2007, at 3:22 PM, Damien Pollet wrote:
I like the Gold VM because the .app behaves more like a correct Mac application (it can open several images for instance), but it doesn't have UnixOSProcess...
Try the UnixOSProcessPlugin.4.0.1.bundle.zip
that I stuck on my ftp site, or idisk, and let me know what you think.
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===
On 18/04/07, John M McIntosh johnmci@smalltalkconsulting.com wrote:
Try the UnixOSProcessPlugin.4.0.1.bundle.zip
that I stuck on my ftp site, or idisk, and let me know what you think.
Problem is, we want to reproduce the VM build, not gather bits and pieces of binary stuff from vague locations...
Let me add that to the mac tree. The author of the plugin doesn't have a mac so he's never built a mac version. It was at one point very optional since it allows you to freely do "evil" things so it was never shipped as part of the standard out of the box configuration. In March work by various people made it possible to compile and run on the mac carbon VM. It does however not support things like X11 integration and forking a headfull carbon vm, although you are welcome to try that with a headless VM.
On Apr 18, 2007, at 3:34 AM, Damien Pollet wrote:
On 18/04/07, John M McIntosh johnmci@smalltalkconsulting.com wrote:
Try the UnixOSProcessPlugin.4.0.1.bundle.zip
that I stuck on my ftp site, or idisk, and let me know what you think.
Problem is, we want to reproduce the VM build, not gather bits and pieces of binary stuff from vague locations...
-- Damien Pollet type less, do more [ | ] http://typo.cdlm.fasmz.org
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===
On Tue, Apr 17, 2007 at 04:42:57PM -0700, John M McIntosh wrote:
On Apr 17, 2007, at 3:22 PM, Damien Pollet wrote:
I like the Gold VM because the .app behaves more like a correct Mac application (it can open several images for instance), but it doesn't have UnixOSProcess...
Try the UnixOSProcessPlugin.4.0.1.bundle.zip
that I stuck on my ftp site, or idisk, and let me know what you think.
I suppose that I should mention that I updated OSPP, AIO Plugin, and XDisplayControlPlugin last week, so that new versions are on SqueakMap (source code is on SqueakSource).
The older versions are all still fine, but I'd be interested to know if the latest OSPP behaves reasonably on the Mac OS X VM, as it contains my attempt to make signal handling and errno reporting work properly with pthreads. I don't have a Mac to test with, so I'm not entirely sure how successful this has been on a multithreaded VM.
Dave
On Apr 18, 2007, at 6:56 AM, David T. Lewis wrote:
I suppose that I should mention that I updated OSPP, AIO Plugin, and XDisplayControlPlugin last week, so that new versions are on SqueakMap (source code is on SqueakSource).
The older versions are all still fine, but I'd be interested to know if the latest OSPP behaves reasonably on the Mac OS X VM, as it contains my attempt to make signal handling and errno reporting work properly with pthreads. I don't have a Mac to test with, so I'm not entirely sure how successful this has been on a multithreaded VM.
Dave
Let' me post the XCode build file to SVN today, and someone can do testing for you.
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===
On Apr 17, 2007, at 3:22 PM, Damien Pollet wrote:
On 17/04/07, Andreas Raab andreas.raab@gmx.de wrote:
Well, there is two "flavours" of builds for Mac OS. The one you choose
Shouldn't there be only one ?
Well imagine the world when you could pick between TWO solutions for your open source needs, imagine asking your boss for approval to do a study to pick the "better" choice, versus arguing about risk when only a sole choice exists as your proposed solution.
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===
On 18/04/07, John M McIntosh johnmci@smalltalkconsulting.com wrote:
Well, there is two "flavours" of builds for Mac OS. The one you choose
Shouldn't there be only one ?
Well imagine the world when you could pick between TWO solutions for your open source needs,
That's not what I meant. I meant one configurable build, so you share maintenance work still have the two flavors. In the open source world, choice is good provided there is enough work force. For a vertical project (few users, few developers, few experts), it's better to have one code base than split the already small community among forks.
I'm probably wrong, and I'd be happy to stand corrected, but as it is now, the unix and mac builds look like forks (ie. unnecessary work duplication) instead of justified modularity.
On Apr 18, 2007, at 12:33 , Damien Pollet wrote:
On 18/04/07, John M McIntosh johnmci@smalltalkconsulting.com wrote:
Well, there is two "flavours" of builds for Mac OS. The one you choose
Shouldn't there be only one ?
Well imagine the world when you could pick between TWO solutions for your open source needs,
That's not what I meant. I meant one configurable build, so you share maintenance work still have the two flavors. In the open source world, choice is good provided there is enough work force. For a vertical project (few users, few developers, few experts), it's better to have one code base than split the already small community among forks.
I'm probably wrong, and I'd be happy to stand corrected, but as it is now, the unix and mac builds look like forks (ie. unnecessary work duplication) instead of justified modularity.
If any, it's a "reverse fork" - the Unix and Mac VMs used to have nothing in common (except for the interpreter of course). Only because Apple switched to Unix was it possible to make the Unix VM work on Mac OS X. And actually I think there was a third Mac VM that's not maintained anymore, which was completely in Objective C/ Cocoa.
You're welcome to work on the Grand Unified Mac VM. John's latest work already went in that direction as far as I can tell, but so far his VM is more complete.
- Bert -
On 18/04/07, Bert Freudenberg bert@freudenbergs.de wrote:
If any, it's a "reverse fork" - the Unix and Mac VMs used to have nothing in common (except for the interpreter of course). Only because Apple switched to Unix was it possible to make the Unix VM work on Mac OS X. And actually I think there was a third Mac VM that's not maintained anymore, which was completely in Objective C/ Cocoa.
OK
You're welcome to work on the Grand Unified Mac VM. John's latest work already went in that direction as far as I can tell, but so far his VM is more complete.
Indeed that's something I'd like to do but don't expect results any time soon as I have to learn the C tools first :)
On 17-Apr-07, at 12:00 PM, Mathieu Suen wrote:
You can't fix it to avoid them to be compiled on a Mac?
Of course not - they're *useful* on Mac OS. Why would we want to not use them just to make it convenient to build a generic-unix vm instead?
It's not obvious to choose unix when you run Mac OS
How could I make it any other way? It seems a very reasonable thing to assume that when running on platform X you are very likely to want to generate VM code to suit platform X; frankly it surprises me that we can manage to generate generic-unix sources at all. I suspect it only works for unix-on-OSX because they had to work out ways of handling line-ends etc. Try doing the same on Windows and then compiling - I'd hazard a guess (I'm absolutely not going to attempt it myself since I refuse to have anything to do with Windows) that you won't get anywhere. Has anyone tried it? Any success?
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: DC: Divide and Conquer
On Tue, Apr 17, 2007 at 12:51:51PM -0700, tim Rowledge wrote:
On 17-Apr-07, at 12:00 PM, Mathieu Suen wrote:
You can't fix it to avoid them to be compiled on a Mac?
Of course not - they're *useful* on Mac OS. Why would we want to not use them just to make it convenient to build a generic-unix vm instead?
It's not directly related, but don't forget this tiny patch on Mantis:
0005403: Allow VMMaker cross-generation of plugin source for platform-dependent plugins
Dave
vm-dev@lists.squeakfoundation.org