Bug 187652 - databases/ruby-bdb: 'make configure' fails with Ruby 2.1.
Summary: databases/ruby-bdb: 'make configure' fails with Ruby 2.1.
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Many People
Assignee: Akinori MUSHA
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-17 06:10 UTC by Yasuhiro Kimura
Modified: 2014-07-22 15:07 UTC (History)
1 user (show)

See Also:


Attachments
ruby-bdb.make-configure.log (25.23 KB, text/plain)
2014-03-17 06:10 UTC, Yasuhiro Kimura
no flags Details
patch-databases_ruby-bdb (627 bytes, text/plain; charset=Shift_JIS)
2014-05-15 04:20 UTC, Yasuhiro Kimura
no flags Details
patch-databases_ruby-bdb (1.72 KB, text/plain; charset=Shift_JIS)
2014-05-15 14:35 UTC, Yasuhiro Kimura
no flags Details
Update patch to fit current port tree. (1.43 KB, patch)
2014-07-16 08:22 UTC, Yasuhiro Kimura
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yasuhiro Kimura freebsd_committer freebsd_triage 2014-03-17 06:10:00 UTC
	
	'make configure' fails with Ruby 2.1(lang/ruby21).
	Output log is attached below.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-03-17 06:10:06 UTC
Responsible Changed
From-To: freebsd-ports-bugs->knu

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Po-Chuan Hsieh freebsd_committer freebsd_triage 2014-03-30 17:48:56 UTC
Please test the patch file [1]. Thanks!

[1] http://people.freebsd.org/~sunpoet/ruby-bdb.patch

Regards,
sunpoet
Comment 3 janow49420 2014-04-16 21:16:19 UTC
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
Comment 4 Yasuhiro Kimura freebsd_committer freebsd_triage 2014-05-15 04:20:17 UTC
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.
Comment 5 janow49420 2014-05-15 04:53:02 UTC
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!
Comment 6 Yasuhiro Kimura freebsd_committer freebsd_triage 2014-05-15 14:35:17 UTC
* 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.
Comment 7 Yasuhiro Kimura freebsd_committer freebsd_triage 2014-06-13 00:06:04 UTC
Hello MUSHA-san,

Would you please check my patch and commit if it is OK?

Best Regards.
Comment 8 Yasuhiro Kimura freebsd_committer freebsd_triage 2014-07-16 08:22:46 UTC
Created attachment 144719 [details]
Update patch to fit current port tree.
Comment 9 Yasuhiro Kimura freebsd_committer freebsd_triage 2014-07-16 08:27:14 UTC
Hello,

Would someone commit attached patch of this PR with maintainer timeout?

Best Regards.
Comment 10 commit-hook freebsd_committer freebsd_triage 2014-07-22 15:02:55 UTC
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
Comment 11 Hajimu UMEMOTO freebsd_committer freebsd_triage 2014-07-22 15:07:20 UTC
Done.
I had same problem, and your patch fixed it for me too.
Thank you!