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 <a...@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 <a...@ahmadia.net> wrote: > >> What does cygcheck.exe have to say about it? >> >> A >> >> >> On Wed, Sep 25, 2013 at 6:05 PM, Satish Balay <ba...@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@msnehalem2 ~/petsc.test/src/ksp/ksp/examples/tutorials >>> > $ echo $PATH >>> > /home/balay/petsc.test/arch-gnu-ini/lib:/bin:/usr/bin >>> > >>> > balay@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@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@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 >>> >> >> >