# Two versions of lib files?



## Brendtron5000 (Jul 7, 2009)

Hi all,

I've been running the same FreeBSD box since 2005, and have (possibly) successfully updated from 5.4->6.0->6.1. I left it as 6.1 for a couple of years and just decided to go to 7.2. It's been a major upgrade, as it also involved me going from php4 to php5, MySQL 4 to 5, xorg-libraries 6.x to 7.4... and I think I'm gonna go for the gusto and move from apache 1.3 to 2 as well.

Anyway, I think maybe something went wrong with the upgrade from 5.4 to 6.0. Alcohol was a factor. I certainly didn't plan it that way; I was invited out for drinks shortly after starting the upgrade process. Upon my return I sat down to see what happened on the internet while I was gone, but I was instead presented with a series of skill testing questions by FreeBSD. At this point I was not up for conversation and just started hitting keys until they went away. Suprisingly, my FreeBSD box was in better shape than I the next morning. Seemed to be routing and serving just fine.

While poking around after the move to 7.2, I found a bunch of libraries with two versions in /lib.  Is this my FreeBSD box's hangover? The old libraries have a date one day before the release of 5.4. Did I mess something up and not get it to delete old libs when I went from 5.4->6.0? Would it be safe to delete them now, or is there some other way to clean out /lib and other places where old files are hiding? I've googled for all kinds of duplicate lib stuff, or two version of lib stuff -- no joy.

Below is a portion of the business I'm talking about. What is this business?


```
-r--r--r--  1 root  wheel   438304 Apr 30 23:54 libdtrace.so.1
-r--r--r--  1 root  wheel    79976 May  8  2005 libedit.so.4
-r--r--r--  1 root  wheel    88472 Apr 30 23:53 libedit.so.6
-r--r--r--  1 root  wheel    47172 Apr 30 23:54 libgcc_s.so.1
-r--r--r--  1 root  wheel    13148 May  8  2005 libgeom.so.2
-r--r--r--  1 root  wheel    15680 Apr 30 23:53 libgeom.so.4
-r--r--r--  1 root  wheel     7708 May  8  2005 libgpib.so.0
-r--r--r--  1 root  wheel    23208 May  8  2005 libipsec.so.1
-r--r--r--  1 root  wheel    23176 Apr 30 23:54 libipsec.so.3
-r--r--r--  1 root  wheel     5764 May  8  2005 libipx.so.2
-r--r--r--  1 root  wheel     6268 Apr 30 23:54 libipx.so.4
-r--r--r--  1 root  wheel     8336 May  8  2005 libkiconv.so.1
-r--r--r--  1 root  wheel     8396 Apr 30 23:54 libkiconv.so.3
-r--r--r--  1 root  wheel    20228 May  8  2005 libkvm.so.2
-r--r--r--  1 root  wheel    29912 Apr 30 23:53 libkvm.so.4
-r--r--r--  1 root  wheel   120004 May  8  2005 libm.so.3
-r--r--r--  1 root  wheel    92620 Apr 30 23:53 libm.so.5
-r--r--r--  1 root  wheel    38952 May  8  2005 libmd.so.2
-r--r--r--  1 root  wheel    60044 Apr 30 23:53 libmd.so.4
```


----------



## richardpl (Jul 7, 2009)

Upgrade process does not remove old files.


----------



## Brendtron5000 (Jul 7, 2009)

The upgrade process did remove old libs when I went from 6.1->7.2. I know this because I had some programs looking for a non-existent libncurses.so.6. I couldn't find a description of what freebsd-update actually does each time you run it, so it may have happened as part of that.

I found a "make check-old-libs" in /usr/src/Makefile, which is how I upgraded last time. It spits out a nice list of libs that certainly look old. It's not clear from the Makefile how it actually sleuths this out, though. I might just run "make delete-old-libs" and see what happens, because I like doing that sort of thing.


----------



## lyuts (Nov 28, 2009)

You wrote that your release history (let it be called that way) was 5.4->6.0->6.1->7.2. You had two major release upgrades. As you said upgrade 6.1-> 7.2 removed old libs, but appararently 5.4->6.0 didn't. That's why you libm.so.3, libm.so.5 but no libm.so.4 and so on.


----------

