[squeak-dev] 3.11.3.2135 for Unix

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

[squeak-dev] 3.11.3.2135 for Unix

Ian Piumarta-2
Dear Unix Squeakers,

3.11.3.2135 for Unix is now available at squeakvm.org/unix (sources  
plus binaries for MacOS/Darwin, Linux, NetBSD, FreeBSD and Solaris,  
on Intel and, occasionally, PowerPC hardware).  Some important stuff  
has changed in this release (see notes below) so please consider it a  
BETA release even though there is no beta tag on the version number.

As usual: comments, suggestions, bug fixes (as whole files please  
*not* diffs) and any unwanted vinyl LPs sitting in your attic can be  
sent directly to me.  Thanks.

Enjoy!
Ian


Changes since 3.10-6:

Numbering scheme changed to X.Y.Z.R where X.Y.Z = VMMaker version used
to generate the Interpreter and R is the subversion revision of the
platform support code.

VMMaker and plugins updated to most recent versions; generated source
regenerated:

   Balloon3D-Plugins-ar.4.mcz
   DBus-Plugin-bf.32.mcz
   GStreamer-Plugins-JMM.16.mcz
   Kedama-Plugins-yo.1.mcz
   Rome-Plugin-yo.39.mcz
   OSProcessPlugin-dtl.16.mcz
   VMConstruction-Plugins-AioPlugin-dtl.9.mcz
   VMConstruction-Plugins-XDisplayControlPlugin-dtl.7.mcz
   VMMaker-dtl.138.mcz

Build system rewritten using CMake instead of autotools.  Big
THANK-YOU to Bert, Subbu and Dave Lewis for providing invaluable
feedback.

Any plugin can now be turned off in configure with the option
'--without-<pluginName>'.

Experimental PulseAudio driver (vm-sound-pulse) added, thanks to Derek
O'Connell.  Default is still OSS on Linux; if you want pulse you have
to ask for it in one of the usual ways.

FFI tweaked on Linux to avoid a potential FPU stack overflow.

ClipboardExtendedPlugin will no longer try to build if you don't have
X11 development headers and libs.

FileCopyPlugin made resilient to EINTR.

VM renamed to 'squeakvm'.  'squeak' is now a script that looks for
'squeakvm', figures out if you need any obscure command-line options,
and then launches 'squeakvm' for you.  This in turn allows...

Plugin search stretegy rationalised and simplified.  Default location
is now the executable directory (where 'squeakvm' is installed).  The
-plugins argument can be a colon-separated list of locations to
search, just like PATH.  Plugins are named 'so.plugin' to make
interference with FFI libraries less likely.

   NOTE: FFI libraries are no longer searched for in every single nook
   and cranny, which means you might have to set LD_LIBRARY_PATH (or
   your local equivalent) for FFI-based programs to work properly.

Failure to load a plugin because of unresolved symbols is now always
reported on the terminal.

Another script 'squeak.sh' is provided for launching squeak from a
menu.  This isn't finished and suggestions are welcome.

Default path and text encoding is now UTF-8.

X11 driver no longer reports SHIFT pressed when CAPS LOCK engaged.

SerialPlugin now supports named ports.

All occurences of dprintf() renamed to avoid a name conflict with a
less-than-stellar decision by POSIX to introduce a standard function
of the same name.

RomePlugin is no longer built if cairo was built without Pango
support.

iconv_open() no longer spams you with thousands of error messages if
you are missing conversion tables.

Valid unicode characters that have no corresponding keycode are
reported with keycode zero to avoid an invalid index error in the
image.

XImmPlugin should now work on MacOS X/Darwin too.

Sound driver on MacOS X now works on Intel as well as PowerPC.

Various changes to make the VM compile and run on GNU/Linux running on
DEC Alpha.

vm-sound-Sun now uses asynchronous i/o.

Various changes to fix compilation on Solaris.


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Damien Cassou-3
Dear Ian,

On Thu, Sep 17, 2009 at 4:36 AM, Ian Piumarta <[hidden email]> wrote:
> 3.11.3.2135 for Unix is now available at squeakvm.org/unix (sources plus
> binaries for MacOS/Darwin, Linux, NetBSD, FreeBSD and Solaris, on Intel and,
> occasionally, PowerPC hardware).  Some important stuff has changed in this
> release (see notes below) so please consider it a BETA release even though
> there is no beta tag on the version number.
>
> As usual: comments, suggestions, bug fixes (as whole files please *not*
> diffs) and any unwanted vinyl LPs sitting in your attic can be sent directly
> to me.  Thanks.

thank you very much for your work on the VM. Compilation worked fine.
I have a problem however. I added 'set -xv' to see what's happening.
>From the bld directory:

$ ./squeak -version
bindir=/home/cassou/Documents/squeak/vm/Squeak-3.11.3.2135-src/bld
plgdir=/home/cassou/Documents/squeak/vm/Squeak-3.11.3.2135-src/lib/squeak/3.11.3-2135
vm=/home/cassou/Documents/squeak/vm/Squeak-3.11.3.2135-src/bld/squeakvm
plugins=/home/cassou/Documents/squeak/vm/Squeak-3.11.3.2135-src/bld/%n
pulseaudio --check
sound=-vm-sound-oss
padsp true
wrapper=padsp
test -z /home/cassou/Documents/squeak/vm/Squeak-3.11.3.2135-src/bld/%n
set -x
exec padsp /home/cassou/Documents/squeak/vm/Squeak-3.11.3.2135-src/bld/squeakvm
-pathenc UTF-8 -encoding UTF-8 -plugins
/home/cassou/Documents/squeak/vm/Squeak-3.11.3.2135-src/bld/%n
-vm-sound-oss -version
could not find module vm-sound-OSS
Aborted


What is this %n added to $plugins?
Why does the script tries to use OSS when it was explicitly
deactivated by configure?
!! vm-sound-OSS disabled

Thank you

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Stéphane Rollandin
In reply to this post by Ian Piumarta-2
is there a working MIDIPlugin now ?

regards,

Stef



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Bert Freudenberg

On 17.09.2009, at 11:34, Stéphane Rollandin wrote:

> is there a working MIDIPlugin now ?


There is some ALSA MIDI support I think.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Ian Piumarta-2
In reply to this post by Damien Cassou-3
Hi Damien,

> What is this %n added to $plugins?

The %n is replaced with the name of the plugin when the VM tries to  
load it.  If the VM is run wth "-plugins $PWD/bld/%n" then when it  
tries to load "vm-sound-OSS" it will look for the file "$PWD/bld/vm-
sound-OSS/so.vm-sound-OSS".  Running out of the build directory is  
the real motivation behind the feature.

> Why does the script tries to use OSS when it was explicitly  
> deactivated by configure?

Because I failed to anticipate that situation.  I think it's fixed in  
the trunk now.  It would be very helpful if you would update and  
recompile and let me know what still doesn't work.

Thanks!
Ian


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Markus Lampert
In reply to this post by Ian Piumarta-2
Hi Ian,

Two minor comments:

I've attached a modified version of the script squeak which allows for symbolic links to be resolved correctly (line 12-14). I've also changed 'error' in line 37 to 'echo ...> /dev/stderr', error doesn't exist on my Debian machine.

If you start the VM with an image and it can't find the SqueakV39.sources it will pop up a confirmation box saying the sources file does not exist in the 'VM directory'. Creating a symlink to the sources file in the VM directory does not quite resolve the problem. A menu is brought up on startup saying that SqueakV39.sources does not exist giving several options of choosing another name and so on. It seems the VM expects SqueakV39.sources to be in the same directory as the image file, not the VM itself (doesn't make a big difference but the dialog box is misleading).


Great work; seems more responsive than 3.10-6; can't wait to get home and try out the new serial port ....

Have fun,
Markus



----- Original Message ----
From: Ian Piumarta <[hidden email]>
To: The general-purpose Squeak developers list <[hidden email]>
Sent: Wednesday, September 16, 2009 7:36:01 PM
Subject: [squeak-dev] 3.11.3.2135 for Unix

