R-beta: configure problem (tcltk) on 64 bit Red Hat EL

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

R-beta: configure problem (tcltk) on 64 bit Red Hat EL

Bjørn-Helge Mevik
Dear developeRs,

I use Red Hat Enterprise Linux WS release 4 (Nahant Update 2) on an
x86_64 machine (two Intel P4 CPUs with 64 bit support), and
R-beta_2005-12-12_r36712.tar.gz.

If I run configure without any options, it does not list tcltk among
the supported interfaces:

./configure
[...]
R is now configured for x86_64-unknown-linux-gnu

  Source directory:          .
  Installation directory:    /usr/local

  C compiler:                gcc  -g -O2
  C++ compiler:              g++  -g -O2
  Fortran compiler:          g77  -g -O2

  Interfaces supported:      X11
  External libraries:        readline, BLAS(generic)
  Additional capabilities:   PNG, JPEG, iconv, MBCS, NLS
  Options enabled:           R profiling

  Recommended packages:      yes

It seems to find tcl and tk, but not be able to compile/link them:
[...]
checking /usr/include/tcl.h usability... yes
checking /usr/include/tcl.h presence... yes
checking for /usr/include/tcl.h... yes
[...]
checking /usr/include/tk.h usability... yes
checking /usr/include/tk.h presence... yes
checking for /usr/include/tk.h... yes
checking whether compiling/linking Tcl/Tk code works... no


Looking in config.log, it seems that even though libX11 has been found
in /usr/X11R6/lib64, it is not searched for in that directory when
testing compiling/linking Tcl/Tk:

configure:35654: checking for X
configure:35892: result: libraries /usr/X11R6/lib64, headers /usr/X11R6/include
configure:36088: gcc -o conftest -g -O2  -I/usr/local/include -L/usr/local/lib64 conftest.c -ldl -lm   -L/usr/X11R6/lib64 -lX11 >&5
configure:36094: $? = 0
configure:36098: test -z
                         || test ! -s conftest.err
configure:36101: $? = 0
configure:36104: test -s conftest
configure:36107: $? = 0
[...]
configure:38437: checking whether compiling/linking Tcl/Tk code works
configure:38480: gcc -o conftest -g -O2  -I/usr/local/include -I/usr/include -I/usr/include -I/usr/X11R6/include -L/usr/local/lib64 conftest.c -ldl -lm  -L/usr/lib -ltcl8.4 -L/usr/lib -ltk8.4 -L/usr/X11R6/lib -lX11 >&5
/usr/bin/ld: skipping incompatible /usr/lib/libtcl8.4.so when searching for -ltcl8.4
/usr/bin/ld: skipping incompatible /usr/lib/libtcl8.4.so when searching for -ltcl8.4
/usr/bin/ld: skipping incompatible /usr/lib/libtk8.4.so when searching for -ltk8.4
/usr/bin/ld: skipping incompatible /usr/lib/libtk8.4.so when searching for -ltk8.4
/usr/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
configure:38486: $? = 1

Running ./configure LDFLAGS="-L/usr/local/lib64  -L/usr/X11R6/lib64"
solves/avoids the problem for me.

I thought I'd report the problem anyway, since I don't know if it is the
intended behaviour of configure.


--
Sincerely,
Bjørn-Helge Mevik

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: R-beta: configure problem (tcltk) on 64 bit Red Hat EL

Prof Brian Ripley
Yes, the R-admin manual warns of this.

It is a problem with your particular OS, as e.g. FC3 does

checking for tclConfig.sh... no
checking for tclConfig.sh in library (sub)directories...
/usr/lib64/tclConfig.sh
checking for tkConfig.sh... no
checking for tkConfig.sh in library (sub)directories...
/usr/lib64/tkConfig.sh

and that config file has

# Additional libraries to use when linking Tk.
TK_LIBS='-L/usr/X11R6/lib64 -lX11 -ldl  -lieee -lm'

Unfortunately you have removed the crucial parts of where your configure
got the configuration info from.


On Wed, 14 Dec 2005, Bjørn-Helge Mevik wrote:

> Dear developeRs,
>
> I use Red Hat Enterprise Linux WS release 4 (Nahant Update 2) on an
> x86_64 machine (two Intel P4 CPUs with 64 bit support), and
> R-beta_2005-12-12_r36712.tar.gz.
>
> If I run configure without any options, it does not list tcltk among
> the supported interfaces:
>
> ./configure
> [...]
> R is now configured for x86_64-unknown-linux-gnu
>
>  Source directory:          .
>  Installation directory:    /usr/local
>
>  C compiler:                gcc  -g -O2
>  C++ compiler:              g++  -g -O2
>  Fortran compiler:          g77  -g -O2
>
>  Interfaces supported:      X11
>  External libraries:        readline, BLAS(generic)
>  Additional capabilities:   PNG, JPEG, iconv, MBCS, NLS
>  Options enabled:           R profiling
>
>  Recommended packages:      yes
>
> It seems to find tcl and tk, but not be able to compile/link them:
> [...]
> checking /usr/include/tcl.h usability... yes
> checking /usr/include/tcl.h presence... yes
> checking for /usr/include/tcl.h... yes
> [...]
> checking /usr/include/tk.h usability... yes
> checking /usr/include/tk.h presence... yes
> checking for /usr/include/tk.h... yes
> checking whether compiling/linking Tcl/Tk code works... no
>
>
> Looking in config.log, it seems that even though libX11 has been found
> in /usr/X11R6/lib64, it is not searched for in that directory when
> testing compiling/linking Tcl/Tk:
>
> configure:35654: checking for X
> configure:35892: result: libraries /usr/X11R6/lib64, headers /usr/X11R6/include
> configure:36088: gcc -o conftest -g -O2  -I/usr/local/include -L/usr/local/lib64 conftest.c -ldl -lm   -L/usr/X11R6/lib64 -lX11 >&5
> configure:36094: $? = 0
> configure:36098: test -z
>                         || test ! -s conftest.err
> configure:36101: $? = 0
> configure:36104: test -s conftest
> configure:36107: $? = 0
> [...]
> configure:38437: checking whether compiling/linking Tcl/Tk code works
> configure:38480: gcc -o conftest -g -O2  -I/usr/local/include -I/usr/include -I/usr/include -I/usr/X11R6/include -L/usr/local/lib64 conftest.c -ldl -lm  -L/usr/lib -ltcl8.4 -L/usr/lib -ltk8.4 -L/usr/X11R6/lib -lX11 >&5
> /usr/bin/ld: skipping incompatible /usr/lib/libtcl8.4.so when searching for -ltcl8.4
> /usr/bin/ld: skipping incompatible /usr/lib/libtcl8.4.so when searching for -ltcl8.4
> /usr/bin/ld: skipping incompatible /usr/lib/libtk8.4.so when searching for -ltk8.4
> /usr/bin/ld: skipping incompatible /usr/lib/libtk8.4.so when searching for -ltk8.4
> /usr/bin/ld: cannot find -lX11
> collect2: ld returned 1 exit status
> configure:38486: $? = 1
>
> Running ./configure LDFLAGS="-L/usr/local/lib64  -L/usr/X11R6/lib64"
> solves/avoids the problem for me.
>
> I thought I'd report the problem anyway, since I don't know if it is the
> intended behaviour of configure.
>
>
> --
> Sincerely,
> Bjørn-Helge Mevik
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
--
Brian D. Ripley,                  [hidden email]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: R-beta: configure problem (tcltk) on 64 bit Red Hat EL

Bjørn-Helge Mevik
In reply to this post by Bjørn-Helge Mevik
Martyn Plummer wrote:

> It looks like you have the i386 RPMs for tcl and tk installed.

You are right.  I have both the i386 and x86_64 RPMs installed.

> ./configure --with-tcl-config=/usr/lib64/tclConfig.sh \
>             --with-tk-config=/usr/lib64/tkConfig.sh

Thank you!  This works like a charm.


Prof Brian Ripley wrote:

> It is a problem with your particular OS,

You are right.  As Martyn suggested, configure picked up
/usr/lib/{tcl,tk}Config.sh instead of /usr/lib64/{tcl,tk}Config.sh
because I have both i386 and x86_64 versions of the RPMs installed.

> Unfortunately you have removed the crucial parts of where your
> configure got the configuration info from.

Typically me! :-)


Thanks, both of you!

--
Bjørn-Helge Mevik

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: R-beta: configure problem (tcltk) on 64 bit Red Hat EL

Prof Brian Ripley
On Wed, 14 Dec 2005, Bjørn-Helge Mevik wrote:

> Martyn Plummer wrote:
>
>> It looks like you have the i386 RPMs for tcl and tk installed.
>
> You are right.  I have both the i386 and x86_64 RPMs installed.
>
>> ./configure --with-tcl-config=/usr/lib64/tclConfig.sh \
>>             --with-tk-config=/usr/lib64/tkConfig.sh
>
> Thank you!  This works like a charm.
At a closer look, R was searching /usr/lib before /usr/lib64 which seems
sub-optimal, so I have reversed this (and added /usr/local/lib64 to the
list before /usr/local/lib).  Nevertheless, for some builds (e.g.
32-bit R on 64-bit Linux) you will need to specify the paths as the manual
says.

> Prof Brian Ripley wrote:
>
>> It is a problem with your particular OS,
>
> You are right.  As Martyn suggested, configure picked up
> /usr/lib/{tcl,tk}Config.sh instead of /usr/lib64/{tcl,tk}Config.sh
> because I have both i386 and x86_64 versions of the RPMs installed.
>
>> Unfortunately you have removed the crucial parts of where your
>> configure got the configuration info from.
>
> Typically me! :-)
>
>
> Thanks, both of you!
>
> --
> Bjørn-Helge Mevik
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
--
Brian D. Ripley,                  [hidden email]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Loading...