Re: [Pharo-users] Pharo 6 snap install

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Pharo 6 snap install

alistairgrant
On Sun, Apr 16, 2017 at 11:21:48PM +0800, Ben Coman wrote:
> On Sun, Apr 16, 2017 at 10:50 PM, Alistair Grant <[hidden email]> wrote:
> >
> > Do you know how the linux zero conf scripts are / will be built?
> >
> > My assumption has been that they are part of the image build.
>
> I'm not familiar with the zero-conf implementation.
> You might learn something here...
> https://github.com/pharo-project/pharo-zeroconf

Thanks.  This looks like it provides the download scripts and CONFIG for
the threaded vm, but not the pharo and pharo-ui scripts that actually
launch Pharo.

I'll have to keep searching... :-)

Thanks again,
Alistair


Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Pharo 6 snap install

Luke Gorrie
In reply to this post by K K Subbu
On 17 April 2017 at 10:37, K K Subbu <[hidden email]> wrote:
You can use the attached magic file with file(1) command:

 file -m magic <image files> ...

to detect the image type. or register the patterns with binfmt_misc to match the vm to the image type automatically.

Thanks for this!


Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Pharo 6 snap install

Luke Gorrie
In reply to this post by alistairgrant
Success!

I'm now running the Pharo 5.0, Pharo 6.0, and Moose 6.1 images without a hitch.

Some hero has even fixed the libcairo name lookup issue in the Moose image. Now it's searching LD_LIBRARY_PATH and so I have added every shared library there in the wrapper script.

I decided to manually write the SCCS version information directly in the package definition and update that with sed. This is the part that I need to maintain manually now:

pharo-spur = pharo-vm-build rec {
  name = "pharo-vm-${version}";
  version = "git.${revision}";
  binary-basename = "pharo-vm";
  src = fetchFromGitHub {
    owner = "pharo-project";
    repo = "pharo-vm";
    rev = revision;
    sha256 = "114ydx015i8sg4xwy1hkb7vwkcxl93h5vqz4bry46x2gnvsay7yh";
  };
  # metadata compiled into the image:
  revision = "1c38b03fb043a2962f30f080db5b1292b5b7badb";
  sourceDate = "Wed Apr 12 19:25:16 2017 +0200";
};

I will close my PR on the pharo-vm repo too because I ended up packaging the upstream source as-is without depending on any of those changes.

Have to think about what's left... tidy up, test with the pharo-launcher image, test on OSX, push to nix upstream... something like that.

Thanks for all the help !!

Cheers,
-Luke


Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Pharo 6 snap install

Ben Coman
Hi Luke,

On Mon, Apr 17, 2017 at 9:50 PM, Luke Gorrie <[hidden email]> wrote:
Success!

I'm now running the Pharo 5.0, Pharo 6.0, and Moose 6.1 images without a hitch.

Some hero has even fixed the libcairo name lookup issue in the Moose image. Now it's searching LD_LIBRARY_PATH and so I have added every shared library there in the wrapper script.

I decided to manually write the SCCS version information directly in the package definition and update that with sed. This is the part that I need to maintain manually now:

pharo-spur = pharo-vm-build rec {
  name = "pharo-vm-${version}";
  version = "git.${revision}";
  binary-basename = "pharo-vm";
  src = fetchFromGitHub {
    owner = "pharo-project";
    repo = "pharo-vm";
    rev = revision;
    sha256 = "114ydx015i8sg4xwy1hkb7vwkcxl93h5vqz4bry46x2gnvsay7yh";
  };
  # metadata compiled into the image:
  revision = "1c38b03fb043a2962f30f080db5b1292b5b7badb";
  sourceDate = "Wed Apr 12 19:25:16 2017 +0200";
};

I will close my PR on the pharo-vm repo too because I ended up packaging the upstream source as-is without depending on any of those changes.

Have to think about what's left... tidy up, test with the pharo-launcher image, test on OSX, push to nix upstream... something like that.

Thanks for all the help !!

Cheers,
-Luke



Great to hear of your success.  I was just in the middle of composing the following when your post popped up for me.

Some of the points you raise actually would have been best discussed on the vm-dev [1] mail list.
I'm going to post some follow up questions there and you may want to listen in.

Also, since much of the vm level stuff is shared with Squeak, it would be good for them 
to benefit from knowing of your solution.  Could you post a summary at vm-dev?


cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Pharo 6 snap install

David T. Lewis
In reply to this post by Luke Gorrie
On Mon, Apr 17, 2017 at 09:34:53AM +0200, Luke Gorrie wrote:

> On 17 April 2017 at 07:50, Alistair Grant <[hidden email]> wrote:
>
> > Yes, 32 bit VM will only work with 32 bit images, and 64 bit VM with 64
> > bit images.
> >
>
> I wonder if some DWIM would make sense here. For example, my bash wrapper
> that starts the VM could inspect the image file and decide which VM is
> appropriate (spur, non-spur, 32-it, 64-bit, etc.) Otherwise the user needs
> to guess and decipher cryptic error messages.
>
> Has anybody made such a "DWIM" script that automatically selects the right
> VM? Would love a link to use for reference.
>

http://lists.squeakfoundation.org/pipermail/vm-dev/2017-April/024751.html

Dave

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Pharo 6 snap install

Eliot Miranda-2
In reply to this post by EstebanLM


On Sat, Apr 15, 2017 at 5:45 AM, Esteban Lorenzano <[hidden email]> wrote:
this belongs to pharo-dev, please continue there :)

It should also have been cc'ed to vm-dev.  It is mostly about VM related issues.

On 15 Apr 2017, at 14:25, Alistair Grant <[hidden email]> wrote:

On Sat, Apr 15, 2017 at 02:14:26PM +0200, Luke Gorrie wrote:
On 15 April 2017 at 11:53, Alistair Grant <[hidden email]> wrote:

   (actually, I'm not sure why you're bothering since 6 should
   be out before the end of the month, but that's your choice :-)).


I just want something stable and reasonably modern for running existing
applications and building new ones.

If that means waiting for Pharo 6.0 release then that is okay with me.


   The (V6) linux install relies on a number of bash scripts to launch pharo
   (bin/pharo, bin/pharo-ui and bin/pharo-vm/pharo).  How are you producing
   these, or are you doing something else?


Here is where those scripts are generated in the existing pharo-vm packaging:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/pharo/vm/
build-vm.nix#L50-L70

Ahh, so Nix is doing its own thing, not using the ZeroConf scripts.


(I didn't write the nix packaging code but I have volunteered to maintain it so
if it's out of date then I should fix that.)

It will be for V6.  Esteban has changed the scripts to ensure that Pharo
versions of libraries are loaded (from memory)(this is also partly why I
would like to use the full build process).


   git clone https://github.com/pharo-project/pharo-vm.git
   git checkout <the stable code...>
   cd pharo-vm/opensmalltalk-vm/build.linux64x64/pharo.cog.spur/build
   ./mvm
   --

   BTW: HEAD is currently eaf13db484ac87720d8454e66b5ce92f51c01036, and my
   experience is that it is significantly less stable than the latest
   binary, which is from 1c38b03fb043a2962f30f080db5b1292b5b7badb


This is really the bleeding edge :-) both of those commits were pushed within
the past three days!

Yep, V6 is still in testing. :-)

Cheers,
Alistair




--
_,,,^..^,,,_
best, Eliot
12