Dear Unix Squeakers,

3.11.3.2135 for Unix is now available at squeakvm.org/unix (sources plus binaries for MacOS/Darwin, Linux, NetBSD, FreeBSD and Solaris, on Intel and, occasionally, PowerPC hardware).  Some important stuff has changed in this release (see notes below) so please consider it a BETA release even though there is no beta tag on the version number.

As usual: comments, suggestions, bug fixes (as whole files please *not* diffs) and any unwanted vinyl LPs sitting in your attic can be sent directly to me.  Thanks.

Enjoy!
Ian


Changes since 3.10-6:

Numbering scheme changed to X.Y.Z.R where X.Y.Z = VMMaker version used
to generate the Interpreter and R is the subversion revision of the
platform support code.

VMMaker and plugins updated to most recent versions; generated source
regenerated:

  Balloon3D-Plugins-ar.4.mcz
  DBus-Plugin-bf.32.mcz
  GStreamer-Plugins-JMM.16.mcz
  Kedama-Plugins-yo.1.mcz
  Rome-Plugin-yo.39.mcz
  OSProcessPlugin-dtl.16.mcz
  VMConstruction-Plugins-AioPlugin-dtl.9.mcz
  VMConstruction-Plugins-XDisplayControlPlugin-dtl.7.mcz
  VMMaker-dtl.138.mcz

Build system rewritten using CMake instead of autotools.  Big
THANK-YOU to Bert, Subbu and Dave Lewis for providing invaluable
feedback.

Any plugin can now be turned off in configure with the option
'--without-<pluginName>'.

Experimental PulseAudio driver (vm-sound-pulse) added, thanks to Derek
O'Connell.  Default is still OSS on Linux; if you want pulse you have
to ask for it in one of the usual ways.

FFI tweaked on Linux to avoid a potential FPU stack overflow.

ClipboardExtendedPlugin will no longer try to build if you don't have
X11 development headers and libs.

FileCopyPlugin made resilient to EINTR.

VM renamed to 'squeakvm'.  'squeak' is now a script that looks for
'squeakvm', figures out if you need any obscure command-line options,
and then launches 'squeakvm' for you.  This in turn allows...

Plugin search stretegy rationalised and simplified.  Default location
is now the executable directory (where 'squeakvm' is installed).  The
-plugins argument can be a colon-separated list of locations to
search, just like PATH.  Plugins are named 'so.plugin' to make
interference with FFI libraries less likely.

  NOTE: FFI libraries are no longer searched for in every single nook
  and cranny, which means you might have to set LD_LIBRARY_PATH (or
  your local equivalent) for FFI-based programs to work properly.

Failure to load a plugin because of unresolved symbols is now always
reported on the terminal.

Another script 'squeak.sh' is provided for launching squeak from a
menu.  This isn't finished and suggestions are welcome.

Default path and text encoding is now UTF-8.

X11 driver no longer reports SHIFT pressed when CAPS LOCK engaged.

SerialPlugin now supports named ports.

All occurences of dprintf() renamed to avoid a name conflict with a
less-than-stellar decision by POSIX to introduce a standard function
of the same name.

RomePlugin is no longer built if cairo was built without Pango
support.

iconv_open() no longer spams you with thousands of error messages if
you are missing conversion tables.

Valid unicode characters that have no corresponding keycode are
reported with keycode zero to avoid an invalid index error in the
image.

XImmPlugin should now work on MacOS X/Darwin too.

Sound driver on MacOS X now works on Intel as well as PowerPC.

Various changes to make the VM compile and run on GNU/Linux running on
DEC Alpha.

vm-sound-Sun now uses asynchronous i/o.

Various changes to fix compilation on Solaris.

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 


