Thanks. I pushed this change.

   Barry

On Jan 31, 2013, at 8:06 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> 
> On Thu, Jan 31, 2013 at 8:00 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> Jed,  I made this change but it makes everything useless because
> pkg-config PETSc --libs
> -L/Users/barrysmith/Src/petsc-dev/arch-opt/lib -lpetsc
> 
> how are people suppose to know what libraries to link against? Note that
> 
> pkg-config PETSc --variable=Libs.private
> returns nothing so how the hey does one get this information?
> 
> Add --static to the args.
> 
> $ pkg-config --libs cairo
> -lcairo 
> $ pkg-config --static --libs cairo
> -lcairo -lz -lgobject-2.0 -lffi -lglib-2.0 -pthread -lrt -lpcre -lpixman-1 
> -lfontconfig -lexpat -lfreetype -lz -lbz2 -lpng15 -lm -lz -lm -lxcb-shm 
> -lxcb-render -lXrender -lXext -lX11 -lpthread -lxcb -lXau -lXdmcp
> 
> 
> This is intentional. It allows rebuilding PETSc (e.g., adding new --download 
> args) without needing to relink all the layers above PETSc. Libraries and 
> applications that call PETSc and link only with -lpetsc should not acquire 
> direct dependencies on everything that PETSc depends on. (Static libraries 
> just don't have a way to manage transitive dependencies, so it all bubbles up 
> to the top level, but you always have to relink everything there anyway, so 
> there's no binary stability to gain.)

Reply via email to