Hi bruno

Welcome. Do not hesitate to ask questions.

Stef

On Fri, Aug 11, 2017 at 4:49 PM, Esteban Lorenzano <esteba...@gmail.com> wrote:
>
> On 11 Aug 2017, at 12:08, Bruno Durin <bruno.du...@gmail.com> wrote:
>
> Hi,
>
> I have been tinkering with Pharo and Squeak for a few weeks and I am very
> enthusiastic with these great pieces of software! I would like to ask
> questions to check my understanding. I am refering from time to time to
> Squeak as it runs on the same VM as Pharo but my questions are focused on
> Pharo.
>
> As an exercice to learn, I am trying to compile Pharo VMs and get the VM
> simulator run in a Pharo image (first a 32-bit image+VM and later a 64-bit
> image+VM).
> I am doing this both under Ubuntu 14.04 LTS and Mac OS X 10.12.6.
> What I succeeded in doing:
> - compiling the squeak and pharo VM using the state of their respective git
> repo as of about 20 July 2017: on Mac both 32 and 64 bits, on Linux only 64
> bits (mainly because I did not want to spend the time to fix the 32-bit
> libraries which do not coexist well with their 64-bit counterparts)
> - on Mac, generating the VM development image (SpurVMMaker) for Squeak on
> top a (32 bits) V5 image, launch it and run the VM simulator,
> - on Mac, generating the VM development image (generator.image) for Pharo on
> top of a (32 bits) V5 image, launch it and starting to run a CogVMSimulator
> (which currently fails, but I am debugging it and learning along the way.)
>
> So, my questions:
> 1) About the Pharo VM compilation (Below "the" Pharo VM means the official
> VMs that are published on the Pharo website but if VM developers use a
> different process between 2 releases I would be happy to know the
> differences.)
> a) is it correct that the Pharo VM is built using the github pharo-vm
> repository?
>
>
> yes and no.
> - the officially distributed pharo-vm is built on
> opensmalltalk/opensmalltalk-vm and published into our servers.
> - we keep pharo-vm (in which opensmalltalk-vm is a subtree) repo as a
> CI/testing platform (that produces the “nightly-built” VMs from
> files.pharo.org/vm/nigthtly-builds), but this is used just for testing
> results, etc. the VMs that people should use are produced in the main
> repository.
>
>
> b) in the pharo-vm tree, is it correct that "build" and "results"
> directories are remnant of the build process before Pharo reunited with
> Squeak on opensmalltalk vm and that the builder classes in the
> generator.image (PharoVMSpur32Builder and co) do not create the build.sh
> script in the "build" directory any more.
>
>
> yes.
>
> c) is it correct that the Pharo VM is now built with the pharo.cog.spur (for
> example) make process in the various build sub-directories of the
> "opensmalltalk-vm" directory?
>
>
> yes.
>
> 2) When running a Pharo VM compiled on Mac, the GUI was noticeably slower
> that the official VM downloaded from pharo.org. (I compared running the
> official image.) I did not see such slow down when compiling a Squeak VM. My
> educated guess is that it is related to libcairo and dependencies. Are there
> compiler optimisations that I should have manually added? Should I generate
> a XCode project with cmake and compile in XCode (I currently use ./mvm make
> script)? I have not had this problem under Linux.
>
>
> no. I have no idea why you have a slower UI but
> - it is not related to cairo since standard pharo does not use it (just
> athens does)
> - you should not need to do anything manually (besides executing ./mvm -f)
> - you do not need to generate an Xcode project either…
>
> 3) On Mac, is the difference between having the plugins as Mach-O bundle in
> Squeak and as dylib libraries in Pharo only a packaging choice or does it
> have deeper implications? (Does it change for example the way FFI is done?)
>
>
> it's just a packaging choice.
>
> 4) Do I understand well that currently the simplest way to convert a 32-bit
> image to a 64-bit one is to use Spur32to64BitBootstrap class in a VM
> development image? (As far as I understand, the other way is to use
> SystemTracer.)
>
>
> yes.
> I don’t even know if it is *possible* with system tracer right now :)
>
> A remark: when manually compiling a Pharo VM in the pharo-vm repo following
> Eliot's instructions, the updateSCCSVersions script does not work (because
> it is one level down with respect to the top of the git tree as compared to
> the opensmalltalk-vm repository). I eventually understood that the correct
> build procedure is in the travis scripts but as I do not know well the CI
> tools, it took a long time before I thought of looking into these scripts.
> If pharo-vm is used to build the Pharo VM (see question 1.a) I think it
> would be good to update the build process in README.md in pharo-vm tree (and
> I can do it).
>
>
> yes, that’s right :)
>
> cheers,
> Esteban
>
>
> Thanks,
> Bruno
>
>
>

Reply via email to