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. |
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 |
In reply to this post by Ian Piumarta-2
is there a working MIDIPlugin now ?
regards, Stef |
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 - |
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 |
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 |
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 - |
>> 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 |
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 |
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 |
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, readlink.c (3K) Download Attachment |
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 > > > > |
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 >> >> >> > |
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 |
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. 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 |
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 |
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 > > > |
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 |
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 |
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. |
Free forum by Nabble | Edit this page |