[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