[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Wierd PETSc build behavior...



Julian Gilbey wrote:

> On Tue, Feb 27, 2001 at 04:32:38PM -0500, Adam C Powell IV wrote:
> > The problem is that it's setting MPI_LIBS to -L{MPI_HOME}/build/... like it's
> > substituting ${MPI_HOME} with {MPI_HOME} instead of the value of the
>
> Have you copied the -L option verbatim?  If so, the error is clear:
> there's no $ between the -L and the {.  Otherwise, I have no idea.

I'm sorry, I was very imprecise.  Here are the details:

>From the top-level makefile:

include ${PETSC_DIR}/bmake/${PETSC_ARCH}/base
[snip]
info:
        [snip]
        -@echo "Using C linker: ${CLINKER}"
        -@echo "Using Fortran linker: ${FLINKER}"
        -@echo "Using libraries: ${PETSC_LIB}"
        -@echo "=========================================="

Next, bmake/linux_ppc/base includes bmake/linux_ppc/base_variables which includes
bmake/common_variables which has:

PETSC_SYS_LIB  = -L${LDIR} -lpetsc \
                 ${EXTERNAL_LIB} ${LAPACK_LIB} ${BLAS_LIB} \
                 ${MPI_LIB} ${SYS_LIB}
[snip]
PETSC_LIB   = -L${LDIR} -lpetscts -lpetscsnes  -lpetscsles -lpetscdm -lpetscmat \
  -lpetscvec ${PETSC_SYS_LIB}
[snip]
include ${PETSC_DIR}/bmake/${PETSC_ARCH}/base.site

>From bmake/linux_ppc/base.site (after the build has started and debian/rules has
replaced PETSC_MPI=petsc_mpi with PETSC_MPI=mpich):

PETSC_MPI=mpich

# For mpich: (woody mpich uses /usr/lib/mpich/lib, potato the longer dir)
ifeq ($(PETSC_MPI),mpich)
  MPI_HOME       = /usr/lib/mpich
  MPI_LIB        = -L${MPI_HOME}/lib -L${MPI_HOME}/build/LINUX/ch_p4/lib -lmpich
MPIRUN         = /usr/bin/mpirun.mpich -machinefile /etc/mpich/machines.LINUX
  MPI_INCLUDE    = -I/usr/lib/mpich/include
-I/usr/lib/mpich/build/LINUX/ch_p4/include
endif

And the output from the top-level info: target:

[snip]
Using C linker: gcc -O2 -Wall -Wshadow  -fomit-frame-pointer
-L/usr/home/hazelsct/petsc/petsc-2.0.29/lib/libO/linux_ppc
Using Fortran linker: g77 -O2
-L/usr/home/hazelsct/petsc/petsc-2.0.29/lib/libO/linux_ppc
Using libraries: -L/usr/home/hazelsct/petsc/petsc-2.0.29/lib/libO/linux_ppc
-lpetscts -lpetscsnes  -lpetscsles -lpetscdm -lpetscmat -lpetscvec
-L/usr/home/hazelsct/petsc/petsc-2.0.29/lib/libO/linux_ppc -lpetsc
-L{MPI_HOME}/build/LINUX/ch_p4/lib -lmpe
-lpmpich                                               -L/usr/X11R6/lib
-lX11             -llapack -blas -L/usr/lib/mpich/lib
-L/usr/lib/mpich/build/LINUX/ch_p4/lib -lmpich -ldl -lc -lg2c -lm
==========================================
[snip]

Note the -L{MPI_HOME}/build/...

Again, this behavior began in powerpc unstable between Feb 2 (when I uploaded
-3_powerpc) and Feb 20 (when I first tried to build -4 and noticed this problem
existed in -3 and -4); and in alpha testing between Feb 15 (when I last built
PETSc and ran benchmarks) and the build attempt today.

Okay, what's really odd, is that the installed -dev packages on the alpha with the
same bmake files as the source package (just diffed them) work fine, but when I
try to build new packages it screws up!  That's really bizarre.  (Yes, I've
confirmed that during the package build, PETSC_DIR points to the source directory,
not /usr/lib/petsc of the installed package.  That too is printed by the info:
target, and shows up in the -L flags above.)

That's all I know,

-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

               Welcome to the best software in the world today cafe!



Reply to: