Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 2015 19:31:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 203988] lang/ruby21 - readline & libedit configure options spelled wrong
Message-ID:  <bug-203988-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
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@FreeBSD.org
          Reporter: z7dr6ut7gs@snkmail.com
             Flags: maintainer-feedback?(ruby@FreeBSD.org)
          Assignee: ruby@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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-203988-13>