Satish and Lisandro- I think I have found the workaround for building shared libraries on cygwin for the CIG PETSc buildbot that allows us to build python modules. Leif Strand a few years ago created a script to create shared libraries for PETSc from the static libraries created in a normal PETSc build. It currently isn't being invoked, but I should be able to track that down.
Thanks, Brad On 05/12/2011 08:07 AM, Brad Aagaard wrote: > Lisandro- > > I am not using petsc4py but trying to build PyLith which builds python > modules that depend on PETSc (like petsc4py), so I assume the linking > issues are similar to those in petsc4py. > > When building the python modules I get warnings like the following and I > am unable to import the resulting python module (I get errors reporting > the module doesn't exist because it ends up as a static module). > > *** Warning: This system can not link to static lib archive > ../../libsrc/libpylith.la. > *** I have the capability to make that library automatically link in when > *** you link to this library. But I can only do this if you have a > *** shared version of the library, which you do not appear to have. > *** But as you try to build a module library, libtool will still create > *** a static module, that should work as long as the dlopening application > *** is linked with the -dlopen flag to resolve symbols at runtime. > > Brad > > On 05/12/2011 02:42 AM, Lisandro Dalcin wrote: >> On 12 May 2011 05:30, Brad Aagaard<baagaard at usgs.gov> wrote: >>> Under what conditions (configure args), if any, will petsc-dev build a >>> shared library on cygwin? I am getting static libraries which are >>> causing >>> linking problems when trying to build python modules that use petsc. >>> >>> Lisandro- Do you build petsc4py on cywgin? If so, how do you >>> configure petsc >>> and mpi? >>> >> >> I do not build petsc4py on Cygwin, nor Windows. A necessary first step >> is that PETSc can build itself as DLL's. Note that you should be able >> to build petsc4py without DLL's, however you will not be able to use >> any other code that uses PETSc (like SLEPc and slepc4py). I do not >> have this issue with mpi4py, as I can download a binary installer with >> pre-built DLL's. Unfortunately, I do not have the >> expertise+time+interest to get PETSc working on Windows. Once you have >> PETSc DLL's, getting petsc4py is just a matter of 15 minutes of >> hacking and testing. >> >> BTW, what errors do you get when trying to link petsc4py on Cygwin? >> >