squeak (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Bert Freudenberg

On 17.09.2009, at 21:02, Markus Lampert wrote:

>
> If you start the VM with an image and it can't find the  
> SqueakV39.sources it will pop up a confirmation box saying the  
> sources file does not exist in the 'VM directory'. Creating a  
> symlink to the sources file in the VM directory does not quite  
> resolve the problem. A menu is brought up on startup saying that  
> SqueakV39.sources does not exist giving several options of choosing  
> another name and so on. It seems the VM expects SqueakV39.sources to  
> be in the same directory as the image file, not the VM itself  
> (doesn't make a big difference but the dialog box is misleading).


This has nothing to do with the VM, the image is looking for the  
sources.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Markus Lampert
>> If you start the VM with an image and it can't find the SqueakV39.sources it will pop up a confirmation box saying the sources file does not exist in the 'VM directory'. Creating a symlink to the sources file in the VM directory does not quite resolve the problem. A menu is brought up on startup saying that SqueakV39.sources does not exist giving several options of choosing another name and so on. It seems the VM expects SqueakV39.sources to be in the same directory as the image file, not the VM itself (doesn't make a big difference but the dialog box is misleading).
>
>
>This has nothing to do with the VM, the image is looking for the sources.

Interesting, using the same image (trunk about 1 week old) with the 3.10-6 vm it expects the sources in the vm directory. May the difference in behaviour be related to resolving symbolic links?

Have fun,
Markus

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Markus Lampert
To clarify, my setup looks like this:

/home/mlampert/.squeak/          ... images and changes
   vms       ... all VMs I have installed
     Squeak-3.10-6/...
     Squeak-3.11.3.2135-linux_i386/...
   vm-3.10-6 -> vms/Squeak-3.10-6/i686-pc-linux-gnu/usr/local/lib/squeak/3.10-6/
   vm-3.11.3 -> vms/Squeak-3.11.3.2135-linux_i386/bin
   vm -> vm-3.11.3    .... (or -> vm-3.10.6)

Additionally I added a symlink 'vms/Squeak-3.10-6/SqueakV39.sources -> /usr/lib/squeak/SqueakV39.sources'. So far vm pointed to vm-3.10-6 and the image found the sources file.

When I added the 3.11.3 vm I added the symlink 'vms/Squeak-3.11.3.2135-linux_i386/lib/SqueakV39.source -> /usr/lib/squeak/SqueakV39.sources'. After pointing vm to vm-3.11.3 I encountered the problems described below. (well, of course I forgot to create the sources symlink initially ...).

Only after creating the symlink '/home/mlampert/.squeak/SqueakV39.sources -> /usr/lib/squeak/SqueakV39.sources' is the trunk image/vm-3.11.3 combination happy.

Have fun,
Markus



----- Original Message ----
From: Markus Lampert <[hidden email]>
To: The general-purpose Squeak developers list <[hidden email]>
Sent: Thursday, September 17, 2009 12:47:13 PM
Subject: Re: [squeak-dev] 3.11.3.2135 for Unix

>> If you start the VM with an image and it can't find the SqueakV39.sources it will pop up a confirmation box saying the sources file does not exist in the 'VM directory'. Creating a symlink to the sources file in the VM directory does not quite resolve the problem. A menu is brought up on startup saying that SqueakV39.sources does not exist giving several options of choosing another name and so on. It seems the VM expects SqueakV39.sources to be in the same directory as the image file, not the VM itself (doesn't make a big difference but the dialog box is misleading).
>
>
>This has nothing to do with the VM, the image is looking for the sources.

Interesting, using the same image (trunk about 1 week old) with the 3.10-6 vm it expects the sources in the vm directory. May the difference in behaviour be related to resolving symbolic links?

Have fun,
Markus


     

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Ian Piumarta-2
In reply to this post by Markus Lampert
Hi Markus,

