Hi,
I would need to start a Pharo/Pier image on Debian 6.0.4 from the command line using Cog. I tried to use both the Cog-VM (from Pharo) and the Cog (from Eliot), but none work: - If I run the Cog from Eliot returns "can't infer base LD_LIBRARY_PATH. Aborting." - I could not even get the Pharo Cog to run. Even if the rights for the VM are correct, it still says: "-bash: ./CogVM: No such file or directory" Any hints as to how to proceed? Cheers, Doru -- www.tudorgirba.com "Every thing has its own flow" |
Tudor,
do a ldd on the binary, and see if you have installed all the required libraries for the system At home, i'm using debian squeeze and it works.
cheers
On Thu, Sep 13, 2012 at 3:53 PM, Tudor Girba <[hidden email]> wrote: Hi, Bernardo E.C. |
for instance, on ubuntu maverick and with eliot's vm
~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ls B3DAcceleratorPlugin squeak UnixOSProcessPlugin vm-display-X11
LocalePlugin SqueakFFIPrims UUIDPlugin vm-sound-ALSA PharoV10.sources SqueakV41.sources vm-display-null vm-sound-null ~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ldd squeak
linux-gate.so.1 => (0x00396000) libutil.so.1 => /lib/libutil.so.1 (0x00655000) libdl.so.2 => /lib/libdl.so.2 (0x00987000) libpthread.so.0 => /lib/libpthread.so.0 (0x00373000)
libm.so.6 => /lib/libm.so.6 (0x00e07000) libnsl.so.1 => /lib/libnsl.so.1 (0x00d73000) libc.so.6 => /lib/libc.so.6 (0x00e2f000) /lib/ld-linux.so.2 (0x0084a000)
or $ ldd vm-display-X11 linux-gate.so.1 => (0x008e2000) libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00901000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00537000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x00518000) libICE.so.6 => /usr/lib/libICE.so.6 (0x007ec000) libdl.so.2 => /lib/libdl.so.2 (0x0075e000) libpthread.so.0 => /lib/libpthread.so.0 (0x00110000)
libm.so.6 => /lib/libm.so.6 (0x0012a000) libnsl.so.1 => /lib/libnsl.so.1 (0x00c90000) libX11.so.6 => /usr/lib/libX11.so.6 (0x005cd000) libc.so.6 => /lib/libc.so.6 (0x00150000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x002ad000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00c0e000) libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x002b1000)
libdrm.so.2 => /lib/libdrm.so.2 (0x00d6e000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0036d000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002b7000) libuuid.so.1 => /lib/libuuid.so.1 (0x00719000)
/lib/ld-linux.so.2 (0x0034f000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x002d3000) librt.so.1 => /lib/librt.so.1 (0x002ed000) libXau.so.6 => /usr/lib/libXau.so.6 (0x002f6000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x002fa000) On Thu, Sep 13, 2012 at 4:05 PM, Bernardo Ezequiel Contreras <[hidden email]> wrote: Tudor, Bernardo E.C. |
Hi,
Thanks for the suggestion. I do not know exactly what it means, but I tried and the output does not look like yours (see below). Any idea what "not a dynamic executable" means? lib/squeak/4.0-2585# ls B3DAcceleratorPlugin SqueakFFIPrims squeak vm-display-null vm-sound-null BochsIA32Plugin UUIDPlugin vm-display-X11 vm-sound-ALSA LocalePlugin UnixOSProcessPlugin vm-display-fbdev vm-sound-OSS lib/squeak/4.0-2585# ldd squeak not a dynamic executable lib/squeak/4.0-2585# ldd vm-display-X11 not a dynamic executable lib/squeak/4.0-2585# ls -al total 9468 drwxr-xr-x 2 root root 4096 Sep 12 21:51 . drwxr-xr-x 3 root root 4096 Sep 12 21:51 .. -rwxr-xr-x 1 root root 144996 Sep 12 21:51 B3DAcceleratorPlugin -rwxr-xr-x 1 root root 5376041 Sep 12 21:51 BochsIA32Plugin -rwxr-xr-x 1 root root 31714 Sep 12 21:51 LocalePlugin -rwxr-xr-x 1 root root 77720 Sep 12 21:51 SqueakFFIPrims -rwxr-xr-x 1 root root 19617 Sep 12 21:51 UUIDPlugin -rwxr-xr-x 1 root root 90561 Sep 12 21:51 UnixOSProcessPlugin -rwxr-xr-x 1 root root 3408704 Sep 12 21:51 squeak -rwxr-xr-x 1 root root 235076 Sep 12 21:51 vm-display-X11 -rwxr-xr-x 1 root root 94225 Sep 12 21:51 vm-display-fbdev -rwxr-xr-x 1 root root 27549 Sep 12 21:51 vm-display-null -rwxr-xr-x 1 root root 42045 Sep 12 21:51 vm-sound-ALSA -rwxr-xr-x 1 root root 56587 Sep 12 21:51 vm-sound-OSS -rwxr-xr-x 1 root root 13377 Sep 12 21:51 vm-sound-null Cheers, Doru On Thu, Sep 13, 2012 at 9:14 PM, Bernardo Ezequiel Contreras <[hidden email]> wrote: > for instance, on ubuntu maverick and with eliot's vm > > ~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ls > B3DAcceleratorPlugin squeak UnixOSProcessPlugin vm-display-X11 > LocalePlugin SqueakFFIPrims UUIDPlugin vm-sound-ALSA > PharoV10.sources SqueakV41.sources vm-display-null vm-sound-null > ~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ldd squeak > linux-gate.so.1 => (0x00396000) > libutil.so.1 => /lib/libutil.so.1 (0x00655000) > libdl.so.2 => /lib/libdl.so.2 (0x00987000) > libpthread.so.0 => /lib/libpthread.so.0 (0x00373000) > libm.so.6 => /lib/libm.so.6 (0x00e07000) > libnsl.so.1 => /lib/libnsl.so.1 (0x00d73000) > libc.so.6 => /lib/libc.so.6 (0x00e2f000) > /lib/ld-linux.so.2 (0x0084a000) > or > $ ldd vm-display-X11 > linux-gate.so.1 => (0x008e2000) > libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00901000) > libXext.so.6 => /usr/lib/libXext.so.6 (0x00537000) > libSM.so.6 => /usr/lib/libSM.so.6 (0x00518000) > libICE.so.6 => /usr/lib/libICE.so.6 (0x007ec000) > libdl.so.2 => /lib/libdl.so.2 (0x0075e000) > libpthread.so.0 => /lib/libpthread.so.0 (0x00110000) > libm.so.6 => /lib/libm.so.6 (0x0012a000) > libnsl.so.1 => /lib/libnsl.so.1 (0x00c90000) > libX11.so.6 => /usr/lib/libX11.so.6 (0x005cd000) > libc.so.6 => /lib/libc.so.6 (0x00150000) > libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x002ad000) > libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00c0e000) > libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x002b1000) > libdrm.so.2 => /lib/libdrm.so.2 (0x00d6e000) > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0036d000) > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002b7000) > libuuid.so.1 => /lib/libuuid.so.1 (0x00719000) > /lib/ld-linux.so.2 (0x0034f000) > libxcb.so.1 => /usr/lib/libxcb.so.1 (0x002d3000) > librt.so.1 => /lib/librt.so.1 (0x002ed000) > libXau.so.6 => /usr/lib/libXau.so.6 (0x002f6000) > libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x002fa000) > > > > cheers > > On Thu, Sep 13, 2012 at 4:05 PM, Bernardo Ezequiel Contreras > <[hidden email]> wrote: >> >> Tudor, >> do a ldd on the binary, and see if you have installed all the required >> libraries for the system >> http://linux.die.net/man/1/ldd >> >> At home, i'm using debian squeeze and it works. >> >> cheers >> >> >> On Thu, Sep 13, 2012 at 3:53 PM, Tudor Girba <[hidden email]> wrote: >>> >>> Hi, >>> >>> I would need to start a Pharo/Pier image on Debian 6.0.4 from the >>> command line using Cog. I tried to use both the Cog-VM (from Pharo) >>> and the Cog (from Eliot), but none work: >>> >>> - If I run the Cog from Eliot returns >>> "can't infer base LD_LIBRARY_PATH. Aborting." >>> >>> - I could not even get the Pharo Cog to run. Even if the rights for >>> the VM are correct, it still says: >>> "-bash: ./CogVM: No such file or directory" >>> >>> Any hints as to how to proceed? >>> >>> Cheers, >>> Doru >>> >>> -- >>> www.tudorgirba.com >>> >>> "Every thing has its own flow" >>> >> >> >> >> -- >> Bernardo E.C. > > > > > -- > Bernardo E.C. -- www.tudorgirba.com "Every thing has its own flow" |
In reply to this post by Tudor Girba-2
On Thu, Sep 13, 2012 at 11:53 AM, Tudor Girba <[hidden email]> wrote: Hi, look at the part of the script that determines LD_LIBRARY_PATH and extend it suitably. then let me know how you augmented it. this is the case that works out which directories to include, where SVMLLP stands for squeak vm ld library path.:
# On some linuxes there multiple versions of the C library. If the image uses# libc (e.g. through the FFI) then it must use the same version that the VM uses # and so it should take precedence over /lib libc. This is done by setting
# LD_LIBRARY_PATH appropriately, based on ldd's idea of the libc use by the VM. case `/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed 's/^.*=> //'` in /lib/libc*) SVMLLP="/lib:/usr/lib";;
/lib32/libc*) SVMLLP="/lib32:/usr/lib32";; /lib64/libc*) SVMLLP="/lib64:/usr/lib64";;
/lib/tls/libc*) SVMLLP="/lib/tls:/lib:/usr/lib/tls:/usr/lib";; /lib/i386-linux-gnu/libc*) \
SVMLLP="/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu";; /lib/tls/i686/cmov/libc*) \
SVMLLP="/lib/tls/i686/cmov:/lib:/usr/lib/tls/i686/cmov:/usr/lib";; /lib/tls/i686/nosegneg/libc*) \
SVMLLP="/lib/i686/nosegneg/tls:/lib:/usr/lib/i686/nosegneg/tls:/usr/lib";; *) echo "can't infer base LD_LIBRARY_PATH. Aborting." 1>&2;
exit 1 esac
best, Eliot |
Tudor,
32 bits or 64 bits?
On Thu, Sep 13, 2012 at 4:25 PM, Eliot Miranda <[hidden email]> wrote:
Bernardo E.C. |
Hi,
It looks like it's 64: If I do: uname -m => x86_64 Cheers, Doru On Thu, Sep 13, 2012 at 9:53 PM, Bernardo Ezequiel Contreras <[hidden email]> wrote: > Tudor, > 32 bits or 64 bits? > > > On Thu, Sep 13, 2012 at 4:25 PM, Eliot Miranda <[hidden email]> > wrote: >> >> >> >> On Thu, Sep 13, 2012 at 11:53 AM, Tudor Girba <[hidden email]> >> wrote: >>> >>> Hi, >>> >>> I would need to start a Pharo/Pier image on Debian 6.0.4 from the >>> command line using Cog. I tried to use both the Cog-VM (from Pharo) >>> and the Cog (from Eliot), but none work: >>> >>> - If I run the Cog from Eliot returns >>> "can't infer base LD_LIBRARY_PATH. Aborting." >> >> >> look at the part of the script that determines LD_LIBRARY_PATH and extend >> it suitably. then let me know how you augmented it. this is the case that >> works out which directories to include, where SVMLLP stands for squeak vm ld >> library path.: >> >> >> # On some linuxes there multiple versions of the C library. If the image >> uses# libc (e.g. through the FFI) then it must use the same version that the >> VM uses >> # and so it should take precedence over /lib libc. This is done by >> setting >> # LD_LIBRARY_PATH appropriately, based on ldd's idea of the libc use by >> the VM. >> case `/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed 's/^.*=> //'` >> in >> /lib/libc*) SVMLLP="/lib:/usr/lib";; >> /lib32/libc*) SVMLLP="/lib32:/usr/lib32";; >> /lib64/libc*) SVMLLP="/lib64:/usr/lib64";; >> /lib/tls/libc*) SVMLLP="/lib/tls:/lib:/usr/lib/tls:/usr/lib";; >> /lib/i386-linux-gnu/libc*) \ >> SVMLLP="/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu";; >> /lib/tls/i686/cmov/libc*) \ >> SVMLLP="/lib/tls/i686/cmov:/lib:/usr/lib/tls/i686/cmov:/usr/lib";; >> /lib/tls/i686/nosegneg/libc*) \ >> SVMLLP="/lib/i686/nosegneg/tls:/lib:/usr/lib/i686/nosegneg/tls:/usr/lib";; >> *) echo "can't infer base LD_LIBRARY_PATH. Aborting." 1>&2; >> exit 1 >> esac >> >> >>> >>> - I could not even get the Pharo Cog to run. Even if the rights for >>> the VM are correct, it still says: >>> "-bash: ./CogVM: No such file or directory" >>> >>> Any hints as to how to proceed? >>> >>> Cheers, >>> Doru >>> >>> -- >>> www.tudorgirba.com >>> >>> "Every thing has its own flow" >>> >> >> >> >> -- >> best, >> Eliot >> > > > > -- > Bernardo E.C. -- www.tudorgirba.com "Every thing has its own flow" |
do you have installed the 32 bits libraries?
for instance
On Thu, Sep 13, 2012 at 5:04 PM, Tudor Girba <[hidden email]> wrote: Hi, Bernardo E.C. |
On 64bit Ubuntu (derived from Debian) I installed the 32bit libraries with:
sudo aptitude install ia32-libs Then Pharo started fine. On 13 September 2012 21:10, Bernardo Ezequiel Contreras <[hidden email]> wrote: do you have installed the 32 bits libraries? |
In reply to this post by Tudor Girba-2
> "can't infer base LD_LIBRARY_PATH. Aborting."
> > - I could not even get the Pharo Cog to run. Even if the rights for > the VM are correct, it still says: > "-bash: ./CogVM: No such file or directory" Likely you don't have 32bit libraries on 64 bit system. Stupid Linux prints "No such file or directory" when it actually means "No 32bit runtime linker found" :-) Jan > > Any hints as to how to proceed? > > Cheers, > Doru > |
In reply to this post by Tudor Girba-2
On Thu, Sep 13, 2012 at 12:24 PM, Tudor Girba <[hidden email]> wrote: Hi, it means its not recognized by your OS as a valid executable file. So you're out of luck. (Forget my private email). So this OS can't run 32-bit executables built on other linuxes. If you compile hello world with -m32 what does file answer? e.g.
McStalker.oscogvm$ cat >hw.c <<END > int main() { printf("hello world\n"); return 0; } > END McStalker.oscogvm$ cc -o hw -m32 hw.c hw.c: In function 'main':
hw.c:1: warning: incompatible implicit declaration of built-in function 'printf' McStalker.oscogvm$ ./hw hello world McStalker.oscogvm$ file hw hw: Mach-O executable i386
McStalker.oscogvm$ and what does file answer for squeak?
best, Eliot |
On Thu, Sep 13, 2012 at 2:35 PM, Eliot Miranda <[hidden email]> wrote:
also is there any other place ldd lies, e.g. /usr/bin32/ldd? i.e. is there possibly a 32-bit subsystem in a parallel directory hierarchy?
best, Eliot |
In reply to this post by Eliot Miranda-2
Hi,
Thanks for the reply and suggestion. I slept over it and when I woke up I realized that maybe something went wrong with installing ia32-libs. I reinstalled them and now things look fine. I get: lib/squeak/4.0-2585# ldd squeak libutil.so.1 => /lib32/libutil.so.1 (0xb7efe000) libdl.so.2 => /lib32/libdl.so.2 (0xb7efa000) libpthread.so.0 => /lib32/libpthread.so.0 (0xb7ee0000) libm.so.6 => /lib32/libm.so.6 (0xb7eba000) libnsl.so.1 => /lib32/libnsl.so.1 (0xb7ea3000) libc.so.6 => /lib32/libc.so.6 (0xb7d5c000) /lib/ld-linux.so.2 (0xb7f0d000) Cheers, Doru On Thu, Sep 13, 2012 at 11:35 PM, Eliot Miranda <[hidden email]> wrote: > > > On Thu, Sep 13, 2012 at 12:24 PM, Tudor Girba <[hidden email]> wrote: >> >> Hi, >> >> Thanks for the suggestion. I do not know exactly what it means, but I >> tried and the output does not look like yours (see below). Any idea >> what "not a dynamic executable" means? > > > it means its not recognized by your OS as a valid executable file. So > you're out of luck. (Forget my private email). So this OS can't run 32-bit > executables built on other linuxes. If you compile hello world with -m32 > what does file answer? e.g. > > McStalker.oscogvm$ cat >hw.c <<END >> int main() { printf("hello world\n"); return 0; } >> END > McStalker.oscogvm$ cc -o hw -m32 hw.c > hw.c: In function 'main': > hw.c:1: warning: incompatible implicit declaration of built-in function > 'printf' > McStalker.oscogvm$ ./hw > hello world > McStalker.oscogvm$ file hw > hw: Mach-O executable i386 > McStalker.oscogvm$ > > and what does file answer for squeak? >> >> >> lib/squeak/4.0-2585# ls >> B3DAcceleratorPlugin SqueakFFIPrims squeak >> vm-display-null >> vm-sound-null >> BochsIA32Plugin UUIDPlugin vm-display-X11 vm-sound-ALSA >> LocalePlugin UnixOSProcessPlugin vm-display-fbdev vm-sound-OSS >> >> lib/squeak/4.0-2585# ldd squeak >> not a dynamic executable >> >> lib/squeak/4.0-2585# ldd vm-display-X11 >> not a dynamic executable >> >> lib/squeak/4.0-2585# ls -al >> total 9468 >> drwxr-xr-x 2 root root 4096 Sep 12 21:51 . >> drwxr-xr-x 3 root root 4096 Sep 12 21:51 .. >> -rwxr-xr-x 1 root root 144996 Sep 12 21:51 B3DAcceleratorPlugin >> -rwxr-xr-x 1 root root 5376041 Sep 12 21:51 BochsIA32Plugin >> -rwxr-xr-x 1 root root 31714 Sep 12 21:51 LocalePlugin >> -rwxr-xr-x 1 root root 77720 Sep 12 21:51 SqueakFFIPrims >> -rwxr-xr-x 1 root root 19617 Sep 12 21:51 UUIDPlugin >> -rwxr-xr-x 1 root root 90561 Sep 12 21:51 UnixOSProcessPlugin >> -rwxr-xr-x 1 root root 3408704 Sep 12 21:51 squeak >> -rwxr-xr-x 1 root root 235076 Sep 12 21:51 vm-display-X11 >> -rwxr-xr-x 1 root root 94225 Sep 12 21:51 vm-display-fbdev >> -rwxr-xr-x 1 root root 27549 Sep 12 21:51 vm-display-null >> -rwxr-xr-x 1 root root 42045 Sep 12 21:51 vm-sound-ALSA >> -rwxr-xr-x 1 root root 56587 Sep 12 21:51 vm-sound-OSS >> -rwxr-xr-x 1 root root 13377 Sep 12 21:51 vm-sound-null >> >> Cheers, >> Doru >> >> >> On Thu, Sep 13, 2012 at 9:14 PM, Bernardo Ezequiel Contreras >> <[hidden email]> wrote: >> > for instance, on ubuntu maverick and with eliot's vm >> > >> > ~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ls >> > B3DAcceleratorPlugin squeak UnixOSProcessPlugin >> > vm-display-X11 >> > LocalePlugin SqueakFFIPrims UUIDPlugin >> > vm-sound-ALSA >> > PharoV10.sources SqueakV41.sources vm-display-null >> > vm-sound-null >> > ~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ldd squeak >> > linux-gate.so.1 => (0x00396000) >> > libutil.so.1 => /lib/libutil.so.1 (0x00655000) >> > libdl.so.2 => /lib/libdl.so.2 (0x00987000) >> > libpthread.so.0 => /lib/libpthread.so.0 (0x00373000) >> > libm.so.6 => /lib/libm.so.6 (0x00e07000) >> > libnsl.so.1 => /lib/libnsl.so.1 (0x00d73000) >> > libc.so.6 => /lib/libc.so.6 (0x00e2f000) >> > /lib/ld-linux.so.2 (0x0084a000) >> > or >> > $ ldd vm-display-X11 >> > linux-gate.so.1 => (0x008e2000) >> > libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00901000) >> > libXext.so.6 => /usr/lib/libXext.so.6 (0x00537000) >> > libSM.so.6 => /usr/lib/libSM.so.6 (0x00518000) >> > libICE.so.6 => /usr/lib/libICE.so.6 (0x007ec000) >> > libdl.so.2 => /lib/libdl.so.2 (0x0075e000) >> > libpthread.so.0 => /lib/libpthread.so.0 (0x00110000) >> > libm.so.6 => /lib/libm.so.6 (0x0012a000) >> > libnsl.so.1 => /lib/libnsl.so.1 (0x00c90000) >> > libX11.so.6 => /usr/lib/libX11.so.6 (0x005cd000) >> > libc.so.6 => /lib/libc.so.6 (0x00150000) >> > libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x002ad000) >> > libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00c0e000) >> > libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x002b1000) >> > libdrm.so.2 => /lib/libdrm.so.2 (0x00d6e000) >> > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0036d000) >> > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002b7000) >> > libuuid.so.1 => /lib/libuuid.so.1 (0x00719000) >> > /lib/ld-linux.so.2 (0x0034f000) >> > libxcb.so.1 => /usr/lib/libxcb.so.1 (0x002d3000) >> > librt.so.1 => /lib/librt.so.1 (0x002ed000) >> > libXau.so.6 => /usr/lib/libXau.so.6 (0x002f6000) >> > libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x002fa000) >> > >> > >> > >> > cheers >> > >> > On Thu, Sep 13, 2012 at 4:05 PM, Bernardo Ezequiel Contreras >> > <[hidden email]> wrote: >> >> >> >> Tudor, >> >> do a ldd on the binary, and see if you have installed all the >> >> required >> >> libraries for the system >> >> http://linux.die.net/man/1/ldd >> >> >> >> At home, i'm using debian squeeze and it works. >> >> >> >> cheers >> >> >> >> >> >> On Thu, Sep 13, 2012 at 3:53 PM, Tudor Girba <[hidden email]> >> >> wrote: >> >>> >> >>> Hi, >> >>> >> >>> I would need to start a Pharo/Pier image on Debian 6.0.4 from the >> >>> command line using Cog. I tried to use both the Cog-VM (from Pharo) >> >>> and the Cog (from Eliot), but none work: >> >>> >> >>> - If I run the Cog from Eliot returns >> >>> "can't infer base LD_LIBRARY_PATH. Aborting." >> >>> >> >>> - I could not even get the Pharo Cog to run. Even if the rights for >> >>> the VM are correct, it still says: >> >>> "-bash: ./CogVM: No such file or directory" >> >>> >> >>> Any hints as to how to proceed? >> >>> >> >>> Cheers, >> >>> Doru >> >>> >> >>> -- >> >>> www.tudorgirba.com >> >>> >> >>> "Every thing has its own flow" >> >>> >> >> >> >> >> >> >> >> -- >> >> Bernardo E.C. >> > >> > >> > >> > >> > -- >> > Bernardo E.C. >> >> >> >> -- >> www.tudorgirba.com >> >> "Every thing has its own flow" >> > > > > -- > best, > Eliot > -- www.tudorgirba.com "Every thing has its own flow" |
In reply to this post by Nick
Indeed, I thought I did that once. Doing it the second time seems to
have done the trick :) Doru On Thu, Sep 13, 2012 at 10:16 PM, Nick Ager <[hidden email]> wrote: > On 64bit Ubuntu (derived from Debian) I installed the 32bit libraries with: > > sudo aptitude install ia32-libs > > Then Pharo started fine. > > On 13 September 2012 21:10, Bernardo Ezequiel Contreras > <[hidden email]> wrote: >> >> do you have installed the 32 bits libraries? >> for instance >> http://packages.debian.org/squeeze/ia32-libs >> >> >> >> On Thu, Sep 13, 2012 at 5:04 PM, Tudor Girba <[hidden email]> wrote: >>> >>> Hi, >>> >>> It looks like it's 64: >>> >>> If I do: >>> uname -m => x86_64 >>> >>> Cheers, >>> Doru >>> >>> >>> On Thu, Sep 13, 2012 at 9:53 PM, Bernardo Ezequiel Contreras >>> <[hidden email]> wrote: >>> > Tudor, >>> > 32 bits or 64 bits? >>> > >>> > >>> > On Thu, Sep 13, 2012 at 4:25 PM, Eliot Miranda >>> > <[hidden email]> >>> > wrote: >>> >> >>> >> >>> >> >>> >> On Thu, Sep 13, 2012 at 11:53 AM, Tudor Girba <[hidden email]> >>> >> wrote: >>> >>> >>> >>> Hi, >>> >>> >>> >>> I would need to start a Pharo/Pier image on Debian 6.0.4 from the >>> >>> command line using Cog. I tried to use both the Cog-VM (from Pharo) >>> >>> and the Cog (from Eliot), but none work: >>> >>> >>> >>> - If I run the Cog from Eliot returns >>> >>> "can't infer base LD_LIBRARY_PATH. Aborting." >>> >> >>> >> >>> >> look at the part of the script that determines LD_LIBRARY_PATH and >>> >> extend >>> >> it suitably. then let me know how you augmented it. this is the case >>> >> that >>> >> works out which directories to include, where SVMLLP stands for squeak >>> >> vm ld >>> >> library path.: >>> >> >>> >> >>> >> # On some linuxes there multiple versions of the C library. If the >>> >> image >>> >> uses# libc (e.g. through the FFI) then it must use the same version >>> >> that the >>> >> VM uses >>> >> # and so it should take precedence over /lib libc. This is done by >>> >> setting >>> >> # LD_LIBRARY_PATH appropriately, based on ldd's idea of the libc use >>> >> by >>> >> the VM. >>> >> case `/usr/bin/ldd "$BIN/squeak" | /bin/fgrep /libc. | sed 's/^.*=> >>> >> //'` >>> >> in >>> >> /lib/libc*) SVMLLP="/lib:/usr/lib";; >>> >> /lib32/libc*) SVMLLP="/lib32:/usr/lib32";; >>> >> /lib64/libc*) SVMLLP="/lib64:/usr/lib64";; >>> >> /lib/tls/libc*) SVMLLP="/lib/tls:/lib:/usr/lib/tls:/usr/lib";; >>> >> /lib/i386-linux-gnu/libc*) \ >>> >> SVMLLP="/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu";; >>> >> /lib/tls/i686/cmov/libc*) \ >>> >> SVMLLP="/lib/tls/i686/cmov:/lib:/usr/lib/tls/i686/cmov:/usr/lib";; >>> >> /lib/tls/i686/nosegneg/libc*) \ >>> >> >>> >> SVMLLP="/lib/i686/nosegneg/tls:/lib:/usr/lib/i686/nosegneg/tls:/usr/lib";; >>> >> *) echo "can't infer base LD_LIBRARY_PATH. Aborting." 1>&2; >>> >> exit 1 >>> >> esac >>> >> >>> >> >>> >>> >>> >>> - I could not even get the Pharo Cog to run. Even if the rights for >>> >>> the VM are correct, it still says: >>> >>> "-bash: ./CogVM: No such file or directory" >>> >>> >>> >>> Any hints as to how to proceed? >>> >>> >>> >>> Cheers, >>> >>> Doru >>> >>> >>> >>> -- >>> >>> www.tudorgirba.com >>> >>> >>> >>> "Every thing has its own flow" >>> >>> >>> >> >>> >> >>> >> >>> >> -- >>> >> best, >>> >> Eliot >>> >> >>> > >>> > >>> > >>> > -- >>> > Bernardo E.C. >>> >>> >>> >>> -- >>> www.tudorgirba.com >>> >>> "Every thing has its own flow" >>> >> >> >> >> -- >> Bernardo E.C. > > -- www.tudorgirba.com "Every thing has its own flow" |
In reply to this post by Tudor Girba-2
On Thu, Sep 13, 2012 at 11:08 PM, Tudor Girba <[hidden email]> wrote: Hi, Cool. I think the script could be rewritten so that if SVMLLP can't be determined and the system is 64-bit it makes a suggestion to check that the 32-bit libraries are correctly installed. I wonder is there a way of checking that they are correctly installed. One obvious thing to do is to match the case where ldd doesn't produce any output.
best, Eliot |
I updated the script. See below.
On Fri, Sep 14, 2012 at 10:26 AM, Eliot Miranda <[hidden email]> wrote:
Date: 2012-09-14 10:40:40 -0700 (Fri, 14 Sep 2012) New Revision: 2604 Modified: branches/Cog/platforms/unix/config/bin.squeak.sh.in branches/Cog/platforms/unix/config/squeak.sh.in Log: On unix have the start-up script produce an hopefully helpful error message when ldd doesn't run on 64-bit installations. Modified: branches/Cog/platforms/unix/config/bin.squeak.sh.in =================================================================== --- branches/Cog/platforms/unix/config/bin.squeak.sh.in 2012-09-13 20:00:16 UTC (rev 2603) +++ branches/Cog/platforms/unix/config/bin.squeak.sh.in 2012-09-14 17:40:40 UTC (rev 2604) @@ -25,7 +25,12 @@ SVMLLP="/lib/tls/i686/cmov:/lib:/usr/lib/tls/i686/cmov:/usr/lib";; /lib/tls/i686/nosegneg/libc*) \ SVMLLP="/lib/i686/nosegneg/tls:/lib:/usr/lib/i686/nosegneg/tls:/usr/lib";; -*) echo "can't infer base LD_LIBRARY_PATH. Aborting." 1>&2; +"") case `/bin/uname -m || /usr/bin/uname -m` in + *64*) echo "/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries." 1>&2;; + *) echo "/usr/bin/ldd didn't produce any output. Can't infer base LD_LIBRARY_PATH. Aborting." 1>&2 + esac + exit 1;; +*) echo "Can't infer base LD_LIBRARY_PATH. Aborting." 1>&2 exit 1 esac
best, Eliot |
That is excellent!
Doru On Fri, Sep 14, 2012 at 7:42 PM, Eliot Miranda <[hidden email]> wrote: > I updated the script. See below. > > On Fri, Sep 14, 2012 at 10:26 AM, Eliot Miranda <[hidden email]> > wrote: >> >> >> >> On Thu, Sep 13, 2012 at 11:08 PM, Tudor Girba <[hidden email]> >> wrote: >>> >>> Hi, >>> >>> Thanks for the reply and suggestion. I slept over it and when I woke >>> up I realized that maybe something went wrong with installing >>> ia32-libs. I reinstalled them and now things look fine. I get: >>> lib/squeak/4.0-2585# ldd squeak >>> libutil.so.1 => /lib32/libutil.so.1 (0xb7efe000) >>> libdl.so.2 => /lib32/libdl.so.2 (0xb7efa000) >>> libpthread.so.0 => /lib32/libpthread.so.0 (0xb7ee0000) >>> libm.so.6 => /lib32/libm.so.6 (0xb7eba000) >>> libnsl.so.1 => /lib32/libnsl.so.1 (0xb7ea3000) >>> libc.so.6 => /lib32/libc.so.6 (0xb7d5c000) >>> /lib/ld-linux.so.2 (0xb7f0d000) >>> >>> Cheers, >>> Doru >> >> >> Cool. I think the script could be rewritten so that if SVMLLP can't be >> determined and the system is 64-bit it makes a suggestion to check that the >> 32-bit libraries are correctly installed. I wonder is there a way of >> checking that they are correctly installed. One obvious thing to do is to >> match the case where ldd doesn't produce any output. > > > Author: eliot > Date: 2012-09-14 10:40:40 -0700 (Fri, 14 Sep 2012) > New Revision: 2604 > > Modified: > branches/Cog/platforms/unix/config/bin.squeak.sh.in > branches/Cog/platforms/unix/config/squeak.sh.in > Log: > On unix have the start-up script produce an hopefully helpful error message > when ldd doesn't run on 64-bit installations. > > > Modified: branches/Cog/platforms/unix/config/bin.squeak.sh.in > =================================================================== > --- branches/Cog/platforms/unix/config/bin.squeak.sh.in 2012-09-13 20:00:16 > UTC (rev 2603) > +++ branches/Cog/platforms/unix/config/bin.squeak.sh.in 2012-09-14 17:40:40 > UTC (rev 2604) > @@ -25,7 +25,12 @@ > > SVMLLP="/lib/tls/i686/cmov:/lib:/usr/lib/tls/i686/cmov:/usr/lib";; > /lib/tls/i686/nosegneg/libc*) \ > > SVMLLP="/lib/i686/nosegneg/tls:/lib:/usr/lib/i686/nosegneg/tls:/usr/lib";; > -*) echo "can't infer base LD_LIBRARY_PATH. Aborting." 1>&2; > +"") case `/bin/uname -m || /usr/bin/uname -m` in > + *64*) echo "/usr/bin/ldd didn't produce any output and the system > is 64 bit. You may need to (re)install the 32-bit libraries." 1>&2;; > + *) echo "/usr/bin/ldd didn't produce any output. Can't infer > base LD_LIBRARY_PATH. Aborting." 1>&2 > + esac > + exit 1;; > +*) echo "Can't infer base LD_LIBRARY_PATH. Aborting." 1>&2 > exit 1 > esac > >>> >>> >>> On Thu, Sep 13, 2012 at 11:35 PM, Eliot Miranda <[hidden email]> >>> wrote: >>> > >>> > >>> > On Thu, Sep 13, 2012 at 12:24 PM, Tudor Girba <[hidden email]> >>> > wrote: >>> >> >>> >> Hi, >>> >> >>> >> Thanks for the suggestion. I do not know exactly what it means, but I >>> >> tried and the output does not look like yours (see below). Any idea >>> >> what "not a dynamic executable" means? >>> > >>> > >>> > it means its not recognized by your OS as a valid executable file. So >>> > you're out of luck. (Forget my private email). So this OS can't run >>> > 32-bit >>> > executables built on other linuxes. If you compile hello world with >>> > -m32 >>> > what does file answer? e.g. >>> > >>> > McStalker.oscogvm$ cat >hw.c <<END >>> >> int main() { printf("hello world\n"); return 0; } >>> >> END >>> > McStalker.oscogvm$ cc -o hw -m32 hw.c >>> > hw.c: In function 'main': >>> > hw.c:1: warning: incompatible implicit declaration of built-in function >>> > 'printf' >>> > McStalker.oscogvm$ ./hw >>> > hello world >>> > McStalker.oscogvm$ file hw >>> > hw: Mach-O executable i386 >>> > McStalker.oscogvm$ >>> > >>> > and what does file answer for squeak? >>> >> >>> >> >>> >> lib/squeak/4.0-2585# ls >>> >> B3DAcceleratorPlugin SqueakFFIPrims squeak >>> >> vm-display-null >>> >> vm-sound-null >>> >> BochsIA32Plugin UUIDPlugin vm-display-X11 >>> >> vm-sound-ALSA >>> >> LocalePlugin UnixOSProcessPlugin vm-display-fbdev >>> >> vm-sound-OSS >>> >> >>> >> lib/squeak/4.0-2585# ldd squeak >>> >> not a dynamic executable >>> >> >>> >> lib/squeak/4.0-2585# ldd vm-display-X11 >>> >> not a dynamic executable >>> >> >>> >> lib/squeak/4.0-2585# ls -al >>> >> total 9468 >>> >> drwxr-xr-x 2 root root 4096 Sep 12 21:51 . >>> >> drwxr-xr-x 3 root root 4096 Sep 12 21:51 .. >>> >> -rwxr-xr-x 1 root root 144996 Sep 12 21:51 B3DAcceleratorPlugin >>> >> -rwxr-xr-x 1 root root 5376041 Sep 12 21:51 BochsIA32Plugin >>> >> -rwxr-xr-x 1 root root 31714 Sep 12 21:51 LocalePlugin >>> >> -rwxr-xr-x 1 root root 77720 Sep 12 21:51 SqueakFFIPrims >>> >> -rwxr-xr-x 1 root root 19617 Sep 12 21:51 UUIDPlugin >>> >> -rwxr-xr-x 1 root root 90561 Sep 12 21:51 UnixOSProcessPlugin >>> >> -rwxr-xr-x 1 root root 3408704 Sep 12 21:51 squeak >>> >> -rwxr-xr-x 1 root root 235076 Sep 12 21:51 vm-display-X11 >>> >> -rwxr-xr-x 1 root root 94225 Sep 12 21:51 vm-display-fbdev >>> >> -rwxr-xr-x 1 root root 27549 Sep 12 21:51 vm-display-null >>> >> -rwxr-xr-x 1 root root 42045 Sep 12 21:51 vm-sound-ALSA >>> >> -rwxr-xr-x 1 root root 56587 Sep 12 21:51 vm-sound-OSS >>> >> -rwxr-xr-x 1 root root 13377 Sep 12 21:51 vm-sound-null >>> >> >>> >> Cheers, >>> >> Doru >>> >> >>> >> >>> >> On Thu, Sep 13, 2012 at 9:14 PM, Bernardo Ezequiel Contreras >>> >> <[hidden email]> wrote: >>> >> > for instance, on ubuntu maverick and with eliot's vm >>> >> > >>> >> > ~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ls >>> >> > B3DAcceleratorPlugin squeak UnixOSProcessPlugin >>> >> > vm-display-X11 >>> >> > LocalePlugin SqueakFFIPrims UUIDPlugin >>> >> > vm-sound-ALSA >>> >> > PharoV10.sources SqueakV41.sources vm-display-null >>> >> > vm-sound-null >>> >> > ~/bin/pharo-vm/cog/r2502/lib/squeak/4.0-2502$ ldd squeak >>> >> > linux-gate.so.1 => (0x00396000) >>> >> > libutil.so.1 => /lib/libutil.so.1 (0x00655000) >>> >> > libdl.so.2 => /lib/libdl.so.2 (0x00987000) >>> >> > libpthread.so.0 => /lib/libpthread.so.0 (0x00373000) >>> >> > libm.so.6 => /lib/libm.so.6 (0x00e07000) >>> >> > libnsl.so.1 => /lib/libnsl.so.1 (0x00d73000) >>> >> > libc.so.6 => /lib/libc.so.6 (0x00e2f000) >>> >> > /lib/ld-linux.so.2 (0x0084a000) >>> >> > or >>> >> > $ ldd vm-display-X11 >>> >> > linux-gate.so.1 => (0x008e2000) >>> >> > libGL.so.1 => /usr/lib/mesa/libGL.so.1 (0x00901000) >>> >> > libXext.so.6 => /usr/lib/libXext.so.6 (0x00537000) >>> >> > libSM.so.6 => /usr/lib/libSM.so.6 (0x00518000) >>> >> > libICE.so.6 => /usr/lib/libICE.so.6 (0x007ec000) >>> >> > libdl.so.2 => /lib/libdl.so.2 (0x0075e000) >>> >> > libpthread.so.0 => /lib/libpthread.so.0 (0x00110000) >>> >> > libm.so.6 => /lib/libm.so.6 (0x0012a000) >>> >> > libnsl.so.1 => /lib/libnsl.so.1 (0x00c90000) >>> >> > libX11.so.6 => /usr/lib/libX11.so.6 (0x005cd000) >>> >> > libc.so.6 => /lib/libc.so.6 (0x00150000) >>> >> > libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x002ad000) >>> >> > libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00c0e000) >>> >> > libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x002b1000) >>> >> > libdrm.so.2 => /lib/libdrm.so.2 (0x00d6e000) >>> >> > libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0036d000) >>> >> > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002b7000) >>> >> > libuuid.so.1 => /lib/libuuid.so.1 (0x00719000) >>> >> > /lib/ld-linux.so.2 (0x0034f000) >>> >> > libxcb.so.1 => /usr/lib/libxcb.so.1 (0x002d3000) >>> >> > librt.so.1 => /lib/librt.so.1 (0x002ed000) >>> >> > libXau.so.6 => /usr/lib/libXau.so.6 (0x002f6000) >>> >> > libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x002fa000) >>> >> > >>> >> > >>> >> > >>> >> > cheers >>> >> > >>> >> > On Thu, Sep 13, 2012 at 4:05 PM, Bernardo Ezequiel Contreras >>> >> > <[hidden email]> wrote: >>> >> >> >>> >> >> Tudor, >>> >> >> do a ldd on the binary, and see if you have installed all the >>> >> >> required >>> >> >> libraries for the system >>> >> >> http://linux.die.net/man/1/ldd >>> >> >> >>> >> >> At home, i'm using debian squeeze and it works. >>> >> >> >>> >> >> cheers >>> >> >> >>> >> >> >>> >> >> On Thu, Sep 13, 2012 at 3:53 PM, Tudor Girba <[hidden email]> >>> >> >> wrote: >>> >> >>> >>> >> >>> Hi, >>> >> >>> >>> >> >>> I would need to start a Pharo/Pier image on Debian 6.0.4 from the >>> >> >>> command line using Cog. I tried to use both the Cog-VM (from >>> >> >>> Pharo) >>> >> >>> and the Cog (from Eliot), but none work: >>> >> >>> >>> >> >>> - If I run the Cog from Eliot returns >>> >> >>> "can't infer base LD_LIBRARY_PATH. Aborting." >>> >> >>> >>> >> >>> - I could not even get the Pharo Cog to run. Even if the rights >>> >> >>> for >>> >> >>> the VM are correct, it still says: >>> >> >>> "-bash: ./CogVM: No such file or directory" >>> >> >>> >>> >> >>> Any hints as to how to proceed? >>> >> >>> >>> >> >>> Cheers, >>> >> >>> Doru >>> >> >>> >>> >> >>> -- >>> >> >>> www.tudorgirba.com >>> >> >>> >>> >> >>> "Every thing has its own flow" >>> >> >>> >>> >> >> >>> >> >> >>> >> >> >>> >> >> -- >>> >> >> Bernardo E.C. >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > Bernardo E.C. >>> >> >>> >> >>> >> >>> >> -- >>> >> www.tudorgirba.com >>> >> >>> >> "Every thing has its own flow" >>> >> >>> > >>> > >>> > >>> > -- >>> > best, >>> > Eliot >>> > >>> >>> >>> >>> -- >>> www.tudorgirba.com >>> >>> "Every thing has its own flow" >>> >> >> >> >> -- >> best, >> Eliot >> > > > > -- > best, > Eliot > -- www.tudorgirba.com "Every thing has its own flow" |
Free forum by Nabble | Edit this page |