Thread: tkConfig.sh vs. ./configure

tkConfig.sh vs. ./configure

From
Karel Zak
Date:
See:

./configure     --prefix=/usr/lib/postgresql \               --with-unixodbc \               --enable-odbc \
  --with-openssl \               --with-pam \               --with-python \               --with-perl \
--with-tcl\               --enable-nls \               --enable-multibyte \               --enable-recode \
 --enable-locale
 
[--cut--]checking for tclsh... /usr/bin/tclshchecking for tclConfig.sh... /usr/lib/tcl8.3/tclConfig.shchecking for
tkConfig.sh...noconfigure: error: file `tkConfig.sh' is required for Tk
 
..hmm, I try:
$ ls -la /usr/lib/tk8.3/tkConfig.sh-rw-r--r--    1 root     root         3194 Oct 27 10:00/usr/lib/tk8.3/tkConfig.sh
If I define directly path by --with-tkconfig=/usr/lib/tk8.3 it pass. But why is it needful for tkConfig.sh if it's at
verysimular place as tclConfig.sh?
 
/usr/lib/tcl8.3/tclConfig.sh/usr/lib/tk8.3/tkConfig.sh
Comments?
       Karel

-- Karel Zak  <zakkr@zf.jcu.cz>http://home.zf.jcu.cz/~zakkr/C, PostgreSQL, PHP, WWW, http://docs.linux.cz,
http://mape.jcu.cz


Re: tkConfig.sh vs. ./configure

From
Tom Lane
Date:
Karel Zak <zakkr@zf.jcu.cz> writes:
>  checking for tclConfig.sh... /usr/lib/tcl8.3/tclConfig.sh
>  checking for tkConfig.sh... no
>  configure: error: file `tkConfig.sh' is required for Tk
>  If I define directly path by --with-tkconfig=/usr/lib/tk8.3 it pass. 
>  But why is it needful for tkConfig.sh if it's at very simular place 
>  as tclConfig.sh?

It looks like the default way to find the search path for these things
is to ask Tcl, via       echo 'puts $auto_path' | $TCLSH

Unfortunately tclsh is only going to answer about plain Tcl, not Tk.
We'd need to ask wish to get the path for Tk stuff.  For example,
I get

$ tclsh
% puts $auto_path
/usr/local/lib/tcl8.0 /usr/local/lib

$ wish
% puts $auto_path
/usr/local/lib/tcl8.0 /usr/local/lib /usr/local/lib/tk8.0

Asking wish does not seem like a good idea, since it will fail to fire
up if you aren't in an X environment.

However, on my machine both tclConfig.sh and tkConfig.sh are in
/usr/local/lib, not in the subdirectories.  Putting them in
version-specific subdirectories seems pretty self-defeating.
What packaging of tcl/tk did you use?
        regards, tom lane


Re: tkConfig.sh vs. ./configure

From
Peter Eisentraut
Date:
Karel Zak writes:

>  [--cut--]
>  checking for tclsh... /usr/bin/tclsh
>  checking for tclConfig.sh... /usr/lib/tcl8.3/tclConfig.sh
>  checking for tkConfig.sh... no
>  configure: error: file `tkConfig.sh' is required for Tk
>
>  ..hmm, I try:
>
>  $ ls -la /usr/lib/tk8.3/tkConfig.sh
>  -rw-r--r--    1 root     root         3194 Oct 27 10:00
>  /usr/lib/tk8.3/tkConfig.sh

The tclConfig.sh file is found by looking into the path returned by `echo
'puts $auto_path' | tclsh`.

Then theoretically, the tkConfig.sh file should be found by looking into
the path returned by `echo 'puts $auto_path' | wish`, which would indeed
give the right answer, but when I execute that, wish also opens a window
on my desktop and hangs, which is not exactly what you'd want during a
configure run.

If you have a plan to work around that and the case where X is not running
during configuration, then I'm all ears.

-- 
Peter Eisentraut   peter_e@gmx.net



Re: tkConfig.sh vs. ./configure

From
Daniel Kalchev
Date:
>>>Peter Eisentraut said:> Karel Zak writes:> > >  [--cut--]> >  checking for tclsh... /usr/bin/tclsh> >  checking for
tclConfig.sh.../usr/lib/tcl8.3/tclConfig.sh> >  checking for tkConfig.sh... no> >  configure: error: file `tkConfig.sh'
isrequired for Tk> >> >  ..hmm, I try:> >> >  $ ls -la /usr/lib/tk8.3/tkConfig.sh> >  -rw-r--r--    1 root     root
   3194 Oct 27 10:00> >  /usr/lib/tk8.3/tkConfig.sh> > The tclConfig.sh file is found by looking into the path returned
