# getting error upgrading some of the ports



## dpalme (Jul 19, 2012)

quite a few keep telling me that they cannot find libpcre.so.0, and I have no idea how to get this to install so I can finish upgrading the ports....

Any help would be appreciated.


----------



## chatwizrd (Jul 20, 2012)

Did you try installing this port devel/pcre


----------



## wblock@ (Jul 20, 2012)

1. Obtain a time machine.
2. Go back in time before you updated devel/pcre.
3. Check /usr/ports/UPDATING, particularly entry 20120214.

Step 1 is non-trivial.  In the future, always, yes always, check /usr/ports/UPDATING first.

An emergency measure you can take is to link the current library, probably /usr/local/lib/libpcre.so.1 to the old one, so that programs that need it to run will find and use the new version instead.  This assumes that the new one works the same as the old version, which is not always true.  Anyway, from memory so beware:
`# ln -s /usr/local/lib/libpcre.so.1 /usr/local/lib/libpcre.so.0`

Then update every port that depends on devel/pcre:
`# portmaster -r libpcre`

After that is done, immediately remove the link.  If left in place, it will cause problems in the future.
`# rm /usr/local/lib/libpcre.so.0`

After that, install sysutils/bsdadminscripts and run pkg_libchk(1).  It will show any ports that are still missing pcre or any other library that need to be rebuilt.


----------



## dpalme (Jul 20, 2012)

I created the link, but when I attempted to run the portmaster -r libpcre it tells me that it doesn't have that package.....

would portupgrade -r libpcre work to get the package downloaded?


----------



## wblock@ (Jul 20, 2012)

Install devel/pcre.  Then create the link and run portmaster.


----------



## dpalme (Jul 20, 2012)

I assume that when you say run portmaster, you mean running portmaster -r libpcre correct? If so, its still saying that it cannot find the package


----------



## kpa (Jul 20, 2012)

The port is called devel/pcre so the correct command is:
`# portmaster -b -w -r devel/pcre` or just
`# portmaster -b -w -r pcre`

In the future always run portmaster like this:
`# portmaster -b -w <other options> <name of port or package>`

Those two extra options -b -w will make backups of existing packages that are being updated and will save copies of shared libraries in case some program is still using them.


----------



## dpalme (Jul 20, 2012)

This is frustrating  it does appear though the pcre touches just about every package or port installed.... I am running the portmaster command you gave but it will start building and then run into some deprecated package and abort.  The latest one is ===>>> The databases/php5-sqlite port has been deleted: Removed from core php
===>>> Aborting update

===>>> Update for php5-sqlite-5.3.10_1 failed
===>>> Aborting update

Terminated
Terminated

So apparently I need to go remove sqlite and then restart the process... unless there is an easier way to deal with these issues.


----------



## wblock@ (Jul 20, 2012)

For a big update that touches many ports, it can be faster to delete all installed ports and then reinstall.  See the end of the portmaster(8) man page for the procedure.

Checking and following /usr/ports/UPDATING before updating is the way to avoid most of these problems.


----------



## dpalme (Jul 20, 2012)

I'm not sure I'm willing to try a complete uninstall of all packages and then reinstall them, I don't want to lose a lot of what I have already running.....

That said, I'm now getting an error: libicui18n.so.38 not found.  

I cannot for the life of me figure out which port this is coming from....

Is it still pcre?


----------



## wblock@ (Jul 20, 2012)

What do you think will be lost?  All the configuration information is in /usr/local/etc, which should be backed up first.

Be sure to remove any leftover symlinks from /usr/local/lib before beginning to reinstall.


----------



## SNK (Jul 20, 2012)

Did you already run pkg_libchk(1) as wblock@ mentioned? Recompile the ports that show up there.


----------



## dpalme (Jul 21, 2012)

Yes I did, but the one component that seems to be giving me all the trouble is 

```
/usr/bin/ld: warning: libicui18n.so.38, needed by /usr/local/lib/liblqr-1.so, not found (try using -rpath or -rpath-link)
```


----------



## wblock@ (Jul 21, 2012)

That is from devel/icu.


----------



## dpalme (Jul 22, 2012)

Thanks for the help thus far, things are moving along and I'm down to just a few packages to upgrade, but gconf2 is giving me fits with wv.

I have tried setting the variable FORCE_PKG_REGISTER when it upgraded but *wv* and *portmaster* keep thinking it needs to be upgraded even though it already is.

So, I tried to do a deinstall, but I got a segmentation fault

```
www# make deinstall
===>  Deinstalling for devel/gconf2
===>   Deinstalling gconf2-2.26.2_1
Segmentation fault (core dumped)
*** Error code 139

Stop in /usr/ports/devel/gconf2.
www#
```

Not sure how to solve this one, any help would be appreciated.


----------



## jb_fvwm2 (Jul 22, 2012)

```
pkg_delete -f /var/db/pkg/gconf2-2.26.2_1
# if it does not exist
make install
# if the pkg_delete -f fails and it is still there
/bin/rm -rf /var/db/pkg/gconf2-2.26.2_1 && make install
# although that is a lesser choice
```
Sorry for the very quick reply. I've  [ sysinstall/bsdinstall/gpart >> disk bios ] issues this week...  which I've just today "solved" sort of.


----------



## SNK (Jul 23, 2012)

Or just update it? The latest version of devel/gconf2 in the ports tree is 2.32.0_3.


----------



## dpalme (Jul 23, 2012)

I tried to upgrade it and it gives me a segmentation fault, and when I tried the package delete I got the same thing.....


----------



## jb_fvwm2 (Jul 23, 2012)

Unsolved? Post the new errors?


----------



## dpalme (Jul 23, 2012)

I used the same suggestion 

/bin/rm -rf /var/db/pkg/gconf2-2.26.2_1 && make install

to get around those.

One additional problem I ran into is with the pear-Net_SMTP update it ends up in an endless loop.  Just keeps spawning and never seems to end... Not sure why.  Found nothing in the /usr/ports/UPDATING that relates to this problem.


----------

