Cannot load vm-display-X11 module after build from latest SVN and VMM

David T. Lewis lewis at
Fri Jul 1 01:43:55 UTC 2005

I'm trying to build an up-to-date VM from source in order to
get OSPP and XDCP updated for the 64 bit code base. I'm having
trouble building a VM from the latest; the vm-display-X11 module
will not load. I'm stumped and would appreciate some help.

Here's the situation:

$ cat /proc/version
Linux version 2.4.21-144-default (root at (gcc version 3.3.1 (SuSE Linux)) #1 Fri Nov 14 00:01:36 UTC 2003

$ squeak -version
3.7b-6 #30 Mon May  2 10:55:50 EDT 2005 gcc 3.3.1
Squeak3.7 of '4 September 2004' [latest update: #5989]
Linux dtlewis 2.4.21-144-default #1 Fri Nov 14 00:01:36 UTC 2003 i686 i686 i386 GNU/Linux
default plugin location: /usr/local/lib/squeak/3.7b-6/*.so

Squeak image is Squeak3.7 of '4 September 2004' [latest update: #5989]

I loaded VMMaker-tpr.37.mcz from Tim's site.

The platforms source is loaded from SVN as of today (June 30).

I built and installed the VM with no errors or warnings related to vm-display-X11.
The vm-display-X11 module is correctly installed in /usr/local/lib/squeak/3.8a-2.

When I run Squeak I get this:
$ squeak sq.image
looking for module vm-display-X11
could not find display driver vm-display-X11; either:
  - check that /usr/local/lib/squeak/3.8a-2/ exists, or
  - use the '-plugins <path>' option to tell me where it is, or
  - remove DISPLAY from your environment.

I can run the VM under GDB, and I think I see the dlopen() attempting
to open the /usr/local/lib/squeak/3.8a-2/vm-display-X11 file, and failing
as if the file were not there.

But I can copy a vm-display-X11 file from some earlier build into the
installation directory, and the VM finds and loads it (but crashes on
account of it being a different version). So it does not appear to
be a path problem, the VM is looking it the right place, and finding
a vm-display-X11 file there.

It appears that there is something about the vm-display-X11 file
itself that causes it to be unloadable (it's world readable and world
executable, so that's not it). The file itself looks fine:

$ ls -l /usr/local/lib/squeak/3.8a-2/vm-display-X11
-rwxr-xr-x    1 lewis    users      150331 2005-06-30 11:26 /usr/local/lib/squeak/3.8a-2/vm-display-X11
$ file /usr/local/lib/squeak/3.8a-2/vm-display-X11
/usr/local/lib/squeak/3.8a-2/vm-display-X11: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

And the module built without errors and warnings, so I'm thinking
it may be something that has changed recently in the source tree.

I feel like Mr. Jones, something is going on but I don't know what
to do. Any tips?



More information about the Vm-dev mailing list