[petsc-dev] Stupid BuildSystem question: How do I force rebuild of a downloaded package?

Richard Tran Mills rtm at eecs.utk.edu
Mon Nov 7 14:17:57 CST 2011


Hi Folks,

I am trying to test the changes I have made to the PLAPACKR32-hg package 
before pushing them back up and asking Satish to rebuild the tarball.  I 
guessed that I could do this by deleting 
$PETSC_DIR/externalpackages/PLAPACKR32-hg and 
$PETSC_DIR/$PETSC_ARCH/lib/libPLAPACK.a, pointing the download path to my 
local tarball, and running configure again.  I get the following:

TESTING: configureLibrary from 
PETSc.packages.PLAPACK(config/BuildSystem/config/package.py:417)
   Find an installation and check if it can work with PETSc
==================================================================================
       Checking for a functional PLAPACK
               Looking for PLAPACK in directory starting with PLAPACK
               Could not locate an existing copy of PLAPACK:
                 ['fblaslapack-3.1.1', 'netcdf-4.1.1', 'ml-6.2', 'blacs-dev', 
'mpich2-trunk-r8608', 'SCALAPACK-1.7', 'hdf5-1.8.6', 'hypre-2.7.0b', 
'numdiff-5.2.1.a', 'ParMetis-3.2.0-p1']
                 Downloading PLAPACK
                   Downloading file:///home/rmills/proj/PLAPACKR32.tar.gz to 
/home/rmills/proj/petsc-dev/externalpackages/_d_PLAPACK.tar.gz
                   Uncompressing 
/home/rmills/proj/petsc-dev/externalpackages/_d_PLAPACK.tar.gz
sh: cd /home/rmills/proj/petsc-dev/externalpackages; gunzip _d_PLAPACK.tar.gz
Executing: cd /home/rmills/proj/petsc-dev/externalpackages; gunzip 
_d_PLAPACK.tar.gz
sh:
                   Expanding 
/home/rmills/proj/petsc-dev/externalpackages/_d_PLAPACK.tar
sh: cd /home/rmills/proj/petsc-dev/externalpackages; tar -xf _d_PLAPACK.tar
Executing: cd /home/rmills/proj/petsc-dev/externalpackages; tar -xf _d_PLAPACK.tar
sh:
sh: cd /home/rmills/proj/petsc-dev/externalpackages; tar -tf _d_PLAPACK.tar | 
head -n 1
Executing: cd /home/rmills/proj/petsc-dev/externalpackages; tar -tf 
_d_PLAPACK.tar | head -n 1
sh: PLAPACKR32/

sh: cd /home/rmills/proj/petsc-dev/externalpackages; chmod -R a+r 
PLAPACKR32;find  PLAPACKR32 -type d -name "*" -exec chmod a+rx {} \;
Executing: cd /home/rmills/proj/petsc-dev/externalpackages; chmod -R a+r 
PLAPACKR32;find  PLAPACKR32 -type d -name "*" -exec chmod a+rx {} \;
sh:
                   Looking for PLAPACK in directory starting with PLAPACK
                   Found a copy of PLAPACK in PLAPACKR32
                 Looking for PLAPACK in directory starting with PLAPACK
                 Found a copy of PLAPACK in PLAPACKR32
                 Pushing language C
                 Popping language C
                 Pushing language FC
                 Popping language FC
Do not need to rebuild PLAPACK
       Checking for library in Download PLAPACK: 
['/home/rmills/proj/petsc-dev/ubuntu-gnu_g/lib/libPLAPACK.a']
       Contents: ['etc', 'Makefile', 'share', 'RDict.log', 'doc', 
'CMakeFiles', 'include', 'conf', 'CMakeCache.txt', 'lib', 
'cmake_install.cmake', 'default.log', 'man', 'bin']
================================================================================

Now, my question is: Why does BuildSystem think that it doesn't have to 
rebuild PLAPACK?  I have deleted 
/home/rmills/proj/petsc-dev/ubuntu-gnu_g/lib/libPLAPACK.a.  Configure tries to 
link with that, anyway, and then eventually gives up and tells me that the 
downloaded PLAPACK can't be used.  Shouldn't it *not* do that since this file 
doesn't exist?

I can work around this by deleting my $PETSC_DIR/$PETSC_ARCH directory and 
rebuilding everything, but this can take a long time if I have a lot of 
downloaded packages.

--Richard





More information about the petsc-dev mailing list