# Some issues updating the ports after upgrade to 9.1



## pkc (Jan 3, 2013)

I recently successfully upgraded to 9.1-RELEASE. I am now in the process of trying to upgrade my ports so that they will work with the new system.

Unfortunately I cannot seem to get rid of the various binary incompatibilities that have manifested, even after about a week of recompiling. For example, libicui18n.so.48 is a common not-found library, required by kde4-config, in particular. (Which is not a port itself.) Thing is, running portupgrade or portmaster on kde4 does not fix the problem -- it just declares that it has reinstalled it. I tried rebuilding kdebase4-workspace, only to get the infamous KActivities issue ( http://forums.freebsd.org/showthread.php?t=33182 ), which does not seem to be fixed by removing kdelibs3 as had worked before.

I'm not sure where to go from here-- it seems like I am definitely doing this the hard way, as like I mentioned I have been going at this for about a week. Is there a surefire way to get things reinstalled? Of course I tried portupgrade -af, but (perhaps foolishly) gave up on that after a few days. 
Really my priority is getting KDE back up, as this is primarily a desktop oriented machine. Surely one is not required to recompile KDE (a frighteningly mammoth task) at each system upgrade?

Forgive my lack of detail and wordiness, I am writing this in haste and from a slow and buggy cellphone. I will have access to another computer to post more info soon if needed. Thanks


----------



## wblock@ (Jan 3, 2013)

Install ports-mgmt/portmaster.  At the end of the man page (portmaster(8)) is a procedure for reinstalling all ports.

If you upgraded from an earlier version of FreeBSD (7.x or 8.x), all the ports must be rebuilt anyway.  If you upgraded from FreeBSD 9.0, there was no need to recompile ports, but now that things are broken it's an easy way to get everything fixed.

Generally, problems are due to trying to rebuild just some ports instead of all, or of not following /usr/ports/UPDATING.


----------



## pkc (Jan 3, 2013)

Thanks, I'll try that. How long would that be expected to take, on say an average dual-core i5 computer with ~1100 ports?

Also, is there any way to get portmaster to not abort as soon as it finds something like IGNORE or DEPRECATED? These stoppages make it difficult to let it run overnight, etc.


----------



## wblock@ (Jan 3, 2013)

It's hard to estimate how long it will take.  The portmaster procedure tries to get everything interactive done up front, like making sure all the distfiles are downloaded and the config screens are done.  With a current ports tree, there should not be any breakage, or at least it should happen before it starts building things.

Another way around this would be to back up data and install PC-BSD, avoiding all the building.


----------



## pkc (Jan 5, 2013)

PC-BSD! Low blow.. indeed, however, this machine may not be the best for FreeBSD.  But anyway,

Just to note, cups-base does not compile, and print/cmpsfont fails because work/cmpsfont/README does not exist. Are these issues arising because of my particular setup, or is it more likely that everyone experiences them and just fixes them as they come? Still compiling with portmaster as you suggested, so there could be others.

Also: 

```
# portupgrade -fRP x11/kde4
[Exclude up-to-date packages    done ]
```
even though I am still getting binary incompatibilities with KDE4 dependencies. Isn't -f supposed to force-reinstall them?

Sorry for being clueless, thanks for the wisdom.


----------



## wblock@ (Jan 5, 2013)

When you install packages, you get them as they were when compiled on somebody else's machine.  Not too surprising that they depend on libraries that are a different version on your machine.  The solution is to either get the whole set of packages, or to build things from ports on your system.  KDE is perhaps the biggest possible set of things to build for a desktop, which is why I suggested PC-BSD.

Forcing a reinstall does not fix library dependencies.  There is no way to fix them with packages, which are already compiled.


----------

