<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>This may be relevant if you are on a 64 bit Ubuntu machine ..<br><br>IIRC 64 bit Ubuntu puts its 32 bit libs in /usr/lib32&nbsp; (its 64 bit libs are in /usr/lib)<br><br><br>Slackware 64 reverses the Ubuntu convention and puts its 32 bit libs in /usr/lib and the 64 bit libs in /usr/lib64<br><br><br>hth<br><br>tty<br><br><br><br><br><br><div class="zmail_extra"><div id="1"><br>---- On Sun, 22 May 2016 10:11:53 -0400 <b>Ben Coman &lt;btc@openinworld.com&gt;</b> wrote ---- <br></div><blockquote style="border-left: 1px solid #0000FF;padding-left: 6px; margin: 0 0 0 5px"><div> (btw, Actually I am running ./buildspurtrunkvmmakerimage.sh) <br> <br>So I found that ./buildspurtrunkvmmakerimage.sh <br>creates directory cogspurlinuxht <br>containing shell script 'squeak' <br>which for LD_LIBRARY_PATH hard codes eight alternative libc locations. <br>But after reformatting (see attached) a pattern is apparent such that <br>the following generic substitution seems appropriate (and worked for <br>me)... <br> <br>LIBC_SO="`/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed <br>'s/^.*=&gt; \([^ ]*\).*/\1/'`" <br>LIB=`expr "$LIBC_SO" : '\(.*\)/libc.*'` <br>if [ "$LIB" = "" ]; then <br>        echo ERROR: Could not determine libc path for VM <br>        exit 1 <br>fi <br>SVMLLP="$LIB:/lib:/usr$LIB:/usr/lib" <br>LD_LIBRARY_PATH="$PLUGINS:$SVMLLP:${LD_LIBRARY_PATH}" exec $GDB <br>"$BIN/squeak" "$@" <br> <br>except for /lib , /lib32 and /lib64 which substitute as... <br>SVMLLP="$LIB:/usr$LIB" <br> <br>Now I read [1] "The standard paths [/lib and /usr/lib] will still be <br>searched, but only after the list of paths in LD_LIBRARY_PATH has been <br>exhausted." So I wonder what is the advantage of interleaving the <br>standard paths with $LIB ones ?   If /lib and /usr/lib could just be <br>left to be "searched anyway" at the end, the the above snippet seems <br>to cover all existing cases - and likely new cases without change. <br> <br>[1] <a href="http://wiredrevolution.com/system-administration/how-to-correctly-use-ld_library_path" target="_blank">http://wiredrevolution.com/system-administration/how-to-correctly-use-ld_library_path</a> <br> <br>cheers -ben <br> <br>On Sun, May 22, 2016 at 2:16 AM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt; wrote: <br>&gt; <br>&gt; Hi Ben, <br>&gt; <br>&gt;    just be sure to post your augmentation of the script back here so the scripts can be updated in svn-soon-to-be-github. <br>&gt; <br>&gt; On Fri, May 20, 2016 at 8:54 PM, Ben Coman &lt;<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>&gt; wrote: <br>&gt;&gt; <br>&gt;&gt; <br>&gt;&gt; On Sat, May 21, 2016 at 4:44 AM, ClĂ©ment Bera &lt;<a href="mailto:bera.clement@gmail.com" target="_blank">bera.clement@gmail.com</a>&gt; wrote: <br>&gt;&gt; &gt; <br>&gt;&gt; &gt; On Fri, May 20, 2016 at 7:29 PM, Ben Coman &lt;<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>&gt; wrote: <br>&gt;&gt; &gt;&gt; <br>&gt;&gt; &gt;&gt; I've decided to try and get the simulator working for the first <br>&gt;&gt; &gt;&gt; time this weekend.  Its been interesting poking through the VM with <br>&gt;&gt; &gt;&gt; gdb, but its not "exactly" fun. <br>&gt;&gt; &gt; <br>&gt;&gt; &gt; <br>&gt;&gt; &gt; Normally if you build a cog development image: <br>&gt;&gt; &gt; $ svn co <a href="http://www.squeakvm.org/svn/squeak/branches/Cog/image" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog/image</a> <br>&gt;&gt; &gt; $ cd ./image <br>&gt;&gt; &gt; $ ./buildsqueaktrunkvmmakerimage.sh <br>&gt;&gt; <br>&gt;&gt; I'm sure I've built successfully from there before, but right now I'm <br>&gt;&gt; getting and error.. <br>&gt;&gt;   cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st <br>&gt;&gt;   Can't infer base LD_LIBRARY_PATH. Aborting. Try adding a line for <br>&gt;&gt; /lib/i386-linux-gnu/i686/nosegneg/libc.so.6 to cogspurlinuxht/squeak. <br>&gt;&gt; Please report your edit to squeak vm-dev. <br>&gt;&gt; <br>&gt;&gt;   cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st <br>&gt;&gt;   Can't infer base LD_LIBRARY_PATH. Aborting. Try adding a line for <br>&gt;&gt; /lib/i386-linux-gnu/i686/nosegneg/libc.so.6 to cogspurlinuxht/squeak. <br>&gt;&gt; Please report your edit to squeak vm-dev. <br>&gt;&gt; <br>&gt;&gt; I'm in the process of tracking that down, but just reporting in case <br>&gt;&gt; there is a known quick fix.  btw, I'm on Debian Jessie <br>&gt;&gt; Linux dom0 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt20-1+deb8u3 <br>&gt;&gt; (2016-01-17) i686 GNU/Linux <br>&gt;&gt; <br>&gt;&gt; cheers -ben <br>&gt;&gt; <br>&gt;&gt; &gt; <br>&gt;&gt; &gt; You have multiple scripts available with comments to run the simulator that work out of the box. It should take a couple minutes to get it working. Then the easiest is to simulate a REPL image to easily debug what you want. <br>&gt; <br>&gt; <br>&gt; <br>&gt; <br>&gt; -- <br>&gt; _,,,^..^,,,_ <br>&gt; best, Eliot <br>&gt; <br></div></blockquote><br></div><br></div></body></html>