Redistributable binary? 
Author Message
 Redistributable binary?

I'm having a bit of a problem building Tcl and Tk (8.3.4) executables such
that I can move them from one directory/computer to another.  Both of them
are built such that the prefix and exec-prefix directories are different.  I
attempted to update the tclConfig.sh and tkConfig.sh files to point to the
new directory but that made no difference.  

Each binary is built as follows.

Tcl:
./configure --prefix=$(SHAREDIR) --exec-prefix=$(UTILDIR) --enable-shared
make all install

Tk:
./configure --prefix=$(SHAREDIR) --exec-prefix=$(UTILDIR) \
        --with-tcl=$(UTILDIR)/lib --enable-shared
make all install    

The error I get when exeucting wish follows:
ld.so.1: /home/funkhous/test/locales/SunOS5.7/sparc/WorkShop500/bin/wish:
fatal: libtk8.3.so: open failed: No such file or directory

The error I get when exeucting tclsh follows:
ld.so.1: /home/funkhous/test/locales/SunOS5.7/sparc/WorkShop500/bin/tclsh:
fatal: libtcl8.3.so: open failed: No such file or directory

Are there specific options I need to specify so that the binaries can be
redistributed to other machines?



Sat, 24 Jul 2004 04:14:15 GMT  
 Redistributable binary?


Quote:
>I'm having a bit of a problem building Tcl and Tk (8.3.4) executables such
>that I can move them from one directory/computer to another.  Both of them

                        .
                        .
                        .

Quote:
>Are there specific options I need to specify so that the binaries can be
>redistributed to other machines?

Unix binaries canNOT, in general, be redistributed.

I know that's shocking.  It could well be that you're in
a situation where it's possible, as this is more likely
the case.  Rather than fuss about the details of what
you need, though, I STRONGLY urge you to investigate
TclKit <URL: http://mini.net/tcl/tclkit >.  This is a
repackaging of Tcl which is itself precisely redistri-
butable (plus it has a lot of other goodies built in).
A binary for Solaris is waiting for you at that URL.
--


Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html



Sat, 24 Jul 2004 04:47:03 GMT  
 Redistributable binary?

Quote:



> >I'm having a bit of a problem building Tcl and Tk (8.3.4) executables such
> >that I can move them from one directory/computer to another.  Both of them
>                         .
>                         .
>                         .
> >Are there specific options I need to specify so that the binaries can be
> >redistributed to other machines?

> Unix binaries canNOT, in general, be redistributed.

Then why is it that ActiveTcl (and other packages) can do it?

Quote:
> I know that's shocking.  It could well be that you're in
> a situation where it's possible, as this is more likely
> the case.  Rather than fuss about the details of what
> you need, though, I STRONGLY urge you to investigate
> TclKit <URL: http://mini.net/tcl/tclkit >.  This is a
> repackaging of Tcl which is itself precisely redistri-
> butable (plus it has a lot of other goodies built in).
> A binary for Solaris is waiting for you at that URL.

Note that I am customizing Tcl and Tk source code to work with a different
kind of directory structure such that I do not have to set TCL_LIBRARY and
TK_LIBRARY when executing scripts.  Therefore, using someone else's binaries
is not very helpful.

Also, Solaris 7 and 8 are only two of many platforms I'm building for.  I
will also be building a binaries for IRIX 6.5.



Sat, 24 Jul 2004 04:58:21 GMT  
 Redistributable binary?

Quote:




> > >I'm having a bit of a problem building Tcl and Tk (8.3.4) executables such
> > >that I can move them from one directory/computer to another.  Both of them
> >                         .
> >                         .
> >                         .
> > >Are there specific options I need to specify so that the binaries can be
> > >redistributed to other machines?

> > Unix binaries canNOT, in general, be redistributed.

> Then why is it that ActiveTcl (and other packages) can do it?

I just got it to load by setting LD_LIBRARY_PATH to directory where the
shared objects reside.  Are there any other workarounds?

[snip]



Sat, 24 Jul 2004 05:14:40 GMT  
 Redistributable binary?

Quote:




> > >I'm having a bit of a problem building Tcl and Tk (8.3.4) executables such
> > >that I can move them from one directory/computer to another.  Both of them
        ...
> > >Are there specific options I need to specify so that the binaries can be
> > >redistributed to other machines?

> > Unix binaries canNOT, in general, be redistributed.

> Then why is it that ActiveTcl (and other packages) can do it?

