Note - in our default approach, hypre symbols are pulled into petsc sharedlibraries [and not user binaries - so the user binaries will remain small]
Satish On Fri, 30 Jan 2009, Shao-Ching Huang wrote: > Satish: > > Thanks for the suggestion. I will just follow the standard approach > then -- PETSc shared libraries with external .a libraries. > > Shao-Ching > > Satish Balay wrote: > > We build external packages minimally only. So the PETSc shared > > libraries will link with most of the external .a libraries. This works > > fine for us. > > > > To build shared hypre library - you can try the following and see if > > it works: > > > > cd $PETSC_DIR > > make SHLIBS=libHYPRE shared > > > > Satish > > > > On Fri, 30 Jan 2009, Shao-Ching Huang wrote: > > > > > Hi, > > > > > > I am trying to build shared library version of PETSC 3.0.0-p2 with > > > Hypre (Fedora 10 Linux on x86_64). > > > > > > With "configure --with-shared=1 ...", it does build shared libraries > > > for PETSC, but the Hypre part is still static. The file > > > externalpackages/hypre-2.4.0b/src/config.log shows that > > > "--enable-shared" (for configuring Hypre) is not there. > > > > > > Is there a way to build shared libraries for Hypre from PETSc's > > > configure command line? > > > > > > Thanks. > > > > > > Shao-Ching > > > > > > My complete PETSc configure command: > > > > > > ./config/configure.py --with-debugging=1 --with-shared=1 \ > > > --with-cc=mpicc --with-fc=mpif90 --with-cxx=mpicxx \ > > > --with-blas-lapack-dir=/usr/lib64 \ > > > --download-hypre=yes > > > > > > The first few lines of externalpackages/hypre-2.4.0b/src/config.log > > > (reformatted): > > > > > > $ ./configure > > > --prefix=/home/schuang/local/petsc-3.0.0-p2-shared/linux-gnu-c-debug > > > CC=mpicc -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -g3 > > > CXX=mpicxx -Wall -Wwrite-strings -Wno-strict-aliasing -g -fPIC > > > F77=mpif90 -fPIC -Wall -Wno-unused-variable -g > > > --with-MPI-include=/usr/include/openmpi/1.2.4-gcc/64 > > > --with-MPI-lib-dirs= --with-MPI-libs=nsl rt --with-blas-libs= > > > --with-blas-lib-dir= --with-lapack-libs= --with-lapack-lib-dir= > > > --with-blas=yes --with-lapack=yes --without-babel --without-mli > > > --without-fei --without-superlu > > > > > > > > > > > >
