Hello, I've recently updated to freeBSD 6.3-STABLE from 5.3-RELEASE (amd64) and am struggling with out of date ports. I have tried updating 'ports-all' and 'src-all' numerous times (does src-all include ports-all? It takes forever) along with portupgrade. For example, when trying to login to an account using the bash shell I got the following error that prevents logging in. ld-elf.so.1: Shared object "libintl.so.6" not found So I tried: portupgrade -r bash, which did not fix anything. I was able to fix it by going into the ports directory and 'make deinstall' then 'make install'. But there are many other ports that are still broken. Is there an easy way to fix them all at once (using portupgrade)? I've tried 'portupdate -ar', which had a lot of xorg installation errors... eventually I found an entry in '/usr/ports/UPDATING' about updating xorg. But following the instructions seems to give an error that suggests following the instructions! 1) I switched to portupgrade-devel following UPDATING instructions. I believe this was successful. # portupgrade -f -o ports-mgmt/portupgrade-devel portupgrade # rm -f /usr/ports/INDEX*.db /var/db/pkg/pkgdb.db # pkgdb -fu 2) I rebuilt 'INDEX' # cd /usr/ports && make index 3) I set environment variable 'XORG_UPGRADE' to 'yes'. 4) I gave portupgrade "a small bit of help" (quoting 'UPDATING') # portupgrade -Rf libXft 5) I do not know if I have any gstreamer ports installed, so I tried both (neither did the trick). # portupgrade -a -x 'gstreamer*' ---> Upgrading 'xorg-libraries-6.8.2' to 'xorg-libraries-7.3_2' (x11/xorg-libraries) ---> Building '/usr/ports/x11/xorg-libraries' ===> Cleaning for xorg-libraries-7.3_2 /usr/X11R6 exists, but it is not a symlink. Installation cannot proceed. This looks like an incompletely removed old version of X. In the current version, /usr/X11R6 must be a symlink if it exists at all.Please read /usr/ports/UPDATING (entry of 20070519) for the procedure to upgrade X.org related ports.*** Error code 1 Stop in /usr/ports/x11/xorg-libraries. ---> Skipping 'x11/libdnd' (libdnd-1.1) because a requisite package 'xorg-libraries-6.8.2' (x11/xorg-libraries) failed (specify -k to force) [a million more skipping errors...] So I feel confident that I'm doing something incorrect since nothing seems to work after updating (or fails while updating). Could someone point me in the right direction? Nic
On Sun, Aug 03, 2008 at 09:20:08PM -0400, Nic Reveles wrote:> I've recently updated to freeBSD 6.3-STABLE from 5.3-RELEASE (amd64) and am struggling with out of date ports. I have tried updating 'ports-all' and 'src-all' numerous times (does src-all include ports-all? It takes forever) along with portupgrade.src-all does not include ports-all. "It takes forever" is wonderfully vague. :-) Chances are the cvsup server you're using is slow (usually caused by heavy disk I/O, not so much network I/O); pick another. Try them all, find one which is fast. I'd recommend a couple I commonly use, but then everyone will start using them....... :-)> For example, when trying to login to an account using the bash shell I got the following error that prevents logging in. > ld-elf.so.1: Shared object "libintl.so.6" not foundThis indicates bash is linked to a library that doesn't exist on your machine. On my RELENG_6 machine, there is no libintl.so.6 -- there's a libintl.so.8 (significantly newer).> So I tried: portupgrade -r bash, which did not fix anything. I was able to fix it by going into the ports directory and 'make deinstall' then 'make install'. But there are many other ports that are still broken. Is there an easy way to fix them all at once (using portupgrade)?The method I use for upgrading our systems is often shunned by other administrators because "it requires too much work", but it *always* works without any hitches. 1) Back up /usr/local. rsync -av /usr/local/ /usr/local.old/ works. 2) Save output from pkg_info somewhere (e.g. in a Notepad window, etc.) 3) pkg_delete -a -f 4) rm -fr /usr/local 5) rm -fr /var/db/pkg/* 6) rm -fr /var/db/ports (this probably isn't necessary, but why not) 7) Start installing all of your ports again If you have X on your machine, this method will very likely not make you happy, as I've heard people with X often have 300+ ports installed. I can't help you with X, as I don't use it.> 2) I rebuilt 'INDEX' > # cd /usr/ports && make indexWaste of time. cd /usr/ports && make fetchindex> So I feel confident that I'm doing something incorrect since nothing seems to work after updating (or fails while updating). Could someone point me in the right direction?I'd start by ceasing use of portupgrade. Try Doug Barton's portmaster, which is in ports/ports-mgmt/portmaster. It's an extensive shell script, and does not require ruby. It might actually upgrade all of your ports for you, although your system may be in a state of disarray as a result of upgrading major OS versions. -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |
Thanks for the help. I went ahead and installed portmaster and followed its instructions for deleting all ports and then reinstalling. 1. portmaster -l > ~/installed-port-list 2. Update your ports tree 3. portmaster --clean-distfiles-all 4. portmaster -Faf 5. pkg_delete '*' 6. rm -rf /usr/local/lib/compat/pkg 7. Manually check through /usr/local to make sure it is really empty That being said, I was really surprised to get a compilation error after this. I've updated ports- and src-all, but did I also need to delete somethings inside /usr/src before doing this? Thank you all for your help! :) ===> libgnomeui-2.22.1_2 depends on shared library: gvfscommon.0 - not found ===> Verifying install for gvfscommon.0 in /usr/ports/devel/gvfs ===> Installing for gvfs-0.2.5 ===> gvfs-0.2.5 depends on executable: gnome-mount - found ===> gvfs-0.2.5 depends on executable: mount_fusefs - not found ===> Verifying install for mount_fusefs in /usr/ports/sysutils/fusefs-kmod ===> Building for fusefs-kmod-0.3.9.p1.20080208_2 ===> fuse_module (all) "/usr/src/sys/conf/kern.mk", line 114: Malformed conditional (${MK_SSP} != "no" && ${CC} != "icc" && ${MACHINE_ARCH} != "ia64" && ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips") "/usr/src/sys/conf/kern.mk", line 116: if-less endif make: fatal errors encountered -- cannot continue *** Error code 1 Stop in /usr/ports/sysutils/fusefs-kmod/work/fuse4bsd-498acaef33b0. *** Error code 1 Stop in /usr/ports/sysutils/fusefs-kmod. *** Error code 1