> Please see the attached patch. This should get us past ruby-bdb and
> allow portupgrade to work with Ruby 1.9.
>
> Steve
I couldn't fetch from the source given in your patch:
fetch: https://download.github.com/knu-ruby-bdb-v0.6.5-8-g6feba54.tar.gz:
Not Found
However I obtained a copy of that git commit thus:
fetch -o /usr/ports/distfiles/ruby/knu-ruby-bdb-v0.6.5-8-g6feba54.tar.gz
http://github.com/knu/ruby-bdb/tarball/6feba54
I was then able build and install ruby-bdb without issue as long as I
specified 'NOPORTDOCS', since the docs appear to be incomplete in the source
I downloaded.
Portupgrade does then successfully build/install, although bombs out with:
/usr/local/lib/ruby/site_ruby/1.9/pkgmisc.rb:110:in `':
uninitialized constant DL::Importable (NameError)
When run. I've not looked deeper yet, as ever other bits of life being
hectic!
My thanks to both you and Knu for all the effort on this.
> On 03/20/11 13:27, Eric wrote:
>> [SNIP]
>>
Portupgrade is a bit of a problem. Perhaps it's due to my patches, but
at the moment I can't get databases/ruby-bdb to build with RUBY_VER ==
1.9. If I could get past that, I could test the above PR. I wonder if
anyone else has the same issue.
>>>
>>> It does not work with 1.9. I submitted some pacthes to fix it, but it's
>>> not enough to get it build. IIRC, there were some other problems knu@
>>> mentioned.
>>
>> I've been having a bit of a play myself for the last couple of hours, but
>> without any real luck. It does appear that getting the bdb bindings working
>> with Ruby 1.9 is the first major blocker to pass to get portupgrade working.
>>
>> The existing /usr/ports/databases/ruby-bdb fails (at least at first) because
>> it can't find a 'features' library that is required in src/extconf.rb.
>> There is actually a 'features.rb' in the src directory, which might be what
>> it's after. Hardcoding (perhaps require is getting muddled) to this file
>> does gets extconf.rb generating the following:
>>
>> jail# ruby extconf.rb
>> checking for db_version() in -ldb-4.7... yes
>> checking for rb_frame_this_func() in ruby.h... yes
>> checking for rb_block_proc() in ruby.h... yes
>> checking for rb_io_stdio_file() in ruby.h... yes
>> checking for rb_block_call() in ruby.h... yes
>> checking for Array#insert... yes
>> checking for Array#values_at... yes
>> checking for rb_io_t in ruby.h,rubyio.h... yes
>> checking for DB_AFTER in db.h...no
>> checking for DB_AGGRESSIVE in db.h...no
>> checking for DB_APPEND in db.h...no
>> checking for DB_ARCH_ABS in db.h...no
>> checking for DB_ARCH_DATA in db.h...no
>> checking for DB_ARCH_LOG in db.h...no
>> checking for DB_AUTO_COMMIT in db.h...no
>> ---etc---
>>
>> Lots more "NOs", then the Makefile within 'src' is created. Returning back
>> up to the top directory and trying a 'make install' (or doing it from the
>> work dir) still fails.
>>
>> I've also been trying the gem from here: https://github.com/espace/bdb which
>> explicitly mentions working with Ruby 1.9.1 (fork off the original code).
>> Worth noting for others that this gem only looks for db-4.7, db-4.6 db-4.5,
>> db-4.4, db-4.3 and db-4.2. I believe the default USE_BDB is 4.1. The other
>> thing is the path to db.h is hardcoded in the ext/extconf.rb to db_header =
>> "/usr/local/include/db.h", so you may need to tweak that.
>>
>> I've not managed to get that gem to build via the ports system or more
>> manually via the 'gem19 install' command. Although with the above tweaks
>> taken into account 'cd'ing into
>> /usr/local/lib/ruby/gems/1.9/gems/bdb-0.0.2/ext and running the extconf.rb
>> and resultant Makefile doesn't error:
>>
>> jail# make install
>> cc -shared -o bdb.so bdb.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L.
>> -rdynamic -Wl,-soname,bdb.so -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib
>> -lruby19 -ldb-4.7 -lcrypt -lm -L/usr/local/lib
>> -rpath=/usr/lib:/usr/local/lib -pthread -lc
>> /usr/bin/install -c -o root -g wheel -m 0755 bdb.so
>> /usr/local/lib/ruby/gems/1.9/gems/bdb-0.0.2/lib
>>
>> I'm afraid I'm getting to the slightly randomly prodding stuff stage - I'm
>> not a big C person (*the shame* - I know)
>>
>> Sorry not much of use I know, anyone a bit more knowledgeable got some
>> ideas?
>>
>> Regards
>>
>> Eric
>>
___
freebsd-ruby@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ruby
To unsubscribe, send any mail to "freebsd-ruby-unsubscr...@freebsd.org"