[Bug 203988] lang/ruby21 - readline & libedit configure options spelled wrong
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Oct 23 19:31:08 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203988
Bug ID: 203988
Summary: lang/ruby21 - readline & libedit configure options
spelled wrong
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: Individual Port(s)
Assignee: ruby at FreeBSD.org
Reporter: z7dr6ut7gs at snkmail.com
Flags: maintainer-feedback?(ruby at FreeBSD.org)
Assignee: ruby at FreeBSD.org
Created attachment 162400
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=162400&action=edit
[patch] fix --with-libedit/readline* configuration arg spellings and enable
them for libedit in the readline module's extconf.rb
The --with-readline-prefix and --with-libedit-prefix configure arguments are
spelled wrong. They should be --with-readline-dir and --with-libedit-dir. See
dir_config() inlib/mkmf.rb
It's just luck in the normal default case that the ports do the right thing
now. You could spell them --with-libedit-flibberjam=${LOCALBASE} and it would
still work (in the default case). Because -I/usr/local/include is added for
other reasons and normally /usr/local (LOCALBASE) is where the readline and
libedit ports are installed.
For instance, if you select the LIBEDIT option and have devel/libedit installed
to a different prefix than LOCALBASE, then setting
--with-libedit-prefix=<that_prefix> (you have to change the current port
Makefile to test that since it's hard-coded to ${LOCALBASE} instead of the
results from 'pkgconf --variable prefix libedit') will fail to find the right
libedit and you'll get issues like this because the ruby build finds and uses
the libedit from base:
compiling readline.c
readline.c: In function 'history_get_offset_history_base':
readline.c:1573: error: 'history_base' undeclared (first use in this function)
readline.c:1573: error: (Each undeclared identifier is reported only once
readline.c:1573: error: for each function it appears in.)
readline.c: In function 'hist_get':
readline.c:1585: error: 'HIST_ENTRY' undeclared (first use in this function)
readline.c:1585: error: 'entry' undeclared (first use in this function)
readline.c:1590: error: 'history_length' undeclared (first use in this
function)
readline.c: In function 'hist_set':
readline.c:1605: error: 'HIST_ENTRY' undeclared (first use in this function)
.
.
Furthermore, I believe there's a bug in ext/readline/extconf.rb in the libedit
case where the --with-libedit* feature is not turned on - it needs
'dir_config("libedit")'. That part of the attached patch can be submitted
upstream. I'll try to do that if no one else beats me to it.
This bug is something of a nitpick since everything works in the default
everything-in-/usr/local case now. But the configure option is definitely
spelled wrong. And those --with-libedit* knobs need to be enabled in
readline/extconf.rb for libedit.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ruby
mailing list