From simon.urbanek at r-project.org  Wed Sep 30 22:47:21 2009
From: simon.urbanek at r-project.org (Simon Urbanek)
Date: Wed, 30 Sep 2009 16:47:21 -0400
Subject: [Rd] How to compile R with command completion?
In-Reply-To: <366c6f340909301330u69db2352k4adf7dfd72204233@mail.gmail.com>
References: <366c6f340909291134w1b253caeje00a3054ef35e619@mail.gmail.com>
	<4AC27267.2060007@gmail.com>
	<366c6f340909291946u545c024fyf0ac54e002e3927@mail.gmail.com>
	<4AC2D2E8.8040208@fhcrc.org>
	<366c6f340909300526s3470a4eep63c92eb67f24270b@mail.gmail.com>
	<4AC361CA.3010206@fhcrc.org>
	<366c6f340909300713v5354d451p26cd8e86ff678e@mail.gmail.com>
	<B4579565-640A-426B-BC09-9DB4F8FEC660@r-project.org>
	<366c6f340909301330u69db2352k4adf7dfd72204233@mail.gmail.com>
Message-ID: <F99C1252-65CE-415A-A243-7C28F4716E3F@r-project.org>

Peng,

as you can see there is no -lreadline so I'd look further up in  
config.log to see why it's failing -- do you have LD_LIBRARY_PATH  
setup to match your custom location of libs? (Also I notice you are  
building x86_64 yet the readline you are showing is in /lib and not  
in /lib64 -- did you build it just in 32-bit?)

Cheers,
Simon


On Sep 30, 2009, at 16:30 , Peng Yu wrote:

> On Wed, Sep 30, 2009 at 9:58 AM, Simon Urbanek
> <simon.urbanek at r-project.org> wrote:
>>
>> On Sep 30, 2009, at 10:13 , Peng Yu wrote:
>>
>>> I compiled R-2.9.2 from source on Cent OS. But the compile R program
>>> does not support command completion.
>>>
>>> I get the following configure output that is related to readline.  
>>> Why
>>> 'rl_completion_matches' doesn't exist?
>>
>> Maybe your readline is too old? Maybe you have a readline-replacement
>> library (e.g. libedit) that poses as readline? Try installing some  
>> recent
>> readline (incl. -dev part) - the current version is 6.0. If that  
>> doesn't
>> help, look at config.log around the rl_completion_matches.
>
> I have installed readline 6.0.
>
> $ ls /home/pengy/utility/linux/lib/libreadline.*
> /home/pengy/utility/linux/lib/libreadline.a
> /home/pengy/utility/linux/lib/libreadline.so
> /home/pengy/utility/linux/lib/libreadline.so.6
> /home/pengy/utility/linux/lib/libreadline.so.6.0
> $ ls /home/pengy/utility/linux/lib/libhistory.*
> /home/pengy/utility/linux/lib/libhistory.a
> /home/pengy/utility/linux/lib/libhistory.so
> /home/pengy/utility/linux/lib/libhistory.so.6
> /home/pengy/utility/linux/lib/libhistory.so.6.0
>
> But R still doesn't configure it correctly. Would you please what
> might be the problem?
>
> Regards,
> Peng
>
> configure:22192: checking whether rl_completion_matches exists and  
> is declared
> configure:22224: gcc -o conftest
> -I/home/pengy/utility/linux/opt/gcc-4.3.4/include
> -I/home/pengy/utility/linux/include
> -I/home/pengy/utility/linux/usr/local/Trolltech/Qt-4.5.2/include
> -I/home/pengy/utility/linux/opt/Python-2.6.2/include/python2.6
> -I/home/pengy/utility/linux/opt/gcc-4.3.4/include
> -I/home/pengy/utility/linux/include
> -L/home/pengy/utility/linux/usr/local/Trolltech/Qt-4.5.2/lib
> -L/home/pengy/utility/linux/opt/R-2.9.2/lib64/R/lib
> -L/home/pengy/utility/linux/opt/Python-2.6.2/lib
> -L/home/pengy/utility/linux/opt/gcc-4.3.4/lib64
> -L/home/pengy/download/linux/qtsdk-2009.03/lib
> -L/home/pengy/utility/linux/lib64 -L/home/pengy/utility/linux/lib64
> -L/home/pengy/utility/linux/lib conftest.c -ldl -lm  >&5
> /home/pengy/.tmp/ccpZyEGH.o: In function `main':
> conftest.c:(.text+0x8): undefined reference to `rl_completion_matches'
> collect2: ld returned 1 exit status
> configure:22230: $? = 1
> configure: failed program was:
> | /* confdefs.h.  */
> | #define PACKAGE_NAME "R"
> | #define PACKAGE_TARNAME "R"
> | #define PACKAGE_VERSION "2.9.2"
> | #define PACKAGE_STRING "R 2.9.2"
> | #define PACKAGE_BUGREPORT "r-bugs at R-project.org"
> | #define PACKAGE "R"
> | #define VERSION "2.9.2"
> | #define R_PLATFORM "x86_64-unknown-linux-gnu"
> | #define R_CPU "x86_64"
> | #define R_VENDOR "unknown"
> | #define R_OS "linux-gnu"
> | #define Unix 1
> | #define R_ARCH ""
> | #define HAVE_VISIBILITY_ATTRIBUTE 1
> | #define _GNU_SOURCE 1
> | #define STDC_HEADERS 1
> | #define HAVE_SYS_TYPES_H 1
> | #define HAVE_SYS_STAT_H 1
> | #define HAVE_STDLIB_H 1
> | #define HAVE_STRING_H 1
> | #define HAVE_MEMORY_H 1
> | #define HAVE_STRINGS_H 1
> | #define HAVE_INTTYPES_H 1
> | #define HAVE_STDINT_H 1
> | #define HAVE_UNISTD_H 1
> | #define HAVE_DLFCN_H 1
> | #define LT_OBJDIR ".libs/"
> | #define HAVE_LIBM 1
> | #define HAVE_LIBDL 1
> | #define HAVE_READLINE_HISTORY_H 1
> | #define HAVE_READLINE_READLINE_H 1
> | #define HAVE_LIBNCURSES 1
> | #define HAVE_LIBREADLINE 1
> | #define HAVE_HISTORY_TRUNCATE_FILE 1
> | /* end confdefs.h.  */
> | #include <stdio.h>
> | #include <readline/readline.h>
> |
> |
> | int
> | main ()
> | {
> | #ifndef rl_completion_matches
> |   char *p = (char *) rl_completion_matches;
> | #endif
> |
> |   ;
> |   return 0;
> | }
> configure:22248: result: no
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>



[Rd] How to compile R with command completion?
Simon Urbanek