Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Trouble with Readline and Building Ruby 1.9

6 views
Skip to first unread message

James Herdman

unread,
Dec 24, 2007, 2:57:28 PM12/24/07
to
I'm having a little trouble building Ruby 1.9. I'm building on
Leopard and using "--prefix=/usr/local/ruby1.9" when running config,
but I'm getting the following output after running 'make':

gcc -I. -I../../.ext/include/i686-darwin9.1.0 -I../.././include
-I../.././ext/readline -DRUBY_EXTCONF_H=\"extconf.h\" -fno-common
-g -O2 -pipe -fno-common -o readline.o -c readline.c
readline.c: In function 'filename_completion_proc_call':
readline.c:659: error: 'filename_completion_function' undeclared
(first use in this function)
readline.c:659: error: (Each undeclared identifier is reported only once
readline.c:659: error: for each function it appears in.)
readline.c:659: warning: assignment makes pointer from integer without a cast
readline.c: In function 'username_completion_proc_call':
readline.c:684: error: 'username_completion_function' undeclared
(first use in this function)
readline.c:684: warning: assignment makes pointer from integer without a cast
make[1]: *** [readline.o] Error 1
make: *** [all] Error 1

Any ideas on what's wrong?

James H.

Gerald Murray

unread,
Dec 24, 2007, 6:39:09 PM12/24/07
to
On Dec 24, 1:57 pm, James Herdman <james.herd...@gmail.com> wrote:

> gcc -I. -I../../.ext/include/i686-darwin9.1.0 -I../.././include
> -I../.././ext/readline -DRUBY_EXTCONF_H=\"extconf.h\" -fno-common

grep for the functions showed they were declared in /usr/include/
readline/readline.h (32-bit readline)
find readline.h in your computer and check for its declaration there.
If you are using packages you may need the *-dev for readline.
The includes in the above look peculiar: "/.ext" and "-I../.././
include" may be typo or an indication that the includes are just
wrong ?

Gerald

Han Kessels

unread,
Dec 24, 2007, 10:57:30 PM12/24/07
to

Install the latest readline (5.2) in /usr/local and rerun ./configure:
./configure --prefix=/usr/local --with-readline-dir=/usr/local

Cheers,

Han

yudi

unread,
Dec 26, 2007, 2:01:33 AM12/26/07
to
[Note: parts of this message were removed to make it a legal post.]

I had exactly the same problem.installing readline with ./configure
--prefix=/usr/local --with-readline-dir=/usr/local
shows a incompatibility with dynamic library, then I followed here:
http://www.weblogs.uhi.ac.uk/sm00sm/?p=291

with make static and sudo make static-install

With readline 'properly' installed, the same error still pop up. (readline.o
)
I assume it's the problem with gcc ?

Yudi


On Dec 24, 2007 10:00 PM, Han Kessels <han.k...@gmail.com> wrote:


--
Do not be afraid of Change.

Han Kessels

unread,
Dec 26, 2007, 5:00:16 AM12/26/07
to
On Dec 26, 4:01 pm, yudi <yudi....@gmail.com> wrote:
> [Note:  parts of this message were removed to make it a legal post.]
>
> I had exactly the same problem.installing readline with ./configure
> --prefix=/usr/local --with-readline-dir=/usr/local
> shows a incompatibility with dynamic library, then I followed here:http://www.weblogs.uhi.ac.uk/sm00sm/?p=291
>
> with make static and sudo make static-install
>
> With readline 'properly' installed, the same error still pop up. (readline.o
> )
> I assume it's the problem with gcc ?
>
> Yudi
>

Building readline5.2 on Leopard is broken. It checks for the OS
explicitly, but this check does not exclude darwin9 (Leopard). It is
easily fixed though, by patching support/shobj-conf:

--- support/shobj-conf 2007-12-26 18:30:46.000000000 +0900
+++ support/shobj-conf.new 2007-12-26 18:30:39.000000000 +0900
@@ -142,7 +142,7 @@
;;

# Darwin/MacOS X
-darwin8*)
+darwin89*)
SHOBJ_STATUS=supported
SHLIB_STATUS=supported

@@ -171,7 +171,7 @@
SHLIB_LIBSUFF='dylib'

case "${host_os}" in
- darwin[78]*) SHOBJ_LDFLAGS=''
+ darwin[789]*) SHOBJ_LDFLAGS=''
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -
install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$
(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
;;
*) SHOBJ_LDFLAGS='-dynamic'

Cheers,

Han

Tadatoshi Takahashi

unread,
Dec 26, 2007, 9:12:40 PM12/26/07
to

I'm having the same problem.
After I modified support/shobj-conf for readline following Han's
instruction, the problem still persists.

There is no post on this thread after Han's post.
Does it mean that everybody was able to install Ruby 1.9?
If so, could anybody post the steps to take?

Thank you in advance.
Tadatoshi

Raul Parolari

unread,
Dec 26, 2007, 9:42:03 PM12/26/07
to
Tadatoshi Takahashi wrote:
> After I modified support/shobj-conf for readline following Han's
> instruction, the problem still persists.

There were 2 different corrections to the problem:
1) generate readline in the way indicated by Yudi (..make
static-install) above
2) correct the test on the OS version as indicated by Han.

I am still using MacOsX 10.4.11, and I cannot confirm that the 2 actions
fix the problem for Leopard. But they (in my case, just the first alone)
allowed me to (finally..) generate ruby 1.9.

I wrote this just in case you overlooked the first correction.

And by the way, thanks to Yudi and Han

Raul
--
Posted via http://www.ruby-forum.com/.

Tadatoshi Takahashi

unread,
Dec 26, 2007, 9:57:24 PM12/26/07
to

Thank you for your reply, Raul.

Actually, just to install readline itself required the first
correction.
Then I went on to execute make for Ruby 1.9.
At that time, I got the same error as James originally posted.
So I followed Han's instruction.
But the problem still persisted.
(I'm using Mac OS X 10.5.1 Leopard.)

Han Kessels

unread,
Dec 27, 2007, 4:25:48 AM12/27/07
to

Once you succeeded in installing readline in /usr/local, did you point
ruby1.9 at it?
./configure --prefix=/usr/local/ruby1.9 --with-readline-dir=/usr/local


yudi

unread,
Dec 27, 2007, 10:37:46 AM12/27/07
to
[Note: parts of this message were removed to make it a legal post.]

I did, quite a few times.

On Dec 27, 2007 3:30 AM, Han Kessels <han.k...@gmail.com> wrote:

Tadatoshi Takahashi

unread,
Dec 27, 2007, 5:44:49 PM12/27/07
to
On Dec 27, 10:37 am, yudi <yudi....@gmail.com> wrote:
> [Note: parts of this message were removed to make it a legal post.]
>
> I did, quite a few times.
>

Thank you for your reply, Han.

Yes, I did as well.
In my case, just like Yudi, ./configure --prefix=/usr/local --with-
readline-dir=/usr/local

JoeP

unread,
Jan 27, 2008, 10:16:01 PM1/27/08
to
I really, really, really want to thank Han Kessels for this. Your
solution saved me a lot of frustration and fixed a number of problems
I was having. Thanks a ton.

- Joe P

José Ignacio

unread,
Nov 18, 2008, 7:37:34 AM11/18/08
to
I have the same problems as listed here (Ruby 1.9 + Leopard). I have
succesfully installed readline 5.2 using make static-install. But when
compiling Ruby 1.9 I get the same result as Yudi and Tadatoshi. Did you
finally manage to install Ruby 1.9 in Leopard?

Moreover, ruby 1.9.0-5 's configure doesn't support with-readline-dir
option. Anyway, i tried both 1.9.0-0 (which seems to support
with-readline-dir option) and 1.9.0-5 and I get the same result with
both approaches:

readline.c: In function ‘filename_completion_proc_call’:
readline.c:659: error: ‘filename_completion_function’ undeclared (first
use in this function)
readline.c:659: error: (Each undeclared identifier is reported only once
readline.c:659: error: for each function it appears in.)
readline.c:659: warning: assignment makes pointer from integer without a
cast
readline.c: In function ‘username_completion_proc_call’:
readline.c:684: error: ‘username_completion_function’ undeclared (first
use in this function)
readline.c:684: warning: assignment makes pointer from integer without a
cast

José Ignacio

unread,
Nov 20, 2008, 2:48:43 PM11/20/08
to
I managed to install Ruby 1.9 using MacPorts:

$ sudo ports install ruby19

For those interested, I think MacPorts uses the same procedure as shown
here:
http://programblings.com/2008/11/18/installing-ruby-19preview1-on-os-x-leopard/

0 new messages