"in general".  What ActiveTcl does is patch the binary on
installation (you'll see a message to that effect).  You can
also set LD_LIBRARY_PATH, as you noticed, but then everybody
needs to do this in their environment.  The easiest is to
have the binary always go into the same place (/usr/local
or /opt/tcl/), as then you don't need to patch or have the
LD_LIBRARY_PATH set.

Quote:
> Note that I am customizing Tcl and Tk source code to work with a different
> kind of directory structure such that I do not have to set TCL_LIBRARY and
> TK_LIBRARY when executing scripts.  Therefore, using someone else's binaries
> is not very helpful.

Have you looked into one of the wrappers instead, like prowrap,
freewrap or (more loosely) tclkit?  They may be the easier way
to go, if you just want to deliver a self-contained binary.

--
  Jeff Hobbs                     The Tcl Guy
  Senior Developer               http://www.ActiveState.com/
        Tcl Support and Productivity Solutions
     http://www.ActiveState.com/Products/ASPN_Tcl/



Sat, 24 Jul 2004 06:16:21 GMT  
 Redistributable binary?


                        .
                        .
                        .
Quote:
>> Note that I am customizing Tcl and Tk source code to work with a different
>> kind of directory structure such that I do not have to set TCL_LIBRARY and
>> TK_LIBRARY when executing scripts.  Therefore, using someone else's binaries
>> is not very helpful.

>Have you looked into one of the wrappers instead, like prowrap,
>freewrap or (more loosely) tclkit?  They may be the easier way
>to go, if you just want to deliver a self-contained binary.

                        .
                        .
                        .
Depending on what Mr. Funkhouser means, "using someone
else's binaries" might be exactly the most helpful
thing.  TclKit is itself a customized shell that obvi-
ates any need for end users to mess with TCL_LIBRARY
and such.

I repeat:  if the whole purpose of your customization
has to do with deployment issues, looking into TclKit
(as well as FreeWrap and ProWrap) would be a favor to
yourself.
--


Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html



Sat, 24 Jul 2004 06:55:53 GMT  
 Redistributable binary?


                        .
                        .
                        .

Quote:
>Also, Solaris 7 and 8 are only two of many platforms I'm building for.  I
>will also be building a binaries for IRIX 6.5.

The purpose of TclKit is to solve difficulties
in deployment.  A requirement of IRIX doesn't
preclude TclKit (or FreeWrap or ..., for that
matter).
--


Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html



Sat, 24 Jul 2004 06:58:08 GMT  
 Redistributable binary?

Quote:





> > > >I'm having a bit of a problem building Tcl and Tk (8.3.4) executables such
> > > >that I can move them from one directory/computer to another.  Both of them
>         ...
> > > >Are there specific options I need to specify so that the binaries can be
> > > >redistributed to other machines?

> > > Unix binaries canNOT, in general, be redistributed.

> > Then why is it that ActiveTcl (and other packages) can do it?

> "in general".  What ActiveTcl does is patch the binary on
> installation (you'll see a message to that effect).  You can
> also set LD_LIBRARY_PATH, as you noticed, but then everybody
> needs to do this in their environment.  The easiest is to
> have the binary always go into the same place (/usr/local
> or /opt/tcl/), as then you don't need to patch or have the
> LD_LIBRARY_PATH set.

> > Note that I am customizing Tcl and Tk source code to work with a different
> > kind of directory structure such that I do not have to set TCL_LIBRARY and
> > TK_LIBRARY when executing scripts.  Therefore, using someone else's binaries
> > is not very helpful.

> Have you looked into one of the wrappers instead, like prowrap,
> freewrap or (more loosely) tclkit?  They may be the easier way
> to go, if you just want to deliver a self-contained binary.

I think I may have confused tclkit with something else.  I will look at it
more tomorrow.  I'm having difficulty finding a link to prowrap or freewrap,
can you help me out?


Sat, 24 Jul 2004 10:34:25 GMT  
 Redistributable binary?


                        .
                        .
                        .

Quote:
>more tomorrow.  I'm having difficulty finding a link to prowrap or freewrap,
>can you help me out?

<URL: http://mini.net/tcl/365.html >
<URL: http://mini.net/tcl/freewrap >
--


Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html



Sat, 24 Jul 2004 11:13:29 GMT  
 Redistributable binary?

Quote:

> I think I may have confused tclkit with something else.  I will look at it
> more tomorrow.  I'm having difficulty finding a link to prowrap or freewrap,
> can you help me out?

        http://freewrap.sourceforge.net/
        http://tclpro.sourceforge.net/
        =>   http://www.activestate.com/Products/ASPN_Tcl/
        =>   http://www.activestate.com/Products/ASPN_Tcl/more_information.plex

--
Sincerely,


        Private         <http://www.purl.org/NET/akupries/>
-------------------------------------------------------------------------------

Quote:
}



Sat, 24 Jul 2004 11:40:20 GMT  
 Redistributable binary?
First of all, apologies if the threading of this doesn't tie in - I
have a major problem with my news feed, and it would help to copy any
response to me by email, as I'm dependent on google for reading news
at the moment.

Tclkit as a basis for distributing executables is first class, but
like many powerful tools it takes a bit of time and thought to make
best use of it, and the code usually runs ahead of the documentation.
I distribute mostly on Win32, but develop on BSD/OS, for which I build
my own executables from source.   Because the supplied build scripts
are shell scripts rather than Makefiles, you also have to get into the
mindset of the author, whose MetaKit database system provides some of
the critical functionality.   It's not difficult, but it's not as
straightforward as the usual configure-make-install process.
I use tclkit for preference over a standard installation, and even run
webservers using an experimental version with everything wrapped up in
a single custom tclkit file (which is quite awesome to some people - a
complete webserver in one file on a single floppy).

I have it in mind to write an introduction to tclkit based on my own
experience, from a user's rather than a developer's point of view, and
I'd welcome suggestions for points to be included from other users.
If nothing else, it might relieve jcw of the need to respond to
elementary questions.

--



Sat, 24 Jul 2004 14:02:01 GMT  
 Redistributable binary?




:>Also, Solaris 7 and 8 are only two of many platforms I'm building for.  I
:>will also be building a binaries for IRIX 6.5.
:The purpose of TclKit is to solve difficulties
:in deployment.  A requirement of IRIX doesn't
:preclude TclKit (or FreeWrap or ..., for that
:matter).

It does, however, mean that one gird their loins and jump into the e{*filter*}ment
of building TclKit for their environment.

If you are alreadying building binaries, then it is only slightly more
complex - as our ActiveState friends can attest, getting extensions
to play nicely in the same package (particularly extensions which
are NOT Tcl Extension Architecture compliant) can be a non-trivial
task.

--
"I know of vanishingly few people ... who choose to use ksh." "I'm a minority!"

Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.



Sun, 25 Jul 2004 03:53:25 GMT  
 Redistributable binary?


:I'm having a bit of a problem building Tcl and Tk (8.3.4) executables such
:that I can move them from one directory/computer to another.  Both of them
:are built such that the prefix and exec-prefix directories are different.  I
:attempted to update the tclConfig.sh and tkConfig.sh files to point to the
:new directory but that made no difference.  

Tcl and Tk binaries do not look at the *.sh files.  They instead, unfortutately,
embed path information into the binaries.  Thus, attempting to move things
after installation, or to install things in one directory then use them
with the directories called something else, will result in various difficulties.

--
"I know of vanishingly few people ... who choose to use ksh." "I'm a minority!"

Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.



Mon, 26 Jul 2004 04:01:27 GMT  
 Redistributable binary?

Quote:



> > > >I'm having a bit of a problem building Tcl and Tk (8.3.4)
executables such
> > > >that I can move them from one directory/computer to another.
Both of them

> I just got it to load by setting LD_LIBRARY_PATH to directory where
the
> shared objects reside.  Are there any other workarounds?

LD_LIBRARY_PATH is the big kicker from the operating system standpoint.
That tells the OS where to find the shared objects (i.e., libtcl8.3.sl).
The environment variable can have different names on different
platforms.

One cute trick, used by TclPro.  Rename the actual binary to tclsh.bin,
and write a replacement shell script that sets the environment variable,
then exec's the binary.

The other thing that might cause problems is TCL_LIBRARY.  The Tcl
shells are pretty good about finding all the library code, if you move
the libs and the binaries as a set.  But if you build Tcl/Tk in one
configuration, then install them on another machine by scattering around
binaries, shared libraries, and Tcl libraries, you may have to set the
TCL_LIBRARY variable to help find everything.

Bob
--

Mayo Foundation                                 (507) 538-5495
200 First St. SW                            FAX (507) 284-9171
Rochester MN, 55901  USA            http://www.mayo.edu/sppdg/



Sun, 25 Jul 2004 02:29:44 GMT  
 
 [ 14 post ] 

 Relevant Pages 

1. Freely Redistributable Postscript Interpreters

2. Redistributable Scheme tutorial, Environments, OO

3. Redistributable Graphics Package Sought

4. Redistributable Expect for windows

5. What files are needed for a redistributable executable

6. CFP: 2nd Conference on Freely Redistributable Software

7. Conference on Freely Redistributable Software [repost]

8. Conference on Freely Redistributable Software (long)

9. LAST CALL - CFP, Redistributable Software

10. CFP - Conference on Redistributable Software

11. Reading binary files, unflatten binary string

12. convert binary number to binary string

 

 
Powered by phpBB® Forum Software