# Can't upgrade ports after update to FreeBSD-10.0 Release



## jonfr (Feb 5, 2014)

I did run a upgrade on FreeBSD-9.2 Release to FreeBSD-10.0 Release. When I try to run `portmaster -af` to re-install all installed software it get stopped by this error here.


```
===>>> Returning to update check of installed ports

===>>> Launching child to reinstall portaudit-0.6.2

===>>> All >> portaudit-0.6.2 (11/11)

===>>> Currently installed version: portaudit-0.6.2
===>>> Port directory: /usr/ports/ports-mgmt/portaudit

        ===>>> This port is marked IGNORE
        ===>>> use 'pkg audit' instead


        ===>>> If you are sure you can build it, remove the
               IGNORE line in the Makefile and try again.

===>>> Update for portaudit-0.6.2 failed
===>>> Aborting update
```

When I run `make deinstall` on this I get this message.


```
make deinstall
===>  Deinstalling for ports-mgmt/portaudit
/usr/local/sbin/pkg-static: not found
===>   portaudit not installed, skipping
```

I am not sure what is going on. But I need to be able to get everything that is installed working again.

thanks for the help.


----------



## jonfr (Feb 5, 2014)

I did manage to fix this issue with `pkg delete  portaudit-0.6.2`. From the looks of it I need some cleaning up to do before I can run `portmaster -af` without issue.


----------



## jonfr (Feb 5, 2014)

This port here is an major dependency issue. I can't upgrade or reinstall apache-2.4, php55-5.5.8 and many more software without it.


```
===>>> Launching child to reinstall db42-4.2.52_5

===>>> All >> db42-4.2.52_5 (34/34)

===>>> Currently installed version: db42-4.2.52_5
===>>> Port directory: /usr/ports/databases/db42

        ===>>> This port is marked DEPRECATED
        ===>>> Please use databases/db5 or db6 for new installs.


        ===>>> If you are sure you can build it, remove the
               DEPRECATED line in the Makefile and try again.

===>>> Update for db42-4.2.52_5 failed
===>>> Aborting update
```

Yet this software is marked as deprecated. I did install db6 but that is of no use if none of the software that I have installed uses it. As seems to be the case at the moment.

Thanks for the help.


----------



## jonfr (Feb 5, 2014)

I found this thread on the forum. It sadly does not tell me how to upgrade the packages. In my case it is this list before I can remove db42 from my system and continue rebuilding it for FreeBSD-10.0 Release.


```
pkg info -rx db42
db42-4.2.52_5:
        apr-1.4.8.1.5.3
        php55-gettext-5.5.8
        php55-bz2-5.5.8
        php55-calendar-5.5.8
        php55-ctype-5.5.8
        php55-dom-5.5.8
        php55-exif-5.5.8
        php55-fileinfo-5.5.8
        php55-filter-5.5.8
        php55-ftp-5.5.8
        php55-imap-5.5.8
        php55-gd-5.5.8
        php55-hash-5.5.8
        php55-iconv-5.5.8
        php55-json-5.5.8
        php55-mcrypt-5.5.8
        php55-mysql-5.5.8
        php55-mysqli-5.5.8
        php55-opcache-5.5.8
        php55-openssl-5.5.8
        pecl-pdflib-3.0.4
        php55-pdo-5.5.8
        php55-pdo_sqlite-5.5.8
        php55-phar-5.5.8
        php55-posix-5.5.8
        php55-session-5.5.8
        php55-simplexml-5.5.8
        php55-snmp-5.5.8
        php55-sqlite3-5.5.8
        php55-tokenizer-5.5.8
        php55-xml-5.5.8
        php55-xmlreader-5.5.8
        php55-xmlwriter-5.5.8
        php55-zip-5.5.8
        php55-zlib-5.5.8
        php55-extensions-1.8
        ruby19-bdb-0.6.6_3
        php55-curl-5.5.8
        apache24-2.4.6_1
```

Thanks for the help.


----------



## jonfr (Feb 5, 2014)

To my frustration I am now stuck in upgrading my ports so they work with FreeBSD 10.0 Release.

I have moved everything that uses db42 to db5. There are however programs that *only* seem to use db42 and nothing else. This programs are.


```
pkg info -rx db42
db42-4.2.52_5:
        apr-1.4.8.1.5.3
        ruby19-bdb-0.6.6_3
        apache24-2.4.6_1
```

I have tested several things in order to move them from this version. But nothing works since use of db42 appears to be coded directly into this programs. That is at least the case with apache24 and I am assuming from that is also the case with the remaining programs on this list. Any suggestions on how to fix this problem are welcomed. Now I am going to check if removing _DEPRECATED_ from the make file works.

Thanks for the help.


----------



## trh411 (Feb 5, 2014)

Add:

```
WITH_BDB_VER=5
```
to your /etc/make.conf file to force the use of databases/db5.


----------



## jonfr (Feb 5, 2014)

