# Lots of binary packages missing



## Navigium (Sep 12, 2010)

Hello,

I have yet another newbie-question. Somehow I don't think I use the portscollection and the portinstall tool as intended. As far as I remember I populated my /usr/ports with portsnap as explained in Chapter 4.5 of the handbook. Then I installed a lot of software using 


```
portinsall -PP someport
```

I used -PP because I have a quite old machine an I didn't want to spend days compiling. Later (after some weeks) I updated my ports collection using 


```
portsnap update
```

and then wanted to do a upgrade of all the installed ports with


```
portupgrade -PPa
```

But this didn't work. For a lot of ports it told me, that there are no binary packages available (not only for a few exotic ones. It was for about half of all ports)

I then did a 


```
portupgrade -Pa
```

which seems to work, but it has been compiling for 2 days now....

So my questions:

1) What did I do wrong?
2) How do I fix this to be back on binary packages. I don't want the upgrade to take 3-4 days as it's doing this time...

Thanx,

b


----------



## naguz (Sep 12, 2010)

You probably didn't do anything wrong, there are often a lot of packages missing/not availible compiled in repos, especially if you are running AMD64. Almost make you wonder if they could need a few hands (or rather machines) to do this, but I guess it would be a securiy risk letting anyone compile for them and then putting the packages in repo.

AFAIK biary packages has never been a major thing with FreeBSD (or any BSD except PC-BSD), it has always been the buidl-from-source ports tree. I guess for the truly hardcore sysops that is the only way to roll. Not only is it possible to verify the sources, but it is possible to use your own compile-time options without a hassle.


----------



## wblock@ (Sep 12, 2010)

Some licenses prohibit binary distribution, and some builds are just too big, like openoffice.  Don't know if that's due to the size of the package or just the sheer amount of compiling it needs.  Both, maybe.

Also, some ports won't run on certain architectures anyway, like Wine is only for i386.


----------



## Navigium (Sep 13, 2010)

I'm on a old i686 laptop. That's why I don't want to compile myself - it takes ages on this machine. 

But something is still weird with my ports collection and the pkg db. A


```
pkgdb -F
```

didn't finish after 25 hours...


----------



## SirDice (Sep 14, 2010)

Just remove the pkg.db file and run `pkgdb -F` again.


----------



## lme@ (Sep 14, 2010)

Which version of FreeBSD do you run?


----------



## Navigium (Sep 15, 2010)

lme@ said:
			
		

> Which version of FreeBSD do you run?



8.1 RELEASE

However I think now I screwed things beyond all repair. Following tips from various sources I deleted my /usr/ports - tree to rebuild it and also deleted the files in /var/db/pkg to rebuild that. Now my install is left with no way to figure out, which packages are installed. So I guess the only solution now is to reinstall all the ports :/

But thank you all anyway... At least I learned some things about how the ports system works


----------



## DutchDaemon (Sep 16, 2010)

Consider switching to portmaster while you're at it. Less dependencies, no extra databases, more lightweight.


----------