Unfortunately GNU/Linux doesn't agree with the rest of the world  
about the flags (including -f) understood by readlink (and Solaris  
doesn't have it at all) so your suggestion isn't going to work.

How about this instead?

readlink="`which readlink`"
test -x "${readlink}" || readlink=echo

canonic () {(
     cd  "`dirname     \"$1\"`"
     dir="`basename    \"$1\"`"
     cd  "`${readlink} \"${dir}\"`"
     pwd
)}

bindir="`dirname \"$0\"`"
bindir="`canonic \"${bindir}\"`"
prefix="`dirname \"${bindir}\"`"
[...rest of file the same...]

Cheers,
Ian


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Eliot Miranda-2
Hi Ian,

    if it'll help you're welcome to add the attached to Squeak under the MIT license.  I wrote it for my own use years ago and it is all my own work, etc, etc.  Its pretty portable and more flexible than e.g. the Mac OS readlink.

On Thu, Sep 17, 2009 at 1:57 PM, Ian Piumarta <[hidden email]> wrote:
Hi Markus,

Unfortunately GNU/Linux doesn't agree with the rest of the world about the flags (including -f) understood by readlink (and Solaris doesn't have it at all) so your suggestion isn't going to work.

How about this instead?

readlink="`which readlink`"
test -x "${readlink}" || readlink=echo

canonic () {(
   cd  "`dirname     \"$1\"`"
   dir="`basename    \"$1\"`"
   cd  "`${readlink} \"${dir}\"`"
   pwd
)}

bindir="`dirname \"$0\"`"
bindir="`canonic \"${bindir}\"`"
prefix="`dirname \"${bindir}\"`"
[...rest of file the same...]

Cheers,
Ian






readlink.c (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Bert Freudenberg
In reply to this post by Markus Lampert
What I meant is that teh image looks in the image directory too, not  
just the VM dir.

But now that you mention it I remember seeing problems with resolving  
symlinks. Not in this VM but an older one, but under Linux, yes.

- Bert -

On 17.09.2009, at 22:09, Markus Lampert wrote:

> To clarify, my setup looks like this:
>
> /home/mlampert/.squeak/          ... images and changes
>   vms       ... all VMs I have installed
>     Squeak-3.10-6/...
>     Squeak-3.11.3.2135-linux_i386/...
>   vm-3.10-6 -> vms/Squeak-3.10-6/i686-pc-linux-gnu/usr/local/lib/
> squeak/3.10-6/
>   vm-3.11.3 -> vms/Squeak-3.11.3.2135-linux_i386/bin
>   vm -> vm-3.11.3    .... (or -> vm-3.10.6)
>
> Additionally I added a symlink 'vms/Squeak-3.10-6/SqueakV39.sources -
> > /usr/lib/squeak/SqueakV39.sources'. So far vm pointed to vm-3.10-6  
> and the image found the sources file.
>
> When I added the 3.11.3 vm I added the symlink 'vms/
> Squeak-3.11.3.2135-linux_i386/lib/SqueakV39.source -> /usr/lib/
> squeak/SqueakV39.sources'. After pointing vm to vm-3.11.3 I  
> encountered the problems described below. (well, of course I forgot  
> to create the sources symlink initially ...).
>
> Only after creating the symlink '/home/mlampert/.squeak/
> SqueakV39.sources -> /usr/lib/squeak/SqueakV39.sources' is the trunk  
> image/vm-3.11.3 combination happy.
>
> Have fun,
> Markus
>
>
>
> ----- Original Message ----
> From: Markus Lampert <[hidden email]>
> To: The general-purpose Squeak developers list <[hidden email]
> >
> Sent: Thursday, September 17, 2009 12:47:13 PM
> Subject: Re: [squeak-dev] 3.11.3.2135 for Unix
>
>>> If you start the VM with an image and it can't find the  
>>> SqueakV39.sources it will pop up a confirmation box saying the  
>>> sources file does not exist in the 'VM directory'. Creating a  
>>> symlink to the sources file in the VM directory does not quite  
>>> resolve the problem. A menu is brought up on startup saying that  
>>> SqueakV39.sources does not exist giving several options of  
>>> choosing another name and so on. It seems the VM expects  
>>> SqueakV39.sources to be in the same directory as the image file,  
>>> not the VM itself (doesn't make a big difference but the dialog  
>>> box is misleading).
>>
>>
>> This has nothing to do with the VM, the image is looking for the  
>> sources.
>
> Interesting, using the same image (trunk about 1 week old) with the  
> 3.10-6 vm it expects the sources in the vm directory. May the  
> difference in behaviour be related to resolving symbolic links?
>
> Have fun,
> Markus
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Markus Lampert
In reply to this post by Eliot Miranda-2
Ian,

your changes work (for me), if you add the following loop:

...
bindir="`dirname \"$0\"`"
bindir="`canonic \"${bindir}\"`"
while test -L "${bindir}"; do
  bindir="`canonic \"${bindir}\"`"
done
...

The '-L' could also be a '-h'. Unfortunately I only have access to Linux, so I don't know about the portability of this. My problem here seems to be that I have a link to a link ...

Eliot,

tried your implementation and ran into the same problem, it only resolves the first layer. So I guess do_readlink would have to be run in a loop to resolve the whole cascade.

I realize that this is probably not the place for this discussion. Where should I have posted initially?

Have fun,
Markus



>
>From: Eliot Miranda <[hidden email]>
>To: The general-purpose Squeak developers list <[hidden email]>
>Sent: Thursday, September 17, 2009 2:22:04 PM
>Subject: Re: [squeak-dev] 3.11.3.2135 for Unix
>
>Hi Ian,
>
>
>    if it'll help you're welcome to add the attached to Squeak under the MIT license.  I wrote it for my own use years ago and it is all my own work, etc, etc.  Its pretty portable and more flexible than e.g. the Mac OS readlink.
>
>
>On Thu, Sep 17, 2009 at 1:57 PM, Ian Piumarta <[hidden email]> wrote:
>
>>>Hi Markus,
>>
>>>>Unfortunately GNU/Linux doesn't agree with the rest of the world about the flags (including -f) understood by readlink (and Solaris doesn't have it at all) so your suggestion isn't going to work.
>>
>>>>How about this instead?
>>
>>>>readlink="`which readlink`"
>>>>test -x "${readlink}" || readlink=echo
>>
>>>>canonic () {(
>>>>    cd  "`dirname     \"$1\"`"
>>>>    dir="`basename    \"$1\"`"
>>>>    cd  "`${readlink} \"${dir}\"`"
>>>>    pwd
>>>>)}
>>
>>>>bindir="`dirname \"$0\"`"
>>>>bindir="`canonic \"${bindir}\"`"
>>>>prefix="`dirname \"${bindir}\"`"
>>>>[...rest of file the same...]
>>
>>>>Cheers,
>>>>Ian
>>
>>
>>
>


     

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Markus Lampert
In reply to this post by Bert Freudenberg
> From: Bert Freudenberg
>
> What I meant is that teh image looks in the image directory too, not just the VM
> dir.
Makes sense, thanks for the clarification.