by`echo> 'puts $auto_path' | tclsh`.> > Then theoretically, the tkConfig.sh file should be found by looking into> the
pathreturned by `echo 'puts $auto_path' | wish`, which would indeed> give the right answer, but when I execute that,
wishalso opens a window> on my desktop and hangs, which is not exactly what you'd want during a> configure run.
 

What about `echo 'puts $auto_path; exit' | wish'?

Daniel




Re: tkConfig.sh vs. ./configure

From
Karel Zak
Date:
On Thu, Dec 20, 2001 at 06:13:12PM +0100, Peter Eisentraut wrote:

> The tclConfig.sh file is found by looking into the path returned by `echo
> 'puts $auto_path' | tclsh`.
> 
> Then theoretically, the tkConfig.sh file should be found by looking into
> the path returned by `echo 'puts $auto_path' | wish`, which would indeed
In the X-win:
$ echo 'puts $auto_path; exit' | wish/usr/lib/tcl8.3 /usr/lib /usr/lib/tk8.3
it's right, but really ugly is that it require X display. $ echo 'puts $auto_path; exit' | wishApplication
initializationfailed: no display name and no $DISPLAYenvironment variable
 

The other thing is that tcl*.h and tk.h files are in /usr/inlude/tcl8.3,and 

$ ./configure     --prefix=/usr/lib/postgresql \                 --with-tcl \
--with-tkconfig=/usr/lib/tk8.3/finishwith:
 

make[4]: Leaving directory `/var/home/PG_DEVEL/pgsql/src/interfaces/libpgtcl'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../src/interfaces/libpgtcl -I../../../src/include
-I/usr/X11R6/include -c -o pgtkAppInit.o pgtkAppInit.c
 
