Bjørn-Helge Mevik
2005-Dec-14 12:12 UTC
[Rd] R-beta: configure problem (tcltk) on 64 bit Red Hat EL
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
Prof Brian Ripley
2005-Dec-14 12:58 UTC
[Rd] R-beta: configure problem (tcltk) on 64 bit Red Hat EL
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 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > >-- Brian D. Ripley, ripley at stats.ox.ac.uk 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
Bjørn-Helge Mevik
2005-Dec-14 20:05 UTC
[Rd] R-beta: configure problem (tcltk) on 64 bit Red Hat EL
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.shThank 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
Prof Brian Ripley
2005-Dec-15 07:26 UTC
[Rd] R-beta: configure problem (tcltk) on 64 bit Red Hat EL
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 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > >-- Brian D. Ripley, ripley at stats.ox.ac.uk 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