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

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


cygcheck is a bit of a swiss army knife, as I said a bit earlier:

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

Here's how to use it:

cygcheck.exe ~/proteus/hashstack/opt/profile/vuku/bin/cygpetsc.dll

using ldd on the same dll doesn't reveal the environment errors.

I can't make heads or tails of your error, cygcheck might be able to
diagnose it.

A


On Thu, Sep 26, 2013 at 11:39 AM, Satish Balay <balay at mcs.anl.gov> wrote:

> On Thu, 26 Sep 2013, Aron Ahmadia wrote:
>
> > 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.
>
> cygcheck is for cygwin packages. So you are creating a cygwin packaage and
> then checking?
>
> But I'm interested in a check after 'make all'.
>
> How is that supporsed to work? ldd is able to find the dll - but its not
> visible at runtime?
>
> > > 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.
>
> I see you are using cmake build - and thats creating cygpetsc.dll.
>
> >>>>>>>>>>
> /cygdrive/c/cygwin/home/balay/petsc.clone/arch-gcc64-parmetis/bin/mpif90
>  -Wall -Wno-unused-variable -Wno-unused-dummy-argument -g      -shared
> -Wl,--enable-auto-import -o cygpetsc.dll
> -Wl,--out-implib,lib/libpetsc.dll.a
> -Wl,--major-image-version,0,--minor-image-version,0
> CMakeFiles/petsc.dir/src/sys/utils/arch.c.o .........
> <<<<<<<<<<<
>
> Will have to see how this can be added to all-legacy and all-gnu.
>
> But it still doesn't work for me. [with cmake build]
>
> Satish
>
> ---------
>
> balay at msnehalem2 ~/petsc.clone/src/ksp/ksp/examples/tutorials
> $ uname -a
> CYGWIN_NT-6.1 msnehalem2 1.7.25(0.270/5/3) 2013-08-31 20:37 x86_64 Cygwin
>
> balay at msnehalem2 ~/petsc.clone/src/ksp/ksp/examples/tutorials
> $ echo $PATH
> /usr/local/bin:/usr/bin:/home/balay/petsc.clone/arch-gcc64-parmetis
>
> balay at msnehalem2 ~/petsc.clone/src/ksp/ksp/examples/tutorials
> $ ls -l /home/balay/petsc.clone/arch-gcc64-parmetis/*.dll
> -rwxr-xr-x 1 balay None 215910106 Sep 26 10:24
> /home/balay/petsc.clone/arch-gcc64-parmetis/cygpetsc.dll
>
> balay at msnehalem2 ~/petsc.clone/src/ksp/ksp/examples/tutorials
> $ ldd ex2
>         ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x76ed0000)
>         kernel32.dll => /cygdrive/c/Windows/system32/kernel32.dll
> (0x76db0000)
>         KERNELBASE.dll => /cygdrive/c/Windows/system32/KERNELBASE.dll
> (0x7fefcff0000)
>         cygpetsc.dll =>
> /cygdrive/c/cygwin/home/balay/petsc.clone/arch-gcc64-parmetis/cygpetsc.dll
> (0x488040000)
>
> balay at msnehalem2 ~/petsc.clone/src/ksp/ksp/examples/tutorials
> $ ./ex2
> /cygdrive/c/cygwin/home/balay/petsc.clone/src/ksp/ksp/examples/tutorials/ex2.exe:
> error while loading shared libraries: cygpetsc.dll: cannot open shared
> object file: No such file or directory
>
> balay at msnehalem2 ~/petsc.clone/src/ksp/ksp/examples/tutorials
> $
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130926/c850f0d1/attachment.html>


More information about the petsc-dev mailing list