pgtkAppInit.c:15: tk.h: No such file or directory
make[3]: *** [pgtkAppInit.o] Error 1
(yes, I know --includedir= etc., but it's _standard_ latest unstable Debian...)  
       Karel

-- Karel Zak  <zakkr@zf.jcu.cz>http://home.zf.jcu.cz/~zakkr/C, PostgreSQL, PHP, WWW, http://docs.linux.cz,
http://mape.jcu.cz


Re: tkConfig.sh vs. ./configure

From
Karel Zak
Date:
On Thu, Dec 20, 2001 at 01:29:42PM -0500, Tom Lane wrote:
> Karel Zak <zakkr@zf.jcu.cz> writes:
> >  The other thing is that tcl*.h and tk.h files are in /usr/inlude/tcl8.3,
> 
> There's not a darn thing we can do about that, because tclConfig.sh
> doesn't tell exactly where the include files are (which is Tcl's
> oversight, but we're stuck with it).  We could try "$TCL_PREFIX/include",
> which'd work on standard Tcl install layouts, but Debian has evidently
> managed to botch that too.
> 
> >  (yes, I know --includedir= etc., but it's _standard_ latest unstable
> >   Debian...)  
> 
> It may be Debian's idea of standard, but that doesn't mean it's not
I agree, but change of this is probably out of our possibility...

> broken.  How are we supposed to guess where they are hiding these files,
> short of searching the entire filesystem?

I see debian/rule (build system) of tkdvi package and here is    ./configure --with-tcl=/usr/lib/tcl8.3 \
--with-tk=/usr/lib/tk8.3\               --with-tclinclude=/usr/include/tcl8.3 \
--with-tkinclude=/usr/include/tcl8.3
       Karel
-- Karel Zak  <zakkr@zf.jcu.cz>http://home.zf.jcu.cz/~zakkr/C, PostgreSQL, PHP, WWW, http://docs.linux.cz,
http://mape.jcu.cz


Re: tkConfig.sh vs. ./configure

From
Tom Lane
Date:
Karel Zak <zakkr@zf.jcu.cz> writes:
>  The other thing is that tcl*.h and tk.h files are in /usr/inlude/tcl8.3,

There's not a darn thing we can do about that, because tclConfig.sh
doesn't tell exactly where the include files are (which is Tcl's
oversight, but we're stuck with it).  We could try "$TCL_PREFIX/include",
which'd work on standard Tcl install layouts, but Debian has evidently
managed to botch that too.

>  (yes, I know --includedir= etc., but it's _standard_ latest unstable
>   Debian...)  

It may be Debian's idea of standard, but that doesn't mean it's not
broken.  How are we supposed to guess where they are hiding these files,
short of searching the entire filesystem?
        regards, tom lane


Re: tkConfig.sh vs. ./configure

From
Tom Lane
Date:
Karel Zak <zakkr@zf.jcu.cz> writes:
> On Thu, Dec 20, 2001 at 10:20:34AM -0500, Tom Lane wrote:
>> What packaging of tcl/tk did you use?

>  Latest unstable GNU/Linux Debian. Tcl 8.3.3-1, Tk 8.3.3-1.

I think the Debian packager blew it.

I just looked at a Red Hat 7.2 machine, and it has both tclConfig.sh
and tkConfig.sh in /usr/lib.
        regards, tom lane


Re: tkConfig.sh vs. ./configure

From
Karel Zak
Date:
On Thu, Dec 20, 2001 at 10:20:34AM -0500, Tom Lane wrote:
> Karel Zak <zakkr@zf.jcu.cz> writes:

> However, on my machine both tclConfig.sh and tkConfig.sh are in
> /usr/local/lib, not in the subdirectories.  Putting them in
> version-specific subdirectories seems pretty self-defeating.
> What packaging of tcl/tk did you use?
Latest unstable GNU/Linux Debian. Tcl 8.3.3-1, Tk 8.3.3-1.       Karel

-- Karel Zak  <zakkr@zf.jcu.cz>http://home.zf.jcu.cz/~zakkr/C, PostgreSQL, PHP, WWW, http://docs.linux.cz,
http://mape.jcu.cz


Re: tkConfig.sh vs. ./configure

From
Bruce Momjian
Date:
Was this resolved?

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

> On Thu, Dec 20, 2001 at 01:29:42PM -0500, Tom Lane wrote:
> > Karel Zak <zakkr@zf.jcu.cz> writes:
> > >  The other thing is that tcl*.h and tk.h files are in /usr/inlude/tcl8.3,
> > 
> > There's not a darn thing we can do about that, because tclConfig.sh
> > doesn't tell exactly where the include files are (which is Tcl's
> > oversight, but we're stuck with it).  We could try "$TCL_PREFIX/include",
> > which'd work on standard Tcl install layouts, but Debian has evidently
> > managed to botch that too.
> > 
> > >  (yes, I know --includedir= etc., but it's _standard_ latest unstable
> > >   Debian...)  
> > 
> > It may be Debian's idea of standard, but that doesn't mean it's not
> 
>  I agree, but change of this is probably out of our possibility...
> 
> > broken.  How are we supposed to guess where they are hiding these files,
> > short of searching the entire filesystem?
> 
> 
>  I see debian/rule (build system) of tkdvi package and here is 
>  
>     ./configure --with-tcl=/usr/lib/tcl8.3 \
>                 --with-tk=/usr/lib/tk8.3 \
>                 --with-tclinclude=/usr/include/tcl8.3 \
>                 --with-tkinclude=/usr/include/tcl8.3
> 
>         Karel
>  
> -- 
>  Karel Zak  <zakkr@zf.jcu.cz>
>  http://home.zf.jcu.cz/~zakkr/
>  
>  C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
> http://www.postgresql.org/users-lounge/docs/faq.html
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026