<!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 (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 <btc@openinworld.com></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/^.*=> \([^ ]*\).*/\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 <<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>> wrote: <br>> <br>> Hi Ben, <br>> <br>> 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>> <br>> On Fri, May 20, 2016 at 8:54 PM, Ben Coman <<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>> wrote: <br>>> <br>>> <br>>> On Sat, May 21, 2016 at 4:44 AM, Clément Bera <<a href="mailto:bera.clement@gmail.com" target="_blank">bera.clement@gmail.com</a>> wrote: <br>>> > <br>>> > On Fri, May 20, 2016 at 7:29 PM, Ben Coman <<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>> wrote: <br>>> >> <br>>> >> I've decided to try and get the simulator working for the first <br>>> >> time this weekend. Its been interesting poking through the VM with <br>>> >> gdb, but its not "exactly" fun. <br>>> > <br>>> > <br>>> > Normally if you build a cog development image: <br>>> > $ 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>>> > $ cd ./image <br>>> > $ ./buildsqueaktrunkvmmakerimage.sh <br>>> <br>>> I'm sure I've built successfully from there before, but right now I'm <br>>> getting and error.. <br>>> cogspurlinuxht/squeak trunk50.image UpdateSqueakTrunkImage.st <br>>> Can't infer base LD_LIBRARY_PATH. Aborting. Try adding a line for <br>>> /lib/i386-linux-gnu/i686/nosegneg/libc.so.6 to cogspurlinuxht/squeak. <br>>> Please report your edit to squeak vm-dev. <br>>> <br>>> cogspurlinuxht/squeak SpurVMMaker.image BuildSqueakSpurTrunkVMMakerImage.st <br>>> Can't infer base LD_LIBRARY_PATH. Aborting. Try adding a line for <br>>> /lib/i386-linux-gnu/i686/nosegneg/libc.so.6 to cogspurlinuxht/squeak. <br>>> Please report your edit to squeak vm-dev. <br>>> <br>>> I'm in the process of tracking that down, but just reporting in case <br>>> there is a known quick fix. btw, I'm on Debian Jessie <br>>> Linux dom0 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt20-1+deb8u3 <br>>> (2016-01-17) i686 GNU/Linux <br>>> <br>>> cheers -ben <br>>> <br>>> > <br>>> > 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>> <br>> <br>> <br>> <br>> -- <br>> _,,,^..^,,,_ <br>> best, Eliot <br>> <br></div></blockquote><br></div><br></div></body></html>