Hey, I am looking into changing my deployment from pharo-vm.git to OpensmalltalkVM and as my CI is now crashing and has the notorious FreeType2 backtrace (seems the display is set to 0x0 and then ...) I might have a look but that brings me to the point of how can I take a VM, make a bugfix and ship it/use it. With pharo-vm I was able to take the commit of the release, load the mc/ directory, make fixes, generate code[1], compile it and ship it but I struggle to do the same with Opensmalltalk VM. Given a version statement like: Pharo VM version: 5.0-201803161038 Fri Mar 16 10:46:55 UTC 2018 gcc 4.8 [Production Spur VM] Built from: CoInterpreter VMMaker.oscog-eem.2359 uuid: b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018 With: StackToRegisterMappingCogit VMMaker.oscog-eem.2359 uuid: b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018 Revision: VM: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Fri Mar 16 11:38:09 2018 +0100 $ Plugins: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Build host: Linux travis-job-29216682-8f27-4f97-a3e7-e3bc246f0137 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 i686 i686 i686 GNU/Linux plugin path: /mnt/build/vm/lib/pharo/5.0-201803161038 [default: /mnt/build/vm/lib/pharo/5.0-201803161038/] How do I find the git commit this was built from? How do I load an image with the matching sources? I am sorry if I missed this from the documentation. holger [1] Yeah with Slang signed can go to unsigned or vice versa and funny things will happen |
Hi Holger, On 19 March 2018 at 14:26, Holger Freyther <[hidden email]> wrote: > > Hey, > > I am looking into changing my deployment from pharo-vm.git to OpensmalltalkVM and as my CI is now crashing and has the notorious FreeType2 backtrace (seems the display is set to 0x0 and then ...) I might have a look but that brings me to the point of how can I take a VM, make a bugfix and ship it/use it. > > With pharo-vm I was able to take the commit of the release, load the mc/ directory, make fixes, generate code[1], compile it and ship it but I struggle to do the same with Opensmalltalk VM. > > Given a version statement like: > > Pharo VM version: 5.0-201803161038 Fri Mar 16 10:46:55 UTC 2018 gcc 4.8 [Production Spur VM] > Built from: CoInterpreter VMMaker.oscog-eem.2359 uuid: b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018 > With: StackToRegisterMappingCogit VMMaker.oscog-eem.2359 uuid: b3273e3e-dd9d-4819-a928-7034e1cf412c Mar 16 2018 > Revision: VM: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Fri Mar 16 11:38:09 2018 +0100 $ > Plugins: 201803161038 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ > Build host: Linux travis-job-29216682-8f27-4f97-a3e7-e3bc246f0137 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 i686 i686 i686 GNU/Linux > plugin path: /mnt/build/vm/lib/pharo/5.0-201803161038 [default: /mnt/build/vm/lib/pharo/5.0-201803161038/] > > How do I find the git commit this was built from? Copying the appropriate text from the version info above: $ Date: Fri Mar 16 11:38:09 2018 +0100 $ $ git log | grep -B 3 "Fri Mar 16 11:38:09 2018 +0100" commit 2a67895d1c4b51cbfba77469c0c696b8b16cf104 Author: clementbera <[hidden email]> Date: Fri Mar 16 11:38:09 2018 +0100 See also: scripts/checkoutVMbyDate > > How do I load an image with the matching sources? I'm not sure I understand the question. But I think the answer you are looking for is that you need to load the matching version of VMMaker in to squeak. image/buildspurtrunkvmmakerimage.sh will generate the latest image. Cheers, Alistair > I am sorry if I missed this from the documentation. > > holger > > > > [1] Yeah with Slang signed can go to unsigned or vice versa and funny things will happen |
On Mon, Mar 19, 2018 at 2:49 PM, Alistair Grant <[hidden email]> wrote:
image/ Yes, the script image/ CoInterpreter VMMaker.oscog-eem.2359 which is the version you have a problem with. This is the easiest way.
|
> On 19. Mar 2018, at 14:39, Clément Bera <[hidden email]> wrote: > > Copying the appropriate text from the version info above: > > $ Date: Fri Mar 16 11:38:09 2018 +0100 $ > > > $ git log | grep -B 3 "Fri Mar 16 11:38:09 2018 +0100" This is one way but it can break once cherry-pick'ing is used (e.g. to maintain a branch). What was the reason not to use a commit number in the binary? This would uniquely identify it (as the sha1 depends on all parents). > I'm not sure I understand the question. But I think the answer you > are looking for is that you need to load the matching version of > VMMaker in to squeak. > image/buildspurtrunkvmmakerimage.sh > > Yes, the script image/buildspurtrunkvmmakerimage.sh gets you a working VM+image with VMMaker installed and then in Monticello you can load back > > CoInterpreter VMMaker.oscog-eem.2359 > > which is the version you have a problem with. This is the easiest way. Right. But then one has to do it for every plugin as well? In the case of pharo-vm the mc/ directory has 35 plugins in it. To me this doesn't sound like a very pleasant thing to do? What alternatives are there? Could the .mcz be copied somewhere (not necessarily to git)? Have links from UUID to URL of the package? holger |
Free forum by Nabble | Edit this page |