Trouble with Readline and Building Ruby 1.9

J

James Herdman

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.
 
G

Gerald Murray

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
 
H

Han Kessels

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.

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

Cheers,

Han
 
Y

yudi

[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


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.

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

Cheers,

Han
 
H

Han Kessels

[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

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 withouta 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 withouta cast
make[1]: *** [readline.o] Error 1
make: *** [all] Error 1
Any ideas on what's wrong?
James H.
Install the latest readline (5.2) in /usr/local and rerun ./configure:
./configure --prefix=/usr/local --with-readline-dir=/usr/local

Han

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
 
T

Tadatoshi Takahashi

[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 ?

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.
Install the latest readline (5.2) in /usr/local and rerun ./configure:
./configure --prefix=/usr/local --with-readline-dir=/usr/local
Cheers,
Han

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

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
 
R

Raul Parolari

Tadatoshi said:
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
 
T

Tadatoshi Takahashi

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

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.)
 
H

Han Kessels

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.)

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
 
Y

yudi

[Note: parts of this message were removed to make it a legal post.]

I did, quite a few times.
 
T

Tadatoshi Takahashi

[Note: parts of this message were removed to make it a legal post.]

I did, quite a few times.

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

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
 
J

José Ignacio

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top