Thanks for the quick response. Attached please find the configure.log
containing the configure error.

Regarding our dup, our wrapper does support it. In fact, everything works
fine on Linux. I suspect on windows, PETSc picks the system mpi.h somehow.
I am investigating it.

Thanks,
Sam

On Thu, Aug 29, 2019 at 3:39 PM Matthew Knepley <knep...@gmail.com> wrote:

> On Thu, Aug 29, 2019 at 3:33 PM Sam Guo via petsc-users <
> petsc-users@mcs.anl.gov> wrote:
>
>> Dear PETSc dev team,
>>    I am looking some tips porting petsc to windows. We have our mpi
>> wrapper (so we can switch different mpi). I configure petsc using
>> --with-mpi-lib and --with-mpi-include
>>  ./configure --with-cc="win32fe cl" --with-fc=0 --download-f2cblaslapack
>> --with-mpi-lib=/home/xianzhongg/dev/star/lib/win64/intel18.3vc14/lib/StarMpiWrapper.lib
>> --with-mpi-include=/home/xianzhongg/dev/star/base/src/mpi/include
>> --with-shared-libaries=1
>>
>> But I got error
>>
>> ===============================================================================
>>              Configuring PETSc to compile on your system
>>
>> ===============================================================================
>> TESTING: check from
>> config.libraries(config/BuildSystem/config/libraries.py:154)
>> *******************************************************************************
>>          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for
>> details):
>>
>> -------------------------------------------------------------------------------
>> --with-mpi-lib=['/home/xianzhongg/dev/star/lib/win64/intel18.3vc14/lib/StarMpiWrapper.lib']
>> and
>> --with-mpi-include=['/home/xianzhongg/dev/star/base/src/mpi/include'] did
>> not work
>>
>> *******************************************************************************
>>
>
> Your MPI wrapper should pass the tests here. Send the configure.log
>
>
>> To fix the configuration error,  in config/BuildSystem/config/package.py,
>> I removed
>>  self.executeTest(self.checkDependencies)
>>  self.executeTest(self.configureLibrary)
>>  self.executeTest(self.checkSharedLibrary)
>>
>> To link, I add my mpi wrapper
>> to ${PTESTC_ARCH}/lib/petsc/conf/petscvariables:
>> PCC_LINKER_FLAGS =    -MD -wd4996 -Z7
>> /home/xianzhongg/dev/star/lib/win64/intel18.3vc14/lib/StarMpiWrapper.lib
>>
>> I got libpetstc.dll and libpetstc.lib. When I try to test it inside our
>> code, PETSc somehow crates a duplicate of communicator with only 1 MPI
>> process and PETSC_COMM_WORLD is set to 2. If I set PETSC_COMM_WORLD to 1
>> (our MPI_COMM_WORLD), PETSc is hanging.
>>
>
> We do dup the communicator on entry. Shouldn't that be supported by your
> wrapper?
>
>   Thanks,
>
>      Matt
>
>
>> I am wondering if you could give me some tips how to debug this problem.
>>
>> BR,
>> Sam
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>

Attachment: configure.log
Description: Binary data

Reply via email to