Quantcast

3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Klaus D. Witzel
List,

we've compiled the 3.9-4 VM on the cygwin platform, only minor "*nix'en  
are platform[tm] independent" problems to solve:

        FIONBIO is in <sys/socket.h>
        # define O_ASYNC O_NONBLOCK
        timezone is _timezone (define is not part of cygwin)

These three issues where solved using www.google.com :-) other people have  
already had this cygwin experience.

        #include "debug.h" (moved further down, dprintf must be redefined)
        # define dprintf(...) __sq_dprintf(__VA_ARGS__)

There is a nice overview, on what gcc supports when it comes to variadic  
macros, at

- http://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html

But the main problem is, compared to the subject line, ls -l  
/usr/local/lib/squeak/3.9-4/
-rw-r--r-- 1 kWitzel None  310484 May 15 11:56 B3DAcceleratorPlugin.a
-rw-r--r-- 1 kWitzel None   57442 May 15 11:56 PseudoTTYPlugin.a
-rw-r--r-- 1 kWitzel None   97012 May 15 11:56 UnixOSProcessPlugin.a
-rw-r--r-- 1 kWitzel None   50022 May 15 11:56 XDisplayControlPlugin.a
-rwxr-xr-x 1 kWitzel None 2386463 May 15 12:33 squeak.exe
-rw-r--r-- 1 kWitzel None  326214 May 15 11:56 vm-display-X11.a
-rw-r--r-- 1 kWitzel None   98856 May 15 11:56 vm-display-null.a
-rw-r--r-- 1 kWitzel None   77634 May 15 11:56 vm-sound-OSS.a
-rw-r--r-- 1 kWitzel None   26792 May 15 11:56 vm-sound-null.a

A similiar problem is mentioned at

- http://macos.tuwien.ac.at:9009/519430413.asHtml

and because the scripts balks when linking npsqueak, we run  
--without-npsqueak

- http://bugs.impara.de/view.php?id=559

Question: how can vm-display-X11.so be made, what's the trick?

Suggestions, pointers, URLs, all warmly appreciated.

/Klaus

P.S. captured stdout and stderr from make and from ./config.status, if  
that is needed.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Bert Freudenberg-3
Am 15.05.2006 um 12:43 schrieb Klaus D. Witzel:

> we've compiled the 3.9-4 VM on the cygwin platform

Excuse my ignorance, but, why?

- Bert -

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Klaus D. Witzel
Hi Bert,

on Mon, 15 May 2006 13:38:40 +0200, Bert Freudenberg <[hidden email]>  
wrote:

> Am 15.05.2006 um 12:43 schrieb Klaus D. Witzel:
>
>> we've compiled the 3.9-4 VM on the cygwin platform
>
> Excuse my ignorance, but, why?

Couldn't find any other environment which compiles the 3.9 VM to run under  
windoze, easy that is. The only official source for squeak on win32 has  
the older 3.7.1 VM

- http://www.squeakvm.org/win32/

Q into the other direction: why not, any problem?

/Klaus

> - Bert -
>
>


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Bert Freudenberg-3

Am 15.05.2006 um 13:46 schrieb Klaus D. Witzel:

> Hi Bert,
>
> on Mon, 15 May 2006 13:38:40 +0200, Bert Freudenberg  
> <[hidden email]> wrote:
>
>> Am 15.05.2006 um 12:43 schrieb Klaus D. Witzel:
>>
>>> we've compiled the 3.9-4 VM on the cygwin platform
>>
>> Excuse my ignorance, but, why?
>
> Couldn't find any other environment which compiles the 3.9 VM to  
> run under windoze, easy that is.

And what do you need a 3.9 VM for? I'm pretty sure you can happily  
run the 3.9 image even with a 3.7 VM. There haven't been major  
changes AFAIK.

That aside, I agree we need to get 3.9 VM sources into an easily  
findable place.

> The only official source for squeak on win32 has the older 3.7.1 VM
>
> - http://www.squeakvm.org/win32/

IIRC then the most recent Squeak VM for Windows can be found in the  
Croquet package. Not sure about the sources for that, might be in SVN?

> Q into the other direction: why not, any problem?

Well, I doubt anyone did that, yet. If it works at all (not sure how  
unixy cygwin actually is) you'll have to run an X server to see  
anything ...

