getting error upgrading some of the ports

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.
 
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.
 
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?
 
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
 
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.
 
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.
 
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.
 
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?
 
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.
 
Yes I did, but the one component that seems to be giving me all the trouble is
Code:
/usr/bin/ld: warning: libicui18n.so.38, needed by /usr/local/lib/liblqr-1.so, not found (try using -rpath or -rpath-link)
 
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
Code:
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.
 
Code:
 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.
 
I tried to upgrade it and it gives me a segmentation fault, and when I tried the package delete I got the same thing.....
 
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.
 
Back
Top