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.) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130131/2b796674/attachment.html>