- Bert -

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Wolfgang Helbig-2
In reply to this post by Klaus D. Witzel
Hi /Klaus,

You asked a question,
>Question: how can vm-display-X11.so be made, what's the trick?
And here is an answer:
Make sure, your gcc knows about the X11 includes and your library path includes
the X11 shared libs before you run configure.

Check the makefile generated by config (in directory bld) for the target:

vm-display-X11${la} :
    @$(SHELL) -ec 'cd vm-display-X11; $(MAKE) vm-display-X11${la}'

And then check the file bld/libtool which is a shell script generated by
config which is supposed to generate the shared objects.

Hope, that helps.

Wolfgang
--
Weniger, aber besser.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Klaus D. Witzel
In reply to this post by Bert Freudenberg-3
Hi Bert,

on Mon, 15 May 2006 14:12:26 +0200, you <[hidden email]> wrote:

>
> Am 15.05.2006 um 13:46 schrieb Klaus D. Witzel:
>
>> Hi Bert,
>>
>> on Mon, 15 May 2006 13:38:40 +0200, Bert Freudenberg <[hidden email]>  
>> wrote:
>>
>>> Am 15.05.2006 um 12:43 schrieb Klaus D. Witzel:
>>>
>>>> we've compiled the 3.9-4 VM on the cygwin platform
>>>
>>> Excuse my ignorance, but, why?
>>
>> Couldn't find any other environment which compiles the 3.9 VM to run  
>> under windoze, easy that is.
>
> And what do you need a 3.9 VM for?

That was a simple investment decision (investing into the future can be  
done when no longer investing into the past). Nothing more, nothing else.

> I'm pretty sure you can happily run the 3.9 image even with a 3.7 VM.  
> There haven't been major changes AFAIK.

Well, had the same thought. But giving the 3.9 VM a try was considered as  
costly (or as inexpensive, it depends) as trying the 3.9 image with a  
home-compiled 3.7 VM. Who does the latter anyways? There the seem to be  
not many (besides the VM's maintainers, Spoon, Croquet, Exupery) VMMaker  
users.

> That aside, I agree we need to get 3.9 VM sources into an easily  
> findable place.

Great!

>> The only official source for squeak on win32 has the older 3.7.1 VM
>>
>> - http://www.squeakvm.org/win32/
>
> IIRC then the most recent Squeak VM for Windows can be found in the  
> Croquet package. Not sure about the sources for that, might be in SVN?

Now that you mention it: we DID try (1x) the win32 scripts from the trunk,  
to no avail under win32 :-( could have searched for a  
backwards+serialization+compatible JVM during the same time with the same  
result ;-)

>> Q into the other direction: why not, any problem?
>
> Well, I doubt anyone did that, yet. If it works at all (not sure how  
> unixy cygwin actually is)

For me it is easier to tell my colleagues to use *nix scripts, [easier for  
them] than to use the non-(Visual-scream+and+shout) 3.7.1 script material.  
We'll see if that (doing it under+for cygwin) works.

> you'll have to run an X server to see anything ...

Sure. At the moment we'd be happy if it would read script files. We think  
we will use X only for close-encounter debugging (perhaps someone can find  
a non-X fb.h for cygwin?).

/Klaus

> - Bert -
>


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Klaus D. Witzel
In reply to this post by Wolfgang Helbig-2
Hi Wolfgang,

on Mon, 15 May 2006 15:06:00 +0200, you <[hidden email]>  
wrote:

> Hi /Klaus,

:)

> You asked a question,
>> Question: how can vm-display-X11.so be made, what's the trick?
> And here is an answer:
> Make sure, your gcc knows about the X11 includes and your library path  
> includes
> the X11 shared libs before you run configure.

Configure reported:
configure:24669: checking for X
configure:24899: result: libraries /usr/X11R6/lib, headers  
/usr/X11R6/include
configure:25071: gcc -o conftest.exe  -g -O2 -fomit-frame-pointer  
-DLSB_FIRST=1   conftest.c -lm   -L/usr/X11R6/lib -lX11 >&5
configure:25077: $? = 0
configure:25081: test -z
                         || test ! -s conftest.err
