swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can I run my swarm application on a machine that has no swarm?


From: pauljohn
Subject: Re: Can I run my swarm application on a machine that has no swarm?
Date: Wed, 19 Sep 2001 11:26:29 -0500

If you mean, "can I give a swarm executable that someone can run
even if they do not have Swarm installed?", I'm uncertain how to
answer.  

I don't think Swarm will work with a cross-compiler, so you
can't build an executable on a unix system that can be run on a
windows system. Maybe a gcc wizard could tell us how.

You don't say what OS you use, but many people have asked before
if they can send a windows executable to another windows user. 
We have some information here:

http://lark.cc.ukans.edu/~pauljohn/SwarmFaq/SwarmOnlineFaq.html#3.10
"Can I give Swarm executables to other Windows users?"

I do not believe it is possible to simply send a single .exe
file across systems and expect it to run, but I've been wrong
before.

On Unix systems, I don't think there is any hope you can compile
a program on one kind of Unix and then execute it on another. 
You can compile a Swarm program statically, but I think that it
will not run unless the other system has an almost identical set
of programs like tcltk and blt.

The static build on my Linux system like so:
   make EXTRALDFLAGS=-static
causes the Swarm libraries to be statically compiled into the
program, and the executable does not depend on swarm stuff. 
However, the resulting program does depend on many other
dynamically loaded libraries from the system. I don't know if it
is possible to compile a "totally static" program that depends
on no system libraries.  Take a look after I build statically:
$ make EXTRALDFLAGS=-static
$ ldd ./heatbugs
        libBLT24.so => /usr/lib/libBLT24.so (0x40018000)
        libtk8.3.so => /usr/lib/libtk8.3.so (0x400da000)
        libtcl8.3.so => /usr/lib/libtcl8.3.so (0x40193000)
        libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x4021a000)
        libpng.so.2 => /usr/lib/libpng.so.2 (0x40229000)
        libssl.so.1 => /usr/lib/libssl.so.1 (0x4024a000)
        libcrypto.so.1 => /usr/lib/libcrypto.so.1 (0x40277000)
        libz.so.1 => /usr/lib/libz.so.1 (0x40334000)
        libm.so.6 => /lib/i686/libm.so.6 (0x4034e000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40372000)
        libdl.so.2 => /lib/libdl.so.2 (0x40452000)
        libc.so.6 => /lib/i686/libc.so.6 (0x40456000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40586000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

So, it seems to me you are better off to install the actual
swarm on the target system, mostly as a way to make sure all the
subsidiary libraries are present.


On the swarm web site, there is thing for windows called
"swarmdemos.exe" which as far as I know is the smallest possible
package you can distribute for people to run executables. Here
it is:

ftp://ftp.swarm.org/pub/swarm/binaries/w32/swarmdemos-2.1.1.exe

That package does not include swarm development libries, and you
can't compile programs with it, but it does contain enough of
Swarm to run the compiled programs that are in there.  I don't
know how that demos package was built, but it seems logical to
me that you could work out a routine where a person installs the
demo kit and we could think of it as the "Swarm runtime" and
then you could learn how to compile applications that could be
run as additional demos.   This seems like such an obvious
point, but nobody has ever suggested it to me, not that I recall
anyway. 

This is just conjecture by me, as I'm certainly not able to
support windows repackaging of executables.  I don't have
swarmdemos in a zip format so I can look in and see what files
are in there, but it seems to me somebody on Windows could tell
us how this might work.

Byung-In Kim wrote:
> 
> Hello,
> 
> I am using Swarm-1.4.1
> I'd like to run my application on a machine that has no swarm installation.
> 
> Is there a way that I can do it?
> How can I make a self executable program?
> Thank you in advance.
> 
> Sincerely,
> Byung-In Kim
> Ph.D student at Rensselaer Polytechnic Institute
> 
>                   ==================================
>    Swarm-Support is for discussion of the technical details of the day
>    to day usage of Swarm.  For list administration needs (esp.
>    [un]subscribing), please send a message to <address@hidden>
>    with "help" in the body of the message.

-- 
Paul E. Johnson                       email: address@hidden
Dept. of Political Science           
http://lark.cc.ukans.edu/~pauljohn
University of Kansas                  Office: (785) 864-9086
Lawrence, Kansas 66045                FAX: (785) 864-5700

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]