pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: (FWD) Update gtk2 can;t find pango or cairo 2009Q3
>
>
> 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.
Pango and cairo are/were up to date.
[root]: pkg_info|grep pango
pango-1.24.5 Library for layout and rendering of text
[root]: pkg_info|grep cairo
glitz-0.5.6nb2 OpenGL 2D graphics library and a backend for gl output
in cairo
cairo-1.8.8nb1 Vector graphics library with cross-device output support
The error messages sound like the package can't be found up-to-date or not??
> 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.
Removing work seems to have fixed things. I guess distclean and/or clean
doesn't really clean???
Thanks, I'll look at running the rolling update.
Paul
> 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
>
Home |
Main Index |
Thread Index |
Old Index