<div dir="ltr"><br><div class="GmSign">-- <br></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Nov 14, 2016 at 12:41 AM Hans-Martin Mosner <<a href="mailto:hmm@heeg.de">hmm@heeg.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="gmail_msg">
Hi, I'm in the process of creating a simple and reproducible automated VM build environment using Docker. My current<br class="gmail_msg">
docker image basically seems to work, however, I've not been able to run the created executable yet.<br class="gmail_msg">
<br class="gmail_msg">
I've naively assumed that the shell script "squeak" in directory .../products/sqcogspur64linux would do the right thing,<br class="gmail_msg">
but it complains that it could not find the display driver: "could not find display driver vm-display-X11".<br class="gmail_msg"></blockquote><div><br></div><div>Do you have all dependencies installed for your platform? </div><div>Especially: libx11-dev/libx11-dev:i386</div><div><br></div><div><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/3453ebe4a374a21b0e9a058d353b45437c540bf7/.travis_install.sh#L3-L32">https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/3453ebe4a374a21b0e9a058d353b45437c540bf7/.travis_install.sh#L3-L32</a><br></div><div><br></div><div><br></div><div>Fabio</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="gmail_msg">
The direcory structure in "products" differs a bit from the release VM directory structure, but it looks like it is<br class="gmail_msg">
supposed to work anyway.<br class="gmail_msg">
<br class="gmail_msg">
I've done an strace of the process, and it finds and opens the plugin just fine (twice, actually), but just before<br class="gmail_msg">
writing the error message it seems to want to open it again under various different names, just not the right one...<br class="gmail_msg">
<br class="gmail_msg">
Here are the relevant strace lines of the first two plugin maps:<br class="gmail_msg">
<br class="gmail_msg">
stat("sqcogspur64linux/lib/squeak/5.0-/vm-display-X11", {st_mode=S_IFREG|0755, st_size=373136, ...}) = 0<br class="gmail_msg">
open("sqcogspur64linux/lib/squeak/5.0-/vm-display-X11", O_RDONLY|O_CLOEXEC) = 3<br class="gmail_msg">
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 j\0\0\0\0\0\0"..., 832) = 832<br class="gmail_msg">
fstat(3, {st_mode=S_IFREG|0755, st_size=373136, ...}) = 0<br class="gmail_msg">
getcwd("/tmp/products", 128)            = 14<br class="gmail_msg">
mmap(NULL, 2212928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3938d0d000<br class="gmail_msg">
mprotect(0x7f3938d26000, 2097152, PROT_NONE) = 0<br class="gmail_msg">
mmap(0x7f3938f26000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19000) = 0x7f3938f26000<br class="gmail_msg">
mmap(0x7f3938f28000, 5184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3938f28000<br class="gmail_msg">
close(3)                                = 0<br class="gmail_msg">
<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11", {st_mode=S_IFREG|0755, st_size=373136, ...}) = 0<br class="gmail_msg">
open("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11", O_RDONLY|O_CLOEXEC) = 3<br class="gmail_msg">
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 j\0\0\0\0\0\0"..., 832) = 832<br class="gmail_msg">
fstat(3, {st_mode=S_IFREG|0755, st_size=373136, ...}) = 0<br class="gmail_msg">
mmap(NULL, 2212928, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3938d0d000<br class="gmail_msg">
mprotect(0x7f3938d26000, 2097152, PROT_NONE) = 0<br class="gmail_msg">
mmap(0x7f3938f26000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19000) = 0x7f3938f26000<br class="gmail_msg">
mmap(0x7f3938f28000, 5184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3938f28000<br class="gmail_msg">
close(3)                                = 0<br class="gmail_msg">
<br class="gmail_msg">
But the last attempt fails:<br class="gmail_msg">
<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or<br class="gmail_msg">
directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or<br class="gmail_msg">
directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/libvm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or<br class="gmail_msg">
directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/libvm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or<br class="gmail_msg">
directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/libvm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file<br class="gmail_msg">
or directory)<br class="gmail_msg">
stat("/lib/x86_64-linux-gnu/vm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/x86_64-linux-gnu/vm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/x86_64-linux-gnu/vm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/x86_64-linux-gnu/libvm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/x86_64-linux-gnu/libvm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/x86_64-linux-gnu/libvm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/vm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/vm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/vm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/libvm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/libvm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/lib/libvm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/x86_64-linux-gnu/vm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/x86_64-linux-gnu/vm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/x86_64-linux-gnu/vm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/x86_64-linux-gnu/libvm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/x86_64-linux-gnu/libvm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/x86_64-linux-gnu/libvm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/vm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/vm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/vm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/libvm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/libvm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/lib/libvm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/home/hmm/Squeak/images/vm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/home/hmm/Squeak/images/vm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/home/hmm/Squeak/images/vm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/home/hmm/Squeak/images/libvm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/home/hmm/Squeak/images/libvm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/home/hmm/Squeak/images/libvm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/local/lib/vm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/local/lib/vm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/local/lib/vm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/local/lib/libvm-display-X11", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/local/lib/libvm-display-X11.so", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/usr/local/lib/libvm-display-X11.dylib", 0x7ffd9d228780) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("vm-display-X11", 0x7ffd9d22a7a0)  = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("vm-display-X11.so", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("vm-display-X11.dylib", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("libvm-display-X11", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("libvm-display-X11.so", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("libvm-display-X11.dylib", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/vm-display-X11", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/vm-display-X11.so", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/vm-display-X11.dylib", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/libvm-display-X11", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/libvm-display-X11.so", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/libvm-display-X11.dylib", 0x7ffd9d22a7a0) = -1 ENOENT (No such file or directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11/.libs/vm-display-X11", 0x7ffd9d22a790) = -1 ENOTDIR<br class="gmail_msg">
(Not a directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11/.libs/vm-display-X11.so", 0x7ffd9d22a790) = -1<br class="gmail_msg">
ENOTDIR (Not a directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11/.libs/vm-display-X11.dylib", 0x7ffd9d22a790) = -1<br class="gmail_msg">
ENOTDIR (Not a directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11/.libs/libvm-display-X11", 0x7ffd9d22a790) = -1<br class="gmail_msg">
ENOTDIR (Not a directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11/.libs/libvm-display-X11.so", 0x7ffd9d22a790) = -1<br class="gmail_msg">
ENOTDIR (Not a directory)<br class="gmail_msg">
stat("/tmp/products/sqcogspur64linux/lib/squeak/5.0-/vm-display-X11/.libs/libvm-display-X11.dylib", 0x7ffd9d22a790) = -1<br class="gmail_msg">
ENOTDIR (Not a directory)<br class="gmail_msg">
write(2, "could not find display driver vm"..., 54could not find display driver vm-display-X11; either:<br class="gmail_msg">
) = 54<br class="gmail_msg">
write(2, "  - check that /tmp/products/sqc"..., 92  - check that<br class="gmail_msg">
/tmp/products/sqcogspur64linux/lib/squeak/5.0-//vm-display-X11.so exists, or<br class="gmail_msg">
) = 92<br class="gmail_msg">
write(2, "  - use the '-plugins <path>' op"..., 64  - use the '-plugins <path>' option to tell me where it is, or<br class="gmail_msg">
) = 64<br class="gmail_msg">
write(2, "  - remove DISPLAY from your env"..., 42  - remove DISPLAY from your environment.<br class="gmail_msg">
) = 42<br class="gmail_msg">
<br class="gmail_msg">
Any idea what I might be missing?<br class="gmail_msg">
<br class="gmail_msg">
Cheers,<br class="gmail_msg">
<br class="gmail_msg">
Hans-Martin<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div></div>