checking for BASE_DEPENDENCIES... configure: error: Package requirements (glib-2.0 >= 2.19.7 atk >= 1.13.0 pango >= 1.20 cairo >= 1.6) were not met: No package 'pango' found No package 'cairo' found A few things about pkgsrc that might not be obvious: if packages are not up to date, building other packages may fail. This is arguably a bug in pkgsrc, but most of the people who fix bugs like that have their other packages up to date. if you have stale work directories, I have found that pkgsrc can get confused about what's installed. So 'rm -rf */*/work' before you start. I use the following script to prepare for pkg_rolling-replace, which is how I'd do a source jump between stable branches. Running it and then 'pkg_rolling-replace -uv -n' may be useful in understanding the state of things. Read it before running; it may not do what you want - it does what *I* want :-) ---------------------------------------- #!/bin/sh # $Id: _update-pkgsrc,v 1.16 2009/01/26 15:33:36 gdt Exp $ # Copyright 2007-2009 Gregory D. Troxel, BBN Technologies # Permission to copy granted under 3-clause BSD license. # Do automatic periodic maintenance in pkgsrc. Typically followed # by pkg_rolling-replace. # This script expects to be invoked as a user, and uses sudo. # Consider invoking as root and a reverse su for cvs. For now, do the # sudo tasks early if possible. # XXX This script assumes that it is operating in /usr/pkgsrc. It # should be extended to work with the current directory, checking that # it is a pkgsrc directory. # Suggested procedure: # # run _update-pkgsrc # # review PKG.{automatic,manual}-{notrequired,required} to see if # they are right, and do set/unset of automatic on packages. # # review, or ask the user to review manual-*. pkg_delete any that # are not needed. # # remove all automatic-notrequired packages (and repeat until none) # # then run pkg_rolling-replace -uv # (Note that without -u, some prereqs won't be up to date, and # rebuilds of unsafe_depends packages will perhaps depend on the # newer version, so -u is typically a good idea unless you have # looked at the unsafe_depends list.) if [ "$1" = "noupdate" ]; then noupdate=t fi # XXX Substitute this at build time. MAKE=make if [ `uname` = "Darwin" ]; then MAKE=bmake fi # Get new vulnerability data. sudo download-vulnerability-list # Ensure that we have binary packages for all installed packages. mkdir -p /usr/pkgsrc/packages/All rm -f PKG.missing (cd /var/db/pkg && ls) \ | while read d; do if [ -d /var/db/pkg/"$d" ]; then if [ ! -f /usr/pkgsrc/packages/All/"$d".tgz ]; then echo $d >> PKG.missing sudo pkg_tarup -d /usr/pkgsrc/packages/All $d fi fi done # List working directories (for manual cleanup). rm -f PKG.WORK ls -d */*/work > PKG.WORK if [ ! -s PKG.WORK ]; then rm PKG.WORK fi # Update sources rm -f PKG.UPDATE if [ "$noupdate" = "" ]; then cvs -q up -d -P > PKG.UPDATE.full 2>&1 else echo "NOUPDATE" > PKG.UPDATE.full fi egrep -v '(^[UP]|is no longer in)' PKG.UPDATE.full > PKG.UPDATE # Check for vulnerable packages. rm -f PKG.AUDIT; audit-packages | sort > PKG.AUDIT # Check for mismatched packages rm -f PKG.MISMATCH; pkg_chk -uq | sort > PKG.MISMATCH # Make a list of packages not required by anything else. rm -f PKG.automatic-required PKG.automatic-notrequired \ PKG.manual-required PKG.manual-notrequired for d in `cd /var/db/pkg && ls`; do D=/var/db/pkg/$d DREQ=$D/+REQUIRED_BY DINS=$D/+INSTALLED_INFO REQ=notrequired AUTO=manual if [ ! -d $D ]; then continue; fi if [ -s $DREQ ]; then REQ=required fi if [ -f $DINS ] && egrep 'automatic=(yes|YES)' $DINS > /dev/null; then AUTO=automatic fi echo $d >> PKG.$AUTO-$REQ done # Remove distfiles that are out of date. lintpkgsrc -mor # Ensure that we have sources for all packages that are installed, # plus all packages requested. pkg_chk -g cat pkgchk.conf pkgchk-manual.conf | egrep -v \# | while read pkg; do echo $pkg (cd $pkg && $MAKE fetch) done # Make list of out-dated binary packages, separated by whether they # are installed or not. rm -f PKG.old-installed PKG.old-notinstalled lintpkgsrc -p | egrep -v '^(Cannot extract|Bogus:)' | egrep . | while read p; do pbase=`basename $p .tgz` installed=notinstalled if [ -d /var/db/pkg/$pbase ]; then installed=installed fi echo "$p" >> PKG.old-$installed done # Delete binary packages that are old and not installed. # This must be done after the cvs update, and thus will probably not # be able to ride the sudo timer. if [ -f PKG.old-notinstalled ]; then cat PKG.old-notinstalled | sudo xargs rm -f && \ rm PKG.old-notinstalled fi
Attachment:
pgpJM6memXQt3.pgp
Description: PGP signature