[petsc-dev] A couple of other notes from the Cygwin64 install

Aron Ahmadia aron at ahmadia.net
Thu Sep 26 09:36:26 CDT 2013


As a final note, here's my post-install script:

ARTIFACT=$prefix

# Need to move the DLLs into the appropriate directories
install $PETSC_ARCH/cyg*.dll $ARTIFACT/bin
install $PETSC_ARCH/lib/cyg*.dll $ARTIFACT/bin

Then "make check" passes for me with Fortran disabled.

cygcheck.exe will check that all of the DLLs for a DLL or .exe are on the
path for you and complain otherwise.

A


On Wed, Sep 25, 2013 at 6:33 PM, Aron Ahmadia <aron at ahmadia.net> wrote:

> Also, I think we're using different build configurations, I don't produce
> a libpetsc.dll (that looks suspiciously like a libpetsc.so file with the
> wrong name).  You should have a:
>
> lib/libpetsc.dll.a
>
> and
>
> cygpetsc.dll
>
> The first is the "import library" for the DLL, which contains the stubs
> for the actual symbols.
>
> I'm on CYGWIN_NT-6.2 1.7.25(0.270/5/3) 2013-08-31 20:37 x86_64 Cygwin
> using gcc4.8.1-3 from cygwin.
>
> A
>
>
> On Wed, Sep 25, 2013 at 6:27 PM, Aron Ahmadia <aron at ahmadia.net> wrote:
>
>> What does cygcheck.exe have to say about it?
>>
>> A
>>
>>
>> On Wed, Sep 25, 2013 at 6:05 PM, Satish Balay <balay at mcs.anl.gov> wrote:
>>
>>> On Wed, 25 Sep 2013, Satish Balay wrote:
>>>
>>> > On Wed, 25 Sep 2013, Aron Ahmadia wrote:
>>> >
>>> > > The Fortran test failed, I'm not going to bother looking into it.
>>> > >
>>> > > CMake is happily dumping the output library, cygpetsc.dll, in
>>> > > $PETSC_DIR/$PETSC_ARCH
>>> > >
>>> > > According to the wizards at Microsoft/Cygwin, DLLs belong in bin/,
>>> so they
>>> > > end up on the PATH when somebody tries to do an import.
>>> >
>>> > I guess one can do 'export PATH=$PATH:$PETSC_DIR/PETSC_ARCH/lib' to
>>> get the dll
>>> >
>>> > But somehow It doesnt' work for me.
>>> >
>>> > Also - I'm not sure this [dll] change should go into petsc-3.4. Since
>>> > --with-shared-libraries=1 is the configure default - now petsc-3.4
>>> > users will get a dll - that requies a PATH to be set [for it work]
>>> >
>>> > Also - how is this supporsed to work? I set PATH - but still get
>>> errors..
>>> >
>>> > balay at msnehalem2 ~/petsc.test/src/ksp/ksp/examples/tutorials
>>> > $ echo $PATH
>>> > /home/balay/petsc.test/arch-gnu-ini/lib:/bin:/usr/bin
>>> >
>>> > balay at msnehalem2 ~/petsc.test/src/ksp/ksp/examples/tutorials
>>> > $ ls -l /home/balay/petsc.test/arch-gnu-ini/lib
>>> > total 145820
>>> > -rwxr-xr-x  1 balay None 149317546 Sep 25 16:38 libpetsc.dll
>>> > drwxr-xr-x+ 1 balay None         0 Sep 25 16:34 modules
>>> > drwxr-xr-x+ 1 balay None         0 Sep 25 16:34 pkgconfig
>>> >
>>> > balay at msnehalem2 ~/petsc.test/src/ksp/ksp/examples/tutorials
>>> > $ ./ex2
>>> > /home/balay/petsc.test/src/ksp/ksp/examples/tutorials/ex2.exe: error
>>> while loading shared libraries: libpetsc.dll: cannot open shared object
>>> file: No such file or directory
>>> >
>>>
>>> ldd can find it though...
>>>
>>> balay at msnehalem2 ~/petsc.test/src/ksp/ksp/examples/tutorials
>>> $ ldd ex2.exe
>>>         ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x770b0000)
>>>         kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll
>>> (0x74e00000)
>>>         KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll
>>> (0x74c90000)
>>>         cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
>>>         libpetsc.dll =>
>>> /home/balay/petsc.test/arch-gnu-ini/lib/libpetsc.dll (0x6b1c0000)
>>>
>>>
>>> Satish
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130926/5ef57dc5/attachment.html>


More information about the petsc-dev mailing list