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