[R-SIG-Mac] compiling from source on ML, tcltk

Kasper Daniel Hansen kasperdanielhansen at gmail.com
Tue Sep 4 14:47:38 CEST 2012


On Mon, Sep 3, 2012 at 2:22 AM, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
> On 03/09/2012 01:11, Kasper Daniel Hansen wrote:
>>
>> On Sun, Sep 2, 2012 at 3:54 PM, Prof Brian Ripley <ripley at stats.ox.ac.uk>
>> wrote:
>>>
>>> Do you need R.app?  If not, I would recommend using ActiveTcl Tcl/Tk by
>>> e.g.
>>>
>>> ./configure ...
>>> --with-tcl-config=/Library/Frameworks/Tcl.framework/tclConfig.sh
>>> --with-tk-config=/Library/Frameworks/Tk.framework/tkConfig.sh
>>
>>
>> I don't have (Tcl|Tk).framework in /Library/Frameworks.  I seem to
>> recall they were there in earlier versions of the OS.
>
>
> On my system, that is where ActiveTcl installed.   Even when Apple shipped
> an Aqua Tcl/Tk, it was old and limited and ActiveTcl is quite way to get a
> pre-compiled current version.
>
>
>> I did some more investigation.  Following a suggestion on Stack overflow I
>> did
>>    sudo ln -s /opt/X11/include/X11 /usr/include
>> and that suddenly gave me tcltk capabilities.  To be honest, I don't
>> understand why. I use
>>    --X-Includes=/Usr/X11/Include --X-Libraries=/Usr/X11/Lib
>
>
> If you use /Usr then it may well not work.  These tools are case-sensitive
> ....

Thanks, the lines I have in my email I wrong - I did some manual
editing as I was testing some stuff.

So to be clear, I use
  --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib\
Without the symbolic link I get aqua, X11 support

With the symbolic link I get aqua, X11, tcltk support

Looking at config.log, it seems that all the test tcl and/or tk
programs complaining about missing X11/Xlib.h.  When I look at the gcc
command, I see stuff like
  /usr/bin/gcc-4.2 -arch x86_64 -std=gnu99 -E -I/usr/local/include
-I/usr/local/include conftest.c
Include directories depends on on which test we are talking about, but
never includes the directory I specified with --x-includes, which
seems wrong to me.

This could explain why making the symlink (so we have X11/Xlib.h under
/usr/include) makes tcltk work.

Kasper

>
>
>> in my configure script so I don't fully understand why the presence of
>> this symbolic link fixes it.  But it is an empirical fact it does....
>>
>> Kasper
>>
>>
>>
>>>
>>> I've been using it for some time, and it has much nicer ttk widgets.
>>>
>>>
>>>
>>> On 02/09/2012 19:21, Kasper Daniel Hansen wrote:
>>>>
>>>>
>>>> I now want to get tcltk support working under ML (because I need to
>>>> test a few packages).
>>>>
>>>> I have installed Xquartz and I have just install the new tcltk 8.5.5
>>>> from CRAN (which is not signed btw).
>>>>
>>>> Running configure, I get
>>>>
>>>> checking for tclConfig.sh... no
>>>> checking for tclConfig.sh in library (sub)directories...
>>>> /usr/local/lib/tclConfig.sh
>>>> checking for tkConfig.sh... no
>>>> checking for tkConfig.sh in library (sub)directories...
>>>> /usr/local/lib/tkConfig.sh
>>>> checking tcl.h usability... yes
>>>> checking tcl.h presence... yes
>>>> checking for tcl.h... yes
>>>> checking tk.h usability... no
>>>> checking tk.h presence... no
>>>> checking for tk.h... no
>>>> checking /usr/local/include/tk8.5/generic/tk.h usability... no
>>>> checking /usr/local/include/tk8.5/generic/tk.h presence... no
>>>> checking for /usr/local/include/tk8.5/generic/tk.h... no
>>>> checking /usr/local/include/tk8.5/tk.h usability... no
>>>> checking /usr/local/include/tk8.5/tk.h presence... no
>>>> checking for /usr/local/include/tk8.5/tk.h... no
>>>> checking /usr/local/include/tcl8.5/tk.h usability... no
>>>> checking /usr/local/include/tcl8.5/tk.h presence... no
>>>> checking for /usr/local/include/tcl8.5/tk.h... no
>>>> checking /usr/local/include/tk.h usability... no
>>>> checking /usr/local/include/tk.h presence... no
>>>> checking for /usr/local/include/tk.h... no
>>>> checking for tk.h... yes
>>>>
>>>> So it seems to find tcltk.  I get a few warnings when it checks for X11
>>>> headers:
>>>>
>>>> checking X11/Intrinsic.h presence... no
>>>> configure: WARNING: X11/Intrinsic.h: accepted by the compiler,
>>>> rejected by the preprocessor!
>>>> configure: WARNING: X11/Intrinsic.h: proceeding with the compiler's
>>>> result
>>>>
>>>> and
>>>>
>>>> checking X11/Xmu/Atoms.h presence... no
>>>> configure: WARNING: X11/Xmu/Atoms.h: accepted by the compiler,
>>>> rejected by the preprocessor!
>>>> configure: WARNING: X11/Xmu/Atoms.h: proceeding with the compiler's
>>>> result
>>>>
>>>> I assume these are unrelated.  Although configure seems to find tcltk,
>>>> at the end of configure, I get
>>>>
>>>> R is now configured for x86_64-apple-darwin12.1.0
>>>>
>>>>     Source directory:          ../R-2.15.x-src
>>>>     Installation directory:    /usr/local/R/R-2.15.x
>>>>
>>>>     C compiler:                /usr/bin/gcc-4.2 -arch x86_64 -std=gnu99
>>>> -g -O2 -std=gnu99 -march=nocona
>>>>     Fortran 77 compiler:       /usr/bin/gfortran-4.2 -arch x86_64  -g
>>>> -O2 -march=nocona
>>>>
>>>>     C++ compiler:              /usr/bin/g++-4.2 -arch x86_64  -g -O2
>>>> -march=nocona
>>>>     Fortran 90/95 compiler:    /usr/bin/gfortran-4.2 -arch x86_64 -g -O2
>>>> -march=nocona
>>>>     Obj-C compiler:            /usr/bin/gcc-4.2 -arch x86_64 -g -O2
>>>> -fobjc-exceptions
>>>>
>>>>     Interfaces supported:      X11, aqua
>>>>     External libraries:        readline, BLAS(vecLib), LAPACK(in blas),
>>>> ICU
>>>>     Additional capabilities:   PNG, JPEG, NLS
>>>>     Options enabled:           R profiling, memory profiling, Java
>>>>
>>>>     Recommended packages:      yes
>>>>
>>>> which does not mention tcltk support under 'Interfaces supported'.
>>>>
>>>> This used to work on Lion, and I am wondering what I am doing wrong.
>>>
>>>
>>>
>>> I think you should be wondering what Apple is doing wrong ....  But you
>>> need
>>> to look in config.log to find the root cause.
>>>
>>>>
>>>> My configure script is
>>>>
>>>> export LANG=en_US.UTF-8
>>>> ../${SRCDIR}/configure SHELL='/bin/bash' \
>>>>     --prefix=/usr/local/R/R-${R_VERSION} --disable-R-framework\
>>>>     CC="/usr/bin/gcc-4.2 -arch x86_64 -std=gnu99" \
>>>>     CFLAGS="-g -O2 -std=gnu99 -march=nocona" \
>>>>     CXX="/usr/bin/g++-4.2 -arch x86_64" \
>>>>     CXXFLAGS="-g -O2 -march=nocona" \
>>>>     OBJC="/usr/bin/gcc-4.2 -arch x86_64" \
>>>>     F77="/usr/bin/gfortran-4.2 -arch x86_64" \
>>>>     FFLAGS="-g -O2 -march=nocona" \
>>>>     FC="/usr/bin/gfortran-4.2 -arch x86_64" \
>>>>     FCFLAGS="-g -O2 -march=nocona" \
>>>>     --enable-memory-profiling\
>>>>     --X-Includes=/Usr/X11/Include --X-Libraries=/Usr/X11/Lib\
>>>>     --with-system-zlib\
>>>>     --with-blas='-framework vecLib' --with-lapack
>>>>
>>>> Thanks,
>>>> Kasper
>>>>
>>>> _______________________________________________
>>>> R-SIG-Mac mailing list
>>>> R-SIG-Mac at r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>>>
>>>
>>>
>>> --
>>> 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
>
>
>
> --
> 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



More information about the R-SIG-Mac mailing list