# portupgrade installation error: ruby25-bdb-0.6.6_5 is marked as broken: does not build with Ruby 2.5



## HL1234 (Feb 14, 2019)

Hello,
On a new FreeBSD 12 system I want to install
/usr/ports/ports-mgmt/portupgrade
but get an error:

```
===>  Staging for portupgrade-2.4.16,2
===>   portupgrade-2.4.16,2 depends on file: /usr/local/bin/ruby25 - found
===>   portupgrade-2.4.16,2 depends on file: /usr/local/lib/ruby/site_ruby/2.5/amd64-freebsd12/bdb.so - not found
===>  ruby25-bdb-0.6.6_5 is marked as broken: does not build with Ruby 2.5.
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/databases/ruby-bdb
```
I had installed the latest version of ruby before from the ports.

What can I do now? Thanx for your help


----------



## SirDice (Feb 14, 2019)

The default Ruby version is 2.4 for a reason.


----------



## HL1234 (Feb 14, 2019)

ok, I will step on version back. 
I see in /usr/ports/Mk/bsd.default-versions.mk

# Possible values: 2.3, 2.4, 2.5
RUBY_DEFAULT?=        2.4
so I think the possible value could also be 2.5, but it isn't it.

thanks for your advice.


----------



## SirDice (Feb 15, 2019)

Yes, you can _change_ the default. But that's not going to help, the port is still going to fail to build with Ruby 2.5. There are probably a few other Ruby modules that don't work with 2.5 yet. Those need to be fixed upstream.


----------



## qabulin (Feb 16, 2019)

HL1234 said:


> ok, I will step on version back.
> I see in /usr/ports/Mk/bsd.default-versions.mk
> 
> # Possible values: 2.3, 2.4, 2.5
> ...



Do you need system/root access to Ruby version 2.5? If not and if you need a different version for user level development, would you be open to installing Ruby a different way so as not to clobber the system default?  Most of my Ruby development requires non-root user level permissions, so I strictly have been using rbenv, and follow the instructions for the optional ruby-build.  That way the system/root can maintain its default without bothering my development.

Just a thought I hope that helps, but I understand it might conflict with your usecase or workflow.


----------