I already did that and it did not work. It did works with php55 and related programs. As for apache24 and other programs on the list that did not work and it is stuck using outdated version of db42.


----------



## trh411 (Feb 5, 2014)

jonfr said:
			
		

> I already did that and it did not work. It did works with php55 and related programs. As for apache24 and other programs on the list that did not work and it is stuck using outdated version of db42.


It worked for me for devel/apr1. That was the only port I had installed that used db anything. I can't remember if I had to delete the port first and then install it or if I just did a re-install. Anyway, have you tried to delete/install those ports?

EDIT: Just caught that you are using `portmaster`. That should delete/install.


----------



## jonfr (Feb 5, 2014)

I did manage to start the re-install of programs that I have installed from FreeBSD-9.2 Release. This might resolve it self when it comes to devel/apr1. I am not sure about other programs. I am going to check once it is finished.


----------



## trh411 (Feb 5, 2014)

I did find this on the https://wiki.freebsd.org/Ports/BerkeleyDBCleanup page. The final sentence caught my eye:


```
Do not force delete older BerkeleyDB packages, that appears to confuse the upgrade tools and can cause failed application rebuilds. Instead, first rebuild the ports that depend on it, then remove the old Berkeley DB versions. Berkeley DB ports should be able to build/install with an older and a newer version version both installed if WITH_BDB_VER is set. If a port then grabs the old Berkeley DB version, that is an issue with the port that requires Berkeley DB, and should be reported to the maintainer.
```
So it sounds like it's possible some ports may be broken WRT requiring older versions.


----------



## jonfr (Feb 5, 2014)

That seems to be the case with apache24 and the other programs that did not move to the new version when I did re-install them.


----------



## cpm@ (Feb 5, 2014)

You can safely place in /etc/make.conf

```
.if $(.CURDIR:M*/databases/ruby-bdb) 
WITH_BDB_VER=5 
.endif
```
and build any port that depends on Berkeley DB with the db5 version.


----------



## davorin (Aug 14, 2014)

Just upgraded as well from 9.2 to 10.0....

Seems a fresh install would be easier then fix all portmaster errors:


```
===>>> Port directory: /usr/ports/databases/db42

	===>>> This port is marked DEPRECATED
	===>>> Please use databases/db5 or db6 for new installs.


	===>>> If you are sure you can build it, remove the
	       DEPRECATED line in the Makefile and try again.

===>>> Update for db42-4.2.52_5 failed
===>>> Aborting update
```

Can't even force a delete of an older package.....

Also tries to update Perl to 5.18...but it is already installed....


----------



## SirDice (Aug 14, 2014)

davorin said:
			
		

> Just upgraded as well from 9.2 to 10.0....


These errors are not because of the upgrade from 9.x to 10.x. You would have had the exact same issues if you kept your ports up to date on 9.2. The version of the OS has no relation to the ports tree. All versions and architectures use the exact same ports tree.


----------



## davorin (Aug 14, 2014)

Is there a way to fix this?


```
root@netdb:/etc/namedb # pkg_deinstall -f db42-4.2.52_5
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 386 packages found (-0 +0)  done]
--->  Deinstalling 'db42-4.2.52_5'
** Listing the failed packages (-:ignored / *:skipped / !:failed)
	! db42-4.2.52_5	(pkg_delete failed)
```

db6 is already installed....and it won't let me delete the old db4 package with pkg_delete -f

Also complains about missing pkg_create and pkg_version programs....


----------



## SirDice (Aug 14, 2014)

Please read /usr/ports/UPDATING entry 20131216 (yes, it's that old):

```
20131216:
  AFFECTS: users of databases/db4*
  AUTHOR: mandree@FreeBSD.org

  Berkeley DB versions before and excluding 4.8 have been marked deprecated.
  New port installations should be based on Berkeley DB 5 or 6.

  Note that Oracle Berkeley DB 6 is under the more restrictive Affero GPL v3
  license, be sure to review if using that fits your requirements.

  You can add WITH_BDB_VER=5 or WITH_BDB_VER=6 to /etc/make.conf to have all
  applications that get rebuilt use Oracle Berkeley DB 5 or 6, respectively.

  DO NOT FORCE DELETE older BerkeleyDB packages, that breaks the upgrade
  tools.  Instead, first rebuild the ports that depend on it, then
  remove the old Berkeley DB versions.

  Berkeley DB ports should be able to build/install with an older and a
  newer version version both installed if WITH_BDB_VER is set.  If a
  port then grabs the old Berkeley DB version, that is an issue with the
  port that requires Berkeley DB, and should be reported to the
  maintainer.

  If you are interested in upgrading now already, we have instructions
  at <https://wiki.freebsd.org/Ports/BerkeleyDBCleanup>.
```

As for the errors, the old pkg_* tools have been removed on FreeBSD 10.0.


----------



## davorin (Aug 14, 2014)

Well...wiped out and did a fresh install of 10.0....must faster then finding all causes for all errors (o;


----------

