[petsc-dev] petsc shared libraries on cygwin?

Brad Aagaard baagaard at usgs.gov
Thu May 12 12:58:23 CDT 2011


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?
>>
>




More information about the petsc-dev mailing list