> But now that you mention it I remember seeing problems with resolving symlinks.
> Not in this VM but an older one, but under Linux, yes.
If I wanted to look into that and contribute the changes, where and how would I start?

Have fun,
Markus

>
> - Bert -
>
> On 17.09.2009, at 22:09, Markus Lampert wrote:
>
> > To clarify, my setup looks like this:
> >
> > /home/mlampert/.squeak/          ... images and changes
> >   vms       ... all VMs I have installed
> >     Squeak-3.10-6/...
> >     Squeak-3.11.3.2135-linux_i386/...
> >   vm-3.10-6 ->
> vms/Squeak-3.10-6/i686-pc-linux-gnu/usr/local/lib/squeak/3.10-6/
> >   vm-3.11.3 -> vms/Squeak-3.11.3.2135-linux_i386/bin
> >   vm -> vm-3.11.3    .... (or -> vm-3.10.6)
> >
> > Additionally I added a symlink 'vms/Squeak-3.10-6/SqueakV39.sources ->
> /usr/lib/squeak/SqueakV39.sources'. So far vm pointed to vm-3.10-6 and the image
> found the sources file.
> >
> > When I added the 3.11.3 vm I added the symlink
> 'vms/Squeak-3.11.3.2135-linux_i386/lib/SqueakV39.source ->
> /usr/lib/squeak/SqueakV39.sources'. After pointing vm to vm-3.11.3 I encountered
> the problems described below. (well, of course I forgot to create the sources
> symlink initially ...).
> >
> > Only after creating the symlink '/home/mlampert/.squeak/SqueakV39.sources ->
> /usr/lib/squeak/SqueakV39.sources' is the trunk image/vm-3.11.3 combination
> happy.
> >
> > Have fun,
> > Markus
> >
> >
> >
> > ----- Original Message ----
> > From: Markus Lampert
> > To: The general-purpose Squeak developers list
>
> > Sent: Thursday, September 17, 2009 12:47:13 PM
> > Subject: Re: [squeak-dev] 3.11.3.2135 for Unix
> >
> >>> If you start the VM with an image and it can't find the SqueakV39.sources it
> will pop up a confirmation box saying the sources file does not exist in the 'VM
> directory'. Creating a symlink to the sources file in the VM directory does not
> quite resolve the problem. A menu is brought up on startup saying that
> SqueakV39.sources does not exist giving several options of choosing another name
> and so on. It seems the VM expects SqueakV39.sources to be in the same directory
> as the image file, not the VM itself (doesn't make a big difference but the
> dialog box is misleading).
> >>
> >>
> >> This has nothing to do with the VM, the image is looking for the sources.
> >
> > Interesting, using the same image (trunk about 1 week old) with the 3.10-6 vm
> it expects the sources in the vm directory. May the difference in behaviour be
> related to resolving symbolic links?
> >
> > Have fun,
> > Markus
> >
> >
> >
> >


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Eliot Miranda-2
In reply to this post by Markus Lampert
On Thu, Sep 17, 2009 at 7:16 PM, Markus Lampert <[hidden email]> wrote:

>
> Ian,
>
> your changes work (for me), if you add the following loop:
>
> ...
> bindir="`dirname \"$0\"`"
> bindir="`canonic \"${bindir}\"`"
> while test -L "${bindir}"; do
>  bindir="`canonic \"${bindir}\"`"
> done
> ...
>
> The '-L' could also be a '-h'. Unfortunately I only have access to Linux, so I don't know about the portability of this. My problem here seems to be that I have a link to a link ...
>
> Eliot,
>
> tried your implementation and ran into the same problem, it only resolves the first layer. So I guess do_readlink would have to be run in a loop to resolve the whole cascade.
Oops, didn't pay enough attention first time around.  The attached
takes a -f flag to follow links.  Its not bery tested.  It also makes
the -s option more useful, enclosing paths that contain separators and
other characters meaningful to the shell in quotes, but it doesn't
bother to escape embedded quotes correctly.

>
> I realize that this is probably not the place for this discussion. Where should I have posted initially?

The vm discussion list [hidden email].  But no biggie.

>
> Have fun,
> Markus
>
>
>
> >
> >From: Eliot Miranda <[hidden email]>
> >To: The general-purpose Squeak developers list <[hidden email]>
> >Sent: Thursday, September 17, 2009 2:22:04 PM
> >Subject: Re: [squeak-dev] 3.11.3.2135 for Unix
> >
> >Hi Ian,
> >
> >
> >    if it'll help you're welcome to add the attached to Squeak under the MIT license.  I wrote it for my own use years ago and it is all my own work, etc, etc.  Its pretty portable and more flexible than e.g. the Mac OS readlink.
> >
> >
> >On Thu, Sep 17, 2009 at 1:57 PM, Ian Piumarta <[hidden email]> wrote:
> >
> >>>Hi Markus,
> >>
> >>>>Unfortunately GNU/Linux doesn't agree with the rest of the world about the flags (including -f) understood by readlink (and Solaris doesn't have it at all) so your suggestion isn't going to work.
> >>
> >>>>How about this instead?
> >>
> >>>>readlink="`which readlink`"
> >>>>test -x "${readlink}" || readlink=echo
> >>
> >>>>canonic () {(
> >>>>    cd  "`dirname     \"$1\"`"
> >>>>    dir="`basename    \"$1\"`"
> >>>>    cd  "`${readlink} \"${dir}\"`"
> >>>>    pwd
> >>>>)}
> >>
> >>>>bindir="`dirname \"$0\"`"
> >>>>bindir="`canonic \"${bindir}\"`"
> >>>>prefix="`dirname \"${bindir}\"`"
> >>>>[...rest of file the same...]
> >>
> >>>>Cheers,
> >>>>Ian
> >>
> >>
> >>
> >
>
>
>
>



readlink.c (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Ian Piumarta-2
In reply to this post by Markus Lampert
Markus,

> your changes work (for me), if you add the following loop:

Thanks.  I'll adopt this, but put the loop in the canonic() function  
instead.  I think keeping the logic in the script is preferable to  
bundling a binary program whose only purpose is to emulate realpath().

Cheers,
Ian


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Eliot Miranda-2
On Thu, Sep 17, 2009 at 7:44 PM, Ian Piumarta <[hidden email]> wrote:
> Markus,
>
>> your changes work (for me), if you add the following loop:
>
> Thanks.  I'll adopt this, but put the loop in the canonic() function
> instead.  I think keeping the logic in the script is preferable to bundling
> a binary program whose only purpose is to emulate realpath().

I wasn't imagining bundling a binary but was imagining compiling
readlink.c as part of the build process.  But if the script can do
just as well then it's to be preferred.

>
> Cheers,
> Ian
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Ian Piumarta-2
Hi Eliot,

> I wasn't imagining bundling a binary but was imagining compiling
> readlink.c as part of the build process.

Resolving the symlinks has to happen at run time, not at compile or  
install (which might not happen) time.  There's also a catch-22 in  
where such a binary would live: the only reasonable place to put a  
dedicated 'symlink resolver' program would be in the squeak lib dir,  
which cannot be found in Markus's case except by first resolving the  
symlinks.

Cheers,
Ian


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Damien Cassou-3
In reply to this post by Ian Piumarta-2
Hi Ian,

On Thu, Sep 17, 2009 at 7:30 PM, Ian Piumarta <[hidden email]> wrote:
>> Why does the script tries to use OSS when it was explicitly deactivated by
>> configure?
>
> Because I failed to anticipate that situation.  I think it's fixed in the
> trunk now.  It would be very helpful if you would update and recompile and
> let me know what still doesn't work.

the sound problem is now gone and Squeak launches properly. However, I
can't symlink the binary to a path directory:

$ cd /usr/bin
$ ln -sf /home/cassou/.../squeak-svn/bld/squeak
$ cd /path/of/the/image
$ squeak file.image
/usr/bin/squeak: 41: error: not found

The 'error' executable is not found.

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Lambdas are relegated to relative obscurity until Java makes them
popular by not having them." James Iry

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] 3.11.3.2135 for Unix

Ross Boylan
In reply to this post by Markus Lampert
I had some possibly related problems with symlinks (also finding the
sources) under Linux.  This was with pharo-vm-0.15.2d-linux.zip.

Though I ran from a top level directory, squeak seemed
to think it was running in a subdirectory.  The image I ran against was
a symlinked to that subdirectory.

Original setup
proj/sub/x.image
proj/sub/x.changes

Create proj/x.image and proj/x.changes as symlinks to the corresponding
files under sub.
Create proj/SqueakV39.sources as a symlink to the real one.

Invoke squeak from proj/ (squeak executable under proj/sub2/).

This gave me an error that I needed the sources file in the same
directory as my image file.  However, the path it gave was the directory
of the squeak executable.

The cache directory for downloading packages ended up in
proj/sub/cache
and save as saved to proj/sub.
This suggests it may have been looking for sources in proj/sub, where
they weren't, rather than proj/, where they were.

This was with pharo's
http://gforge.inria.fr/frs/download.php/23087/pharo1.0-10440-BETAdev09.09.1.zip and http://gforge.inria.fr/frs/download.php/22745/pharo-vm-0.15.2d-linux.zip.
Both unzipped into subdirectories.  I ran
pharo-vm-0.15.2d-linux/squeak pharo1.0-10418-BETAdev09.08.3.image &

I'm not sure of the ultimate cause of the problems, or the extent to
which it is a vm issue.


12