Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Aug 2007 19:28:30 +0300 (EEST)
From:      Esa Karkkainen <ejk@iki.fi>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        Esa Karkkainen <ejk@iki.fi>, knu@FreeBSD.org
Subject:   ports/115471: [ patch ] databases/ruby-bdb fails to build, when BDB version less than 4.4.16
Message-ID:  <200708131628.l7DGSUBn070427@thunderbolt.my.domain>
Resent-Message-ID: <200708131640.l7DGe1sZ069761@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         115471
>Category:       ports
>Synopsis:       [ patch ] databases/ruby-bdb fails to build, when BDB version less than 4.4.16
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 13 16:40:00 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Esa Karkkainen
>Release:        FreeBSD 6.2-RELEASE-p7 i386
>Organization:
Is in state of disintegration
>Environment:

System: FreeBSD 6.2-RELEASE-p7 Thu Aug 2 17:50:20 EEST 2007
Ports tree cvsupped at Aug 13 18:33:03 EEST 2007

>Description:

# portupgrade ruby18-bdb-0.6.0
--->  Upgrading 'ruby18-bdb-0.6.0' to 'ruby18-bdb-0.6.1' (databases/ruby-bdb)
--->  Building '/usr/ports/databases/ruby-bdb'
===>  Cleaning for ruby18-bdb-0.6.1
===>  Extracting for ruby18-bdb-0.6.1
=> MD5 Checksum OK for ruby/bdb-0.6.1.tar.gz.
=> SHA256 Checksum OK for ruby/bdb-0.6.1.tar.gz.
===>   ruby18-bdb-0.6.1 depends on file: /usr/local/bin/ruby18 - found
===>  Patching for ruby18-bdb-0.6.1
===>   ruby18-bdb-0.6.1 depends on file: /usr/local/bin/ruby18 - found
===>   ruby18-bdb-0.6.1 depends on file: /usr/local/bin/ruby18 - found
===>   ruby18-bdb-0.6.1 depends on shared library: db-4.2.2 - found
===>  Configuring for ruby18-bdb-0.6.1
===>  Running extconf.rb to configure
extconf.rb: Entering directory `src'
checking for db_version() in -ldb-4.2... no
checking for db_version_4002() in -ldb-4.2... yes
checking for rb_frame_this_func()... no
checking for rb_block_proc()... yes
checking for rb_io_stdio_file()... no
checking for rb_block_call()... no
checking for Array#insert... yes
checking for Array#values_at... yes
creating Makefile
extconf.rb: Leaving directory `src'
===>  Building for ruby18-bdb-0.6.1
cc -I. -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6 -I. -DHAVE_RB_BLOCK_PROC -I/usr/local/include/db42 -I/usr/local/include -fPIC -O2 -fno-strict-aliasing -pipe    -fPIC -DHAVE_RB_ARY_INSERT -DHAVE_RB_ARY_VALUES_AT -c bdb.c
bdb.c: In function `Init_bdb':
bdb.c:515: error: `DB_REP_IGNORE' undeclared (first use in this function)
bdb.c:515: error: (Each undeclared identifier is reported only once
bdb.c:515: error: for each function it appears in.)
bdb.c:516: error: `DB_REP_JOIN_FAILURE' undeclared (first use in this function)
*** Error code 1

Stop in /usr/ports/databases/ruby-bdb/work/bdb-0.6.1/src.
*** Error code 1

Stop in /usr/ports/databases/ruby-bdb/work/bdb-0.6.1.
*** Error code 1

Stop in /usr/ports/databases/ruby-bdb.
** Command failed [exit code 1]: /usr/bin/script -qa /var/tmp/portupgrade.25339.0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=ruby18-bdb-0.6.0 UPGRADE_PORT_VER=0.6.0 make FETCH_BEFORE_ARGS=-q
** Fix the problem and try again.
** Listing the failed packages (*:skipped / !:failed)
	! databases/ruby-bdb (ruby18-bdb-0.6.0)	(compiler error)
--->  Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed
# cd /usr/ports/databases/db46
# make extract
# egrep -l 'DB_REP_IGNORE|DB_REP_JOIN_FAILURE' \
	work/db-4.6.18/docs/ref/changelog/*.html
work/db-4.6.18/docs/ref/changelog/4.4.16.html
#

>How-To-Repeat:

Make sure that only DBD version you have installed is earlier than 4.4.16.

For example, build databases/p5-BerkeleyDB port using WITH_BDB_VER=42 argument.

>Fix:

This patch may work or it may not. I have not tested this patch in
any shape or form.

diff -ruN /usr/ports/databases/ruby-bdb/Makefile ports/databases/ruby-bdb/Makefile
--- /usr/ports/databases/ruby-bdb/Makefile	Fri Aug 10 16:49:14 2007
+++ ports/databases/ruby-bdb/Makefile	Mon Aug 13 19:10:12 2007
@@ -20,6 +20,8 @@
 
 CONFLICTS=	${PKGNAMEPREFIX}${PORTNAME}[2-4]*
 
+INVALID_BDB_VER=	2 3 40 41 42 43
+
 USE_RUBY=	yes
 USE_RUBY_EXTCONF=	yes
 USE_RUBY_RDOC=		yes

or, for example

# portupgrade -o databases/db46 db42-4.2.52_5
>Release-Note:
>Audit-Trail:
>Unformatted:



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