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

Satish Balay balay at mcs.anl.gov
Thu Sep 26 10:39:30 CDT 2013


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
$



More information about the petsc-dev mailing list