configure:25084: $? = 0
configure:25087: test -s conftest.exe
configure:25090: $? = 0

> Check the makefile generated by config (in directory bld) for the target:
>
> vm-display-X11${la} :
>     @$(SHELL) -ec 'cd vm-display-X11; $(MAKE) vm-display-X11${la}'

Looks like as if you had copied and pasted our makefile here.

> And then check the file bld/libtool which is a shell script generated by
> config which is supposed to generate the shared objects.

Runs nicely, results are (also for vm-display-null):
/bin/sh /home/kWitzel/platforms/unix/config/mkinstalldirs  
/usr/local/lib/squeak/3.9-4
/bin/sh /home/kWitzel/platforms/libtool --mode=install /usr/bin/install  
-c  vm-display-X11.la /usr/local/lib/squeak/3.9-4/vm-display-X11.la
/usr/bin/install -c vm-display-X11/.libs/vm-display-X11.lai  
/usr/local/lib/squeak/3.9-4/vm-display-X11.la
/usr/bin/install -c vm-display-X11/.libs/vm-display-X11.a  
/usr/local/lib/squeak/3.9-4/vm-display-X11.a
ranlib /usr/local/lib/squeak/3.9-4/vm-display-X11.a
chmod 644 /usr/local/lib/squeak/3.9-4/vm-display-X11.a
----------------------------------------------------------------------
Libraries have been installed in:
    /usr/local/lib/squeak/3.9-4

> Hope, that helps.

:-(

Hah! You made me look after filio.h, I forgot last night:

configure:20825: checking sys/filio.h usability
configure:20837: gcc -c -g -O2  conftest.c >&5
conftest.c:72:23: sys/filio.h: No such file or directory
configure:20843: $? = 1

Thank your for your time.

/Klaus

> Wolfgang
> --
> Weniger, aber besser.
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Bert Freudenberg-3
In reply to this post by Klaus D. Witzel
Am 15.05.2006 um 17:59 schrieb Klaus D. Witzel:

>  At the moment we'd be happy if it would read script files.

Which "it" doesn't? What are you trying to do?

- Bert -

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Bert Freudenberg-3

Am 15.05.2006 um 22:09 schrieb Klaus D. Witzel:

> Hi Bert,
>
> on Mon, 15 May 2006 21:18:33 +0200, you <[hidden email]> wrote:
>
>> Am 15.05.2006 um 17:59 schrieb Klaus D. Witzel:
>>
>>>  At the moment we'd be happy if it would read script files.
>>
>> Which "it" doesn't? What are you trying to do?
>
> As I wrote earlier, the main problem is, compared to the subject  
> line, ls -l /usr/local/lib/squeak/3.9-4/
> -rw-r--r-- 1 kWitzel None  310484 May 15 11:56 B3DAcceleratorPlugin.a
> -rw-r--r-- 1 kWitzel None   57442 May 15 11:56 PseudoTTYPlugin.a
> -rw-r--r-- 1 kWitzel None   97012 May 15 11:56 UnixOSProcessPlugin.a
> -rw-r--r-- 1 kWitzel None   50022 May 15 11:56 XDisplayControlPlugin.a
> -rwxr-xr-x 1 kWitzel None 2386463 May 15 12:33 squeak.exe
> -rw-r--r-- 1 kWitzel None  326214 May 15 11:56 vm-display-X11.a
> -rw-r--r-- 1 kWitzel None   98856 May 15 11:56 vm-display-null.a
> -rw-r--r-- 1 kWitzel None   77634 May 15 11:56 vm-sound-OSS.a
> -rw-r--r-- 1 kWitzel None   26792 May 15 11:56 vm-sound-null.a
>
> That is, neither the X11 nor the null display *.so drivers are  
> found (and the message in the subject line, the reason for my post,  
> is printed).
>
> Ironically,
>  ./squeak -headless -nodisplay Squeak3.9b-7032.image
> and only -headless and only -nodisplay, attempts to use the X11  
> display driver...

"-headless" is an option of the X11 driver, so that's not that  
surprising.

As for loading the display modules, they have to be shared libraries  
suitable to be used by dlopen(). You only have static libraries, at  
least that's what I guess from the ".a" extension. I guess on Windows  
that would have to e a DLL. And even if you compile the modules as  
Windows DLL you might have to adjust the module loader to look for a  
".dll" extension.

- Bert -

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

re: 3.9-4 VM on cygwin

ccrraaiigg
In reply to this post by Klaus D. Witzel

 > we've compiled the 3.9-4 VM on the cygwin platform...

        Great! I'm interested in this, because it'd be nice to have the
relative ease of the unix build environment (note that I said *relative*
ease :) on those darned windoze boxes. The Visual Studio debugger is
rather good, but creating the fiddly bits for the environment (compiler
settings, dependencies, etc.) is even more tedious than with makefiles etc.

        If the C debugging facilities with cygwin are decent, I would happily
dump the microsoft stuff completely.


        thanks!

-C

--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Wolfgang Helbig-2
In reply to this post by Klaus D. Witzel
Hi Klaus,
you checked

>> And then check the file bld/libtool which is a shell script generated by
>> config which is supposed to generate the shared objects.
>
>Runs nicely, results are (also for vm-display-null):
>/bin/sh /home/kWitzel/platforms/unix/config/mkinstalldirs  
>/usr/local/lib/squeak/3.9-4
>/bin/sh /home/kWitzel/platforms/libtool --mode=install /usr/bin/install  
>-c  vm-display-X11.la /usr/local/lib/squeak/3.9-4/vm-display-X11.la
>/usr/bin/install -c vm-display-X11/.libs/vm-display-X11.lai  
>/usr/local/lib/squeak/3.9-4/vm-display-X11.la
>/usr/bin/install -c vm-display-X11/.libs/vm-display-X11.a  
>/usr/local/lib/squeak/3.9-4/vm-display-X11.a
>ranlib /usr/local/lib/squeak/3.9-4/vm-display-X11.a
>chmod 644 /usr/local/lib/squeak/3.9-4/vm-display-X11.a
>----------------------------------------------------------------------
>Libraries have been installed in:
>    /usr/local/lib/squeak/3.9-4
>
>> Hope, that helps.
>
>:-(

Well, it helps me. :-) Looks like your libtool is configured to build static
libraries. Which is perfectly ok. The VM should run with static libraries as
well.

Here are the relevant lines in my libtool:

# Whether or not to build shared libraries.
build_libtool_libs=yes

# Whether or not to build static libraries.
build_old_libs=no

# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=yes

# Whether or not to disallow shared libs when runtime libs are static
allow_libtool_libs_with_static_runtimes=no

They should differ from your libtool if configure figured out that it is better
to build static libraries. But if you know better, feel free to override it by
        configure --enabled-shared

Greetings
Wolfgang
--
Weniger, aber besser.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Klaus D. Witzel
In reply to this post by Bert Freudenberg-3
Hi Bert,

on Mon, 15 May 2006 23:57:34 +0200, you wrote:
...
> "-headless" is an option of the X11 driver, so that's not that  
> surprising.

Right you are. Now I understand why on a debian sans X11 the only option  
was vm-display-null (for running squeak unattended as back-end to apache),  
alternately vm-display-fbdev.

> As for loading the display modules, they have to be shared libraries  
> suitable to be used by dlopen().

This is exactly the point. Will have to find out how dlopen is on cygwin  
(google says that people use LoadLibrary on cygwin, even though dlopen is  
available).

> You only have static libraries, at least that's what I guess from the  
> ".a" extension.

Yes, and I couldn't convince whomsoever to make them non-static (have seen  
the various comments in ltmain.sh, some of which speak about cygwin).

> I guess on Windows that would have to e a DLL.

Yes, if there's need to dynamically load a library the win32 people must  
make a .dll. But nobody here expected that cygwin just uses what is lying  
around (thereby putting the burden on the library dev'er). Porting an app  
to cygwin seems to be easy; doing the same for supportive libs seems to be  
the difference between platform independence and windoze...

> And even if you compile the modules as Windows DLL

This would require changes to the source, beginning with
- http://lists.debian.org/debian-win32/2002/08/msg00001.html
and is not what we want here (have dev'ed some .dll's running on the ISAPI  
interface of MS' web server...).

> you might have to adjust the module loader to look for a ".dll"  
> extension.

I think we better hack the loader for not requesting vm-display-* , looks  
like that would save some time. And/or perhaps vm-display-custom needs to  
be employed for the cygwin job, starting with __declspec(dllimport).

> - Bert -

Your comments (and questions!) where very valuabe to us, thank you very  
much.

/Klaus

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin

Klaus D. Witzel
In reply to this post by ccrraaiigg
Hi Craig,

on Tue, 16 May 2006 00:50:51 +0200, you <[hidden email]> wrote:

>
>  > we've compiled the 3.9-4 VM on the cygwin platform...
>
> Great! I'm interested in this, because it'd be nice to have the  
> relative ease of the unix build environment (note that I said *relative*  
> ease :) on those darned windoze boxes. The Visual Studio debugger is  
> rather good, but creating the fiddly bits for the environment (compiler  
> settings, dependencies, etc.) is even more tedious than with makefiles  
> etc.

Unfortunately the future of that Visual+scream+and+shout debugger is, you  
can no longer make changes and continue - "just" recompile then rerun ...

> If the C debugging facilities with cygwin are decent, I would happily  
> dump the microsoft stuff completely.

Then, here we come: http://www.juno.co.uk/products/190142-01.htm :-)

I prefer the album version :-) BTW my tools converted TV spots with that  
song
  -  
http://www.publisuisse.ch/deutsch/website/publispot/level0/spot_index.cfm
Type either Peugeot or the number 179945 into the field named SUISA,  
enter, then select Peugeot 1007 and enjoy.


> thanks!

/Klaus

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Klaus D. Witzel
In reply to this post by Wolfgang Helbig-2
Hi Wolfgang,

on Tue, 16 May 2006 00:53:32 +0200, you <[hidden email]>  
wrote:

> Hi Klaus,
> you checked
...

>> ----------------------------------------------------------------------
>> Libraries have been installed in:
>>    /usr/local/lib/squeak/3.9-4
>>
>>> Hope, that helps.
>>
>> :-(
>
> Well, it helps me. :-) Looks like your libtool is configured to build  
> static
> libraries. Which is perfectly ok. The VM should run with static  
> libraries as
> well.
>
> Here are the relevant lines in my libtool:
>
> # Whether or not to build shared libraries.
> build_libtool_libs=yes
>
> # Whether or not to build static libraries.
> build_old_libs=no
>
> # Whether or not to add -lc for building shared libraries.
> build_libtool_need_lc=yes
>
> # Whether or not to disallow shared libs when runtime libs are static
> allow_libtool_libs_with_static_runtimes=no

Will try to manually set these.

> They should differ from your libtool if configure figured out that it is  
> better
> to build static libraries. But if you know better, feel free to override  
> it by
> configure --enabled-shared

/bin/sh /home/kWitzel/platforms/libtool --mode=link gcc -g -O2  
-fomit-frame-pointer -DLSB_FIRST=1 -g -O2 -fomit-frame-pointer  
-DLSB_FIRST=1   -avoid-version -module -rpath /usr/local/lib/squeak/3.9-4  
-o vm-display-X11.la sqUnixX11.lo sqUnixMozilla.lo -lGL -lXext  -lSM  
-lICE  -L/usr/X11R6/lib  -lm  -lX11
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> libtool: link: warning: undefined  
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> symbols not allowed in i686-pc-cygwin  
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> shared libraries
rm -fr .libs/vm-display-X11.la .libs/vm-display-X11.*  
.libs/vm-display-X11.*
ar cru .libs/vm-display-X11.a  sqUnixX11.o sqUnixMozilla.o
ranlib .libs/vm-display-X11.a
creating vm-display-X11.la
(cd .libs && rm -f vm-display-X11.la && ln -s ../vm-display-X11.la  
vm-display-X11.la)
: vm-display-X11.la
/bin/sh /home/kWitzel/platforms/libtool --mode=link gcc -g -O2  
-fomit-frame-pointer -DLSB_FIRST=1 -Wall -Wno-unknown-pragmas -g -O2  
-fomit-frame-pointer -DLSB_FIRST=1 -I/home/kWitzel/platforms  
-I/home/kWitzel/platforms/unix/vm -I/home/kWitzel/platforms/Cross/vm  
-I/home/kWitzel/platforms/unix/src/vm -I/usr/X11R6/include    
-avoid-version -module -rpath /usr/local/lib/squeak/3.9-4 -o  
vm-display-null.la sqUnixDisplayNull.lo
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> libtool: link: warning: undefined  
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> symbols not allowed in i686-pc-cygwin  
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> shared libraries
rm -fr .libs/vm-display-null.la .libs/vm-display-null.*  
.libs/vm-display-null.*
ar cru .libs/vm-display-null.a  sqUnixDisplayNull.o
ranlib .libs/vm-display-null.a
creating vm-display-null.la
(cd .libs && rm -f vm-display-null.la && ln -s ../vm-display-null.la  
vm-display-null.la)
: vm-display-null.la

:-(

/Klaus

> Greetings
> Wolfgang
> --
> Weniger, aber besser.
>


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists

Klaus D. Witzel
Last night Squeak woke up running on the cygwin platform,

$ ./squeak.exe ../Squeak3.9b-7032.image 2>squeak.exe.log
displayModule 0x497170 null
soundModule   0x4970f0 null

(of course it currently has no io, so, who knows? :-)

Linked the vm-display-null and vm-sound-null modules together with vm.a,  
by tweaking sqUnixMain.c and its makefile. Other vm-display-* and  
vm-sound-* modules are not so easy to harness, for example vm-display-X11  
(see messages below).

Next step is the -dlopen flag, for passing
*** Warning: libtool could not satisfy all declared inter-library
*** dependencies of module vm-display-X11.  Therefore, libtool will create
*** a static module, that should work as long as the dlopening
*** application is linked with the -dlopen flag.

/Klaus

--------------------

/bin/sh /home/kWitzel/platforms/libtool --mode=link gcc -g -O2  
-fomit-frame-poin
ter -DLSB_FIRST=1 -g -O2 -fomit-frame-pointer -DLSB_FIRST=1    
-avoid-version -no
-undefined -module -rpath /usr/local/lib/squeak/3.9-4 -o vm-display-X11.la  
sqUni
xX11.lo sqUnixMozilla.lo -lGL -lXext  -lSM -lICE  -L/usr/X11R6/lib  -lm  
-lX11
mkdir .libs
rm -fr .libs/vm-display-X11.la .libs/vm-display-X11.*  
.libs/vm-display-X11.*

*** Warning: This library needs some functionality provided by -lGL.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

*** Warning: This library needs some functionality provided by -lXext.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

*** Warning: This library needs some functionality provided by -lSM.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

*** Warning: This library needs some functionality provided by -lICE.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

*** Warning: This library needs some functionality provided by -lX11.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

*** Warning: libtool could not satisfy all declared inter-library
*** dependencies of module vm-display-X11.  Therefore, libtool will create
*** a static module, that should work as long as the dlopening
*** application is linked with the -dlopen flag.
ar cru .libs/vm-display-X11.a sqUnixX11.lo sqUnixMozilla.lo
ranlib .libs/vm-display-X11.a
creating vm-display-X11.la
(cd .libs && rm -f vm-display-X11.la && ln -s ../vm-display-X11.la  
vm-display-X1
1.la)
: vm-display-X11.la

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

It works [was: 3.9-4 VM on cygwin: check that /usr/local/lib/squeak/3.9-4/vm-display-X11.so exists]

Klaus D. Witzel
List,

the 3.9-4 VM now runs on the cygwin platform just long enough for taking a  
first screen shot (attached).

The vm-display-X11 module is linked together with vm.a, same with  
vm-sound-null, and a handsome sqUnixNoMozilla.a ;-)

No other module or plugin is currently working. The VM terminates itself  
after some mouse+display activity - it does not crash, just stops -  
perhaps it gets bored because no externalized primitive does anything.

The dlopen and linking facilities of cygwin have about the level  
functionally which was common at ASM/360 times, it is allowed to do  
everything manually. It will not be easy to reference plugins with dlopen.

Now I must learn more on how to create makefiles from config files, is  
there an entry level doc and / or tutorial that someone here would  
recommend?

/Klaus

P.S. Thank you very much Bert and Wolfgang for your encouraging questions  
and suggestions, without you we still would be confused by gcc -shared and  
by libtool -dlopen self.

cywinSqueak.jpeg (42K) Download Attachment
Loading...