[petsc-dev] PETSc.pc: missing rpath ?

Matthew Knepley knepley at gmail.com
Tue Jan 2 08:18:08 CST 2018


On Tue, Jan 2, 2018 at 9:15 AM, Franck Houssen <franck.houssen at inria.fr>
wrote:

> ----- Mail original -----
> > De: "Jed Brown" <jed at jedbrown.org>
> > À: "Franck Houssen" <franck.houssen at inria.fr>, "For users of the
> development version of PETSc"
> > <petsc-dev at mcs.anl.gov>
> > Envoyé: Mardi 2 Janvier 2018 15:02:17
> > Objet: Re: [petsc-dev] PETSc.pc: missing rpath ?
> >
> > Some people don't want RPATH.  It was discussed here.
> >
>
> OK
>
> > https://mid.mail-archive.com/CAEymZafiQtwKDxh0myQ1LD_
> uByGKv5JyQ9PGzK3ZTmFPcOR=Kw at mail.gmail.com
> >
> > The RPATH flag is stored in a variable ldflag_rpath in PETSc.pc so you
> > can add it to PETSc paths, as done in this sample makefile.
>
> Reading PETSC.pc from cmake, ldflag_rpath is ignored.


That is hard to believe from the world's best build system CMake ;)

   Matt


> > PETSc.pc := $(PETSC_DIR)/$(PETSC_ARCH)/lib/pkgconfig/PETSc.pc
> >
> > CC := $(shell pkg-config --variable=ccompiler $(PETSc.pc))
> > CXX := $(shell pkg-config --variable=cxxcompiler $(PETSc.pc))
> > FC := $(shell pkg-config --variable=fcompiler $(PETSc.pc))
> > CFLAGS := $(shell pkg-config --variable=cflags_extra $(PETSc.pc)) $(shell
> > pkg-config --cflags-only-other $(PETSc.pc))
> > FFLAGS := $(shell pkg-config --variable=fflags_extra $(PETSc.pc))
> > CPPFLAGS := $(shell pkg-config --cflags-only-I $(PETSc.pc))
> > LDFLAGS := $(shell pkg-config --libs-only-L --libs-only-other
> $(PETSc.pc))
> > LDFLAGS += $(patsubst -L%, $(shell pkg-config --variable=ldflag_rpath
> > $(PETSc.pc))%, $(shell pkg-config --libs-only-L $(PETSc.pc)))
> > LDLIBS := $(shell pkg-config --libs-only-l $(PETSc.pc)) -lm
> >
> > print:
> >       @echo CC=$(CC)
> >       @echo CFLAGS=$(CFLAGS)
> >       @echo CPPFLAGS=$(CPPFLAGS)
> >       @echo LDFLAGS=$(LDFLAGS)
> >       @echo LDLIBS=$(LDLIBS)
> >
> > Franck Houssen <franck.houssen at inria.fr> writes:
> >
> > > I believe -rpath is missing in PETSc.pc: is this intented ? Or
> forgotten ?
> > > If so, can someone add this to the PETSc.pc and push that in
> master/maint
> > > ?
> > > As PETSc is a lib to be used from user-defined applications, rpath is
> > > really critical !..
> > >
> > > Franck
> > >
> > >>> grep "Libs:" petsc/local/lib/pkgconfig/PETSc.pc
> > >>> slepc/local/lib/pkgconfig/SLEPc.pc
> > > petsc/local/lib/pkgconfig/PETSc.pc:16:Libs: -L${libdir} -lpetsc
> > > slepc/local/lib/pkgconfig/SLEPc.pc:11:Libs: -Wl,-rpath,${libdir}
> > > -L${libdir} -lslepc
> >
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20180102/790071a9/attachment-0001.html>


More information about the petsc-dev mailing list