Summary: | databases/ruby-bdb: 'make configure' fails with Ruby 2.1. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Yasuhiro Kimura <yasu> | ||||||||||
Component: | Individual Port(s) | Assignee: | Akinori MUSHA <knu> | ||||||||||
Status: | Closed FIXED | ||||||||||||
Severity: | Affects Many People | CC: | ports | ||||||||||
Priority: | Normal | ||||||||||||
Version: | Latest | ||||||||||||
Hardware: | Any | ||||||||||||
OS: | Any | ||||||||||||
Attachments: |
|
Description
Yasuhiro Kimura
2014-03-17 06:10:00 UTC
Responsible Changed From-To: freebsd-ports-bugs->knu Over to maintainer (via the GNATS Auto Assign Tool) Please test the patch file [1]. Thanks! [1] http://people.freebsd.org/~sunpoet/ruby-bdb.patch Regards, sunpoet I am getting this with the patch: /usr/ports/databases/ruby-bdb/work/bdb-0.6.6/src/features.rb:882: warning: already initialized constant CONFTEST_C /usr/ports/databases/ruby-bdb/work/bdb-0.6.6/src/features.rb:818: warning: previous definition of CONFTEST_C was here compiling transaction.c --- common.o --- common.c:1573:6: warning: implicit declaration of function 'RBASIC_SET_CLASS_RAW' is invalid in C99 [-Wimplicit-function-declaration] RBASIC_SET_CLASS_RAW(obj, bdb_cBtree); ^ common.c:1638:38: error: no member named 'm_tbl' in 'struct RClass' if (cl == bdb_cBtree || RCLASS(cl)->m_tbl == RCLASS(bdb_cBtree)->m_tbl) { ~~~~~~~~~~ ^ common.c:1638:67: error: no member named 'm_tbl' in 'struct RClass' if (cl == bdb_cBtree || RCLASS(cl)->m_tbl == RCLASS(bdb_cBtree)->m_tbl) { ~~~~~~~~~~~~~~~~~~ ^ common.c:1642:39: error: no member named 'm_tbl' in 'struct RClass' if (cl == bdb_cRecnum || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecnum)->m_tbl) { ~~~~~~~~~~ ^ common.c:1642:69: error: no member named 'm_tbl' in 'struct RClass' if (cl == bdb_cRecnum || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecnum)->m_tbl) { ~~~~~~~~~~~~~~~~~~~ ^ common.c:1646:42: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cHash || RCLASS(cl)->m_tbl == RCLASS(bdb_cHash)->m_tbl) { ~~~~~~~~~~ ^ common.c:1646:70: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cHash || RCLASS(cl)->m_tbl == RCLASS(bdb_cHash)->m_tbl) { ~~~~~~~~~~~~~~~~~ ^ common.c:1650:43: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cRecno || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecno)->m_tbl) { ~~~~~~~~~~ ^ common.c:1650:72: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cRecno || RCLASS(cl)->m_tbl == RCLASS(bdb_cRecno)->m_tbl) { ~~~~~~~~~~~~~~~~~~ ^ common.c:1655:43: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cQueue || RCLASS(cl)->m_tbl == RCLASS(bdb_cQueue)->m_tbl) { ~~~~~~~~~~ ^ common.c:1655:72: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cQueue || RCLASS(cl)->m_tbl == RCLASS(bdb_cQueue)->m_tbl) { ~~~~~~~~~~~~~~~~~~ ^ common.c:1660:45: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cUnknown || RCLASS(cl)->m_tbl == RCLASS(bdb_cUnknown)->m_tbl) { ~~~~~~~~~~ ^ common.c:1660:76: error: no member named 'm_tbl' in 'struct RClass' else if (cl == bdb_cUnknown || RCLASS(cl)->m_tbl == RCLASS(bdb_cUnknown)->m_tbl) { ~~~~~~~~~~~~~~~~~~~~ ^ --- recnum.o --- compiling recnum.c --- common.o --- 1 warning and 12 errors generated. *** [common.o] Error code 1 make[3]: stopped in /usr/ports/databases/ruby-bdb/work/bdb-0.6.6/src --- recnum.o --- recnum.c:152:13: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (beg < 0) { ~~~ ^ ~ recnum.c:155:13: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (beg < 0) { ~~~ ^ ~ 2 warnings generated. 1 error make[3]: stopped in /usr/ports/databases/ruby-bdb/work/bdb-0.6.6/src *** [all] Error code 2 make[2]: stopped in /usr/ports/databases/ruby-bdb/work/bdb-0.6.6 1 error make[2]: stopped in /usr/ports/databases/ruby-bdb/work/bdb-0.6.6 ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/databases/ruby-bdb *** Error code 1 Stop. make: stopped in /usr/ports/databases/ruby-bdb I modified Sunpoet's patch as attached one. Build scceeds with Ruby 2.1 and also seems to work as far as portupgrade is concerned. So please test and commit it if it is OK. Regards. On 15/05/14 12:50, Yasuhiro KIMURA wrote:
> I modified Sunpoet's patch as attached one. Build scceeds with Ruby 2.1
> and also seems to work as far as portupgrade is concerned. So please
> test and commit it if it is OK.
>
> Regards.
>
Seems to work for me!
* Change substituion command so it uses RCLASS_M_TBL() macro. * Change from ".if ${RUBY_VER} == 2.1" to '.if ${RUBY_VER} >= 2.1" for newer ruby version in the future. * Add LICENSE. * Convert to "USES=tar:bzip2". * Remove unnecessary conditionals. So please commit attached patch instead of previous one. Regards. Hello MUSHA-san, Would you please check my patch and commit if it is OK? Best Regards. Created attachment 144719 [details]
Update patch to fit current port tree.
Hello, Would someone commit attached patch of this PR with maintainer timeout? Best Regards. A commit references this bug: Author: ume Date: Tue Jul 22 15:02:20 UTC 2014 New revision: 362546 URL: http://svnweb.freebsd.org/changeset/ports/362546 Log: Make it buildable with Ruby 2.1. PR: 187652 Submitted by: Yasuhiro KIMURA <yasu__at__utahime.org> Approved by: knu (maintainer timeout) Changes: head/databases/ruby-bdb/Makefile Done. I had same problem, and your patch fixed it for me too. Thank you! |