Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 May 2008 02:15:41 -0500 (CDT)
From:      "Ross Gohlke" <developer@grinz.com>
To:        freebsd-questions@freebsd.org
Subject:   Perspective on ports for non-experts
Message-ID:  <50650.74.170.92.99.1211526941.squirrel@grinzport.grinz.com>
In-Reply-To: <50810.74.170.92.99.1211493506.squirrel@grinzport.grinz.com>
References:  <48345138.8080507@ibctech.ca>    <4834599A.1090108@infracaninophile.co.uk> <4834A7B4.9030302@ibctech.ca> <20080521232319.GA57359@osiris.chen.org.nz>    <4834B7EE.3000002@ibctech.ca>    <20080522020619.GA69543@osiris.chen.org.nz>    <4834D891.6050707@ibctech.ca>    <20080522035913.GA78449@osiris.chen.org.nz>    <483503AD.60801@infracaninophile.co.uk> <4835634F.6060107@ibctech.ca>  <20080522203932.GA74897@osiris.chen.org.nz>    <50810.74.170.92.99.1211493506.squirrel@grinzport.grinz.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I am a jack-of-all-trades, master of none sysadmin. There's a lot to love
about FreeBSD, but ports take the cake. The procedures below work 99% of
the time for virtually any software I need to run. I have never had a
problem I couldn't quickly fix. I actually had to use portdowngrade once,
and it worked!

My normal ports routine is:
% cd /usr/ports/
% portsnap fetch update
% portsdb -u
% portaudit -Fa
% pico UPDATING
% portversion -l '<' [OR] portversion -v |less
% portupgrade -vr postfix
% portupgrade -vr clamav
....
If I'm installing a new port:
% cd /usr/ports
% make search name=postfix
% cd mail/postfix
% make install clean

In my experience, if the instructions in the Handbook don't work, finding
the workaround often involves hunting and pecking across the Internet, as
well as learning new concepts and commands. I've never seen something like
"An Introduction to make". I only recently learned how to retrieve the
graphical configuration screen after an installation without
deinstalling/reinstalling:
% make configure
Some of you will laugh, but some will know exactly what I'm talking about.
Where should I have learned that? Please don't send me to man! The one
thing I'm looking for in man pages is examples. I hardly ever find them.

## ## How to replace wrong binary packages with source packages

I'm ready to run X11/KDE. It seems like the perfect time to learn how to
use ports for binary packages, since X11/KDE are non-essential and will
take a couple of days to compile and install.

##
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/packages-using.html
% pkg_add -r kde3
Error: FTP Unable to get
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.1-release/Latest/kde3.tbz:
File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch
'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.1-release/Latest/kde3.tbz'
by URL

So I used:
% pkg_add -r
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages/Latest/kd3.tbz

I think I should have used /packages-6-stable/.
Instead I ended up with binaries for 7 (I guess).
I don't understand the first thing about linking/dynamic compiling. All I
know is I couldn't upgrade any of these packages using portupgrade. Here's
an example:
% portupgrade -vr qt
...
/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libqt-mt.so, not
found (try using -rpath or -rpath-link)

I don't have a list of every binary package installed, but through a
process of elimination I eventually weed out all the bad binaries: %
pkg_deinstall -v qt
This is better than make deinstall because it quits if there is a
dependency rather than just reporting it.
Run the same command for each package depending on qt, then run it on qt
again.
Keep running this command until it succeeds:
% cd /usr/ports/x11/kde3
% make configure
Use the warning messages to figure out which ports need to be removed.

Is there a better way to rectify this situation?

Ross Gohlke







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50650.74.170.92.99.1211526941.squirrel>