Hi, I've build trunk revision 2181 (last as time of writing) on Linux, using a PharoCore 1.0 image. Here's the problems I've faced: 1. Make fails. tttables.h not found (Freetype-Plugin-John M McIntosh.55)
Change header in FT2Plugin class>>declareCVarsIn: cg cg addHeaderFile: '<ft2build.h>'. cg addHeaderFile: '<freetype/tttables.h>' <---- this line
..... 2. Deprecation in String>>replaceLastOccurrence: with: (VMMaker-ar168) Change line pos := self findLastOccuranceOfString: oldSubstring startingAt: 1
to pos := self findLastOccurrenceOfString: oldSubstring startingAt: 1 3. VMMaker fails to build MiscPrimitivePlugin as External (VMMaker-ar168) it seems to enter an infine loop while progression shows "Inlining pass 17" So I have not built it.
All Pharo 1.0 RC4 tests green. 1 tinyBenchmarks gives 295 M bytecodes/sec; 6.9 M sends/sec vs rev. 2131 334 M bytecodes/sec; 8.0 M sends/sec (CPU: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz - no CFLAGS option)
Cheers, Laurent Laffont
|
Let me guess, you tried loading VMMaker directly from the repository rather than use the ConfigurationOf...? All the issues mentioned below are Pharo-specific, and handled (ie. Methods are changed etc.) by the metacello configuration. There's been some work to restore VmMaker to a fork-agnostic state, not finished yet though. Check the recent vm-dev archive for details. Cheers, Henry Den 9. apr. 2010 kl. 21.19 skrev laurent laffont <[hidden email] >: > > Hi, > > I've build trunk revision 2181 (last as time of writing) on Linux, > using a PharoCore 1.0 image. Here's the problems I've faced: > > 1. Make fails. tttables.h not found (Freetype-Plugin-John M McIntosh. > 55) > > Change header in FT2Plugin class>>declareCVarsIn: cg > cg addHeaderFile: '<ft2build.h>'. > cg addHeaderFile: '<freetype/tttables.h>' <---- this line > ..... > > > 2. Deprecation in String>>replaceLastOccurrence: with: (VMMaker- > ar168) > Change line > pos := self findLastOccuranceOfString: oldSubstring startingAt: 1 > to > pos := self findLastOccurrenceOfString: oldSubstring startingAt: 1 > > > 3. VMMaker fails to build MiscPrimitivePlugin as External (VMMaker- > ar168) > it seems to enter an infine loop while progression shows "Inlining > pass 17" > So I have not built it. > > All Pharo 1.0 RC4 tests green. > > 1 tinyBenchmarks gives > > 295 M bytecodes/sec; 6.9 M sends/sec > > vs rev. 2131 > > 334 M bytecodes/sec; 8.0 M sends/sec > > (CPU: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz - no CFLAGS option) > > Cheers, > > Laurent Laffont |
Oops, make that issue 2 and 3. Den 9. apr. 2010 kl. 23.50 skrev Henrik Johansen <[hidden email] >: > All the issues mentioned below are Pharo-specific, and handled (ie. > Methods are changed etc.) by the metacello configuration. |
Yes, please use the ConfigurationOfVMMaker, and also notice the post do it method: fixVMMakerForPharo I think that's the magic. Cheers Mariano On Sat, Apr 10, 2010 at 12:22 AM, Henrik Johansen <[hidden email]> wrote:
|
I've used ConfigurationOfVMMaker 1.2 but after I've updated VMMaker package only. trunk doesn't compile with VMMaker-dtl.157. Maybe it's time for version ConfigurationOfVMMaker 1.3 ? I was not aware of fixVMMakerForPharo. Thanks.
Laurent Laffont On Sat, Apr 10, 2010 at 1:07 AM, Mariano Martinez Peck <[hidden email]> wrote:
|
On Sat, Apr 10, 2010 at 08:03:41AM +0200, laurent laffont wrote: > > I've used ConfigurationOfVMMaker 1.2 but after I've updated VMMaker package > only. trunk doesn't compile with VMMaker-dtl.157. Maybe it's time for > version ConfigurationOfVMMaker 1.3 ? In general, if you are building a VM with the latest version of platform code from Subversion, then you would also want to use the latest version of VMMaker from SqueakSource. I am not very familiar with Metacello configurations, but I would say that it either needs an update to 1.3, or better would be to just have Metacello always use the latest version. Is there a way to do that? Dave |
On Sat, Apr 10, 2010 at 3:49 PM, David T. Lewis <[hidden email]> wrote:
Yes, load the baseline. In metacello when you do not specify a versio, it loads the last one. There is a entry in Metacello FAQ about that. But it should be: (ConfigurationOfVMMaker project version: 'baselinexxx') load
|
In reply to this post by David T. Lewis
Hi david the problem with always loading the latest is that you end up having difficulty to load a given version of the past. Here you have only a limited of source entities to sync but as soon as you waht to have a couple of package it does not really scale. This is why metacello is good like that we could in 3 years from now build again a system for 1.0. do you tag the svn with the version of VMMaker (or the inverse) so that at least we can trace it? Stef > > On Sat, Apr 10, 2010 at 08:03:41AM +0200, laurent laffont wrote: >> >> I've used ConfigurationOfVMMaker 1.2 but after I've updated VMMaker package >> only. trunk doesn't compile with VMMaker-dtl.157. Maybe it's time for >> version ConfigurationOfVMMaker 1.3 ? > > In general, if you are building a VM with the latest version of platform > code from Subversion, then you would also want to use the latest version > of VMMaker from SqueakSource. I am not very familiar with Metacello > configurations, but I would say that it either needs an update to 1.3, > or better would be to just have Metacello always use the latest version. > Is there a way to do that? > > Dave > |
Stef, On Apr 10, 2010, at 12:28 PM, stephane ducasse wrote: > do you tag the svn with the version of VMMaker (or the inverse) so > that at least we can trace it? The version numbering for Unix is X.Y.Z.V where X.Y.Z is the version of VMMaker and Z is the subversion revision of platforms/unix/ ChangeLog. I always commit ChangeLog last when there is a set of changes, and I always use a log entry suggesting there might be a VM versioned after the revision created by that particular commit. HTH. Cheers, Ian |
In reply to this post by stephane ducasse-2
On 4/10/2010 12:28 PM, stephane ducasse wrote: > the problem with always loading the latest is that you end up having difficulty > to load a given version of the past. Here you have only a limited of source entities to sync > but as soon as you waht to have a couple of package it does not really scale. That's why David said "in general". Yes, we're aware of that. It's why we've always had file releases. If you want to rebuild precisely some version of the VM you fetch the appropriate file release. > This is why metacello is good like that we could in 3 years from now build again > a system for 1.0. Metacello does not help with that. What David was pointing out that if people pull from head, then they need to do it consistently. Assuming that a head version of SVN works with an old version that someone stuck into Metacello is futile. Cheers, - Andreas >> On Sat, Apr 10, 2010 at 08:03:41AM +0200, laurent laffont wrote: >>> >>> I've used ConfigurationOfVMMaker 1.2 but after I've updated VMMaker package >>> only. trunk doesn't compile with VMMaker-dtl.157. Maybe it's time for >>> version ConfigurationOfVMMaker 1.3 ? >> >> In general, if you are building a VM with the latest version of platform >> code from Subversion, then you would also want to use the latest version >> of VMMaker from SqueakSource. I am not very familiar with Metacello >> configurations, but I would say that it either needs an update to 1.3, >> or better would be to just have Metacello always use the latest version. >> Is there a way to do that? >> >> Dave >> > |
In reply to this post by Ian Piumarta
CONTENTS DELETED
The author has deleted this message.
|
Yes! On Apr 11, 2010, at 10:31 AM, Hilaire Fernandes wrote: > Ian Piumarta a écrit : >> Stef, >> On Apr 10, 2010, at 12:28 PM, stephane ducasse wrote: >>> do you tag the svn with the version of VMMaker (or the inverse) so that at least we can trace it? >> The version numbering for Unix is X.Y.Z.V where X.Y.Z is the version of VMMaker and Z is the subversion revision of platforms/unix/ChangeLog. I always commit ChangeLog last when there is a set of changes, and I always use a log entry suggesting there might be a VM versioned after the revision created by that particular commit. > > Ah, this is neat. > > Hilaire > |
Again issues compiling in Fedora. 1) To compile Balloon3D it is necessary to include -lGL directive during linking phase 2) To compile MIDI plugin it is necessary to include -lkmid directive during linking phase Although: I was not able to find suitable libraries to link against destroyManualSurface, primitiveCreateManualSurface createManualSurface primitiveSetManualSurfacePointer and debugf [casimiro@localhost bld]$ gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1 -Wl,--hash-style=sysv -o squeak disabledPlugins.o version.o -Wl,--export-dynamic vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AsynchFilePlugin/AsynchFilePlugin.a B3DAcceleratorPlugin/B3DAcceleratorPlugin.a Squeak3D/Squeak3D.a BMPReadWriterPlugin/BMPReadWriterPlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a CroquetPlugin/CroquetPlugin.a DSAPrims/DSAPrims.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a SqueakFFIPrims/SqueakFFIPrims.a FFTPlugin/FFTPlugin.a FileCopyPlugin/FileCopyPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a GeniePlugin/GeniePlugin.a HostWindowPlugin/HostWindowPlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JoystickTabletPlugin/JoystickTabletPlugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a LocalePlugin/LocalePlugin.a MIDIPlugin/MIDIPlugin.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 -lutil -ldl -lGL -lkmid -lm -lnsl vm/vm.a -Wl,--rpath -Wl,/usr/local/lib SqueakFFIPrims/SqueakFFIPrims.a(SqueakFFIPrims.o): In function `primitiveDestroyManualSurface': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/src/vm/intplugins/SqueakFFIPrims/SqueakFFIPrims.c:2434: undefined reference to `destroyManualSurface' SqueakFFIPrims/SqueakFFIPrims.a(SqueakFFIPrims.o): In function `primitiveCreateManualSurface': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/src/vm/intplugins/SqueakFFIPrims/SqueakFFIPrims.c:2411: undefined reference to `createManualSurface' SqueakFFIPrims/SqueakFFIPrims.a(SqueakFFIPrims.o): In function `primitiveSetManualSurfacePointer': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/src/vm/intplugins/SqueakFFIPrims/SqueakFFIPrims.c:2818: undefined reference to `setManualSurfacePointer' SqueakFFIPrims/SqueakFFIPrims.a(SqueakFFIPrims.o): In function `initialiseModule': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/src/vm/intplugins/SqueakFFIPrims/SqueakFFIPrims.c:2075: undefined reference to `initSurfacePluginFunctionPointers' MIDIPlugin/MIDIPlugin.a(sqUnixMIDI.o): In function `performMIDICmd': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc:504: undefined reference to `debugf' /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc:499: undefined reference to `debugf' MIDIPlugin/MIDIPlugin.a(sqUnixMIDI.o): In function `midiShutdown': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc:486: undefined reference to `debugf' MIDIPlugin/MIDIPlugin.a(sqUnixMIDI.o): In function `sqMIDIPortReadInto': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc:409: undefined reference to `debugf' MIDIPlugin/MIDIPlugin.a(sqUnixMIDI.o): In function `sqMIDIGetPortCount': /home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc:199: undefined reference to `debugf' MIDIPlugin/MIDIPlugin.a(sqUnixMIDI.o):/home/casimiro/Softwares/squeak/squeak-svn/platforms/unix/plugins/MIDIPlugin/sqUnixMIDIALSA.inc:187: more undefined references to `debugf' follow collect2: ld returned 1 exit status signature.asc (269 bytes) Download Attachment |
In reply to this post by Mariano Martinez Peck
Here's attached ConfigurationOfVMMaker with version 1.3 which: - fix FreeType plugin - set VMMaker package to version. 168.
But reading this thread I'm not sure this is the best thing to do. Should I put it in Metacello repository ? Laurent Laffont On Sat, Apr 10, 2010 at 8:54 PM, Mariano Martinez Peck <[hidden email]> wrote:
ConfigurationOfVMMaker-LaurentLaffont.8.mcz (10K) Download Attachment |
In reply to this post by CdAB63
On Apr 11, 2010, at 10:13 AM, Casimiro de Almeida Barreto wrote: > I was not able to find suitable libraries to link against > destroyManualSurface, primitiveCreateManualSurface > createManualSurface primitiveSetManualSurfacePointer These are undefined in my build too, and are not supplied by any other plugin nor by the statically-linked VM. Does anyone know where these are supposed to come from? > debugf Try adding #include "debug.h" to the top of sqUnixMIDIALSA.inc. Thanks! Ian |
On Apr 11, 2010, at 11:44 AM, Ian Piumarta wrote: >> I was not able to find suitable libraries to link against >> destroyManualSurface, primitiveCreateManualSurface >> createManualSurface primitiveSetManualSurfacePointer > > These are undefined in my build too, and are not supplied by any > other plugin nor by the statically-linked VM. Does anyone know > where these are supposed to come from? More precisely: the primitive* versions are there but refer to the destroy* and create* functions which are nowhere to be found. |
In reply to this post by Ian Piumarta
sqManualSurface.c On 2010-04-11, at 11:44 AM, Ian Piumarta wrote: > On Apr 11, 2010, at 10:13 AM, Casimiro de Almeida Barreto wrote: > >> I was not able to find suitable libraries to link against destroyManualSurface, primitiveCreateManualSurface createManualSurface primitiveSetManualSurfacePointer > > These are undefined in my build too, and are not supplied by any other plugin nor by the statically-linked VM. Does anyone know where these are supposed to come from? > >> debugf > > Try adding > > #include "debug.h" > > to the top of sqUnixMIDIALSA.inc. > > Thanks! > Ian > =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== smime.p7s (3K) Download Attachment |
In reply to this post by Ian Piumarta
On 4/11/2010 11:44 AM, Ian Piumarta wrote: > On Apr 11, 2010, at 10:13 AM, Casimiro de Almeida Barreto wrote: > >> I was not able to find suitable libraries to link against >> destroyManualSurface, primitiveCreateManualSurface createManualSurface >> primitiveSetManualSurfacePointer > > These are undefined in my build too, and are not supplied by any other > plugin nor by the statically-linked VM. Does anyone know where these are > supposed to come from? platforms/Cross/plugins/SqueakFFIPrims/sqManualSurface.c Cheers, - Andreas |
In reply to this post by laurent laffont
On Sun, Apr 11, 2010 at 8:24 PM, laurent laffont <[hidden email]> wrote:
I think that yes. check the blessing. Is it a release or development ? Laurent Laffont |
In reply to this post by laurent laffont
On Sun, Apr 11, 2010 at 08:24:06PM +0200, laurent laffont wrote: > On Sat, Apr 10, 2010 at 8:54 PM, Mariano Martinez Peck <[hidden email]> wrote: > > On Sat, Apr 10, 2010 at 3:49 PM, David T. Lewis <[hidden email]>wrote: > >> On Sat, Apr 10, 2010 at 08:03:41AM +0200, laurent laffont wrote: > >> > > >> > I've used ConfigurationOfVMMaker 1.2 but after I've updated VMMaker > >> package > >> > only. trunk doesn't compile with VMMaker-dtl.157. Maybe it's time for > >> > version ConfigurationOfVMMaker 1.3 ? > >> > >> In general, if you are building a VM with the latest version of platform > >> code from Subversion, then you would also want to use the latest version > >> of VMMaker from SqueakSource. I am not very familiar with Metacello > >> configurations, but I would say that it either needs an update to 1.3, > >> or better would be to just have Metacello always use the latest version. > >> Is there a way to do that? > > > > Yes, load the baseline. In metacello when you do not specify a versio, it > > loads the last one. > > There is a entry in Metacello FAQ about that. But it should be: > > (ConfigurationOfVMMaker project version: 'baselinexxx') load > > Here's attached ConfigurationOfVMMaker with version 1.3 which: > - fix FreeType plugin > - set VMMaker package to version. 168. > But reading this thread I'm not sure this is the best thing to do. Should I > put it in Metacello repository ? Laurent, I would say yes, you should check it in. This will give you a configuration that matches the platforms sources that are being used in the latest round of platform updates. Please set the VMMaker package version to 169 (not 168), as this will bring in the latest changes, and is compatible with the most up to date Subversion sources. I would also recommend that you add a comment either in the code or in the Monticello check-in note, and mention that this configuration is intended to work with Subversion revision level 2188 (plus or minus a little bit). That will give people an indication of what platform version to use a few years from now. As Andreas mentioned, you cannot reliably rebuild a VM by referring only to the Metacello configuration, but that is a separate issue and you are right to make this update. Dave |
Free forum by Nabble | Edit this page |