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.
> 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
Install the latest readline (5.2) in /usr/local and rerun ./configure:
./configure --prefix=/usr/local --with-readline-dir=/usr/local
Cheers,
Han
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.
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
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/.
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
I did, quite a few times.
On Dec 27, 2007 3:30 AM, Han Kessels <han.k...@gmail.com> wrote:
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
- Joe P
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
$ 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/