> On Jul 2, 2021, at 10:03 AM, Stefano Zampini <[email protected]> 
> wrote:
> 
> Patrick
> 
> Should this be fixed in PETSc build system? 
> https://github.com/JuliaPackaging/Yggdrasil/blob/master/P/PETSc/bundled/patches/petsc_name_mangle.patch

   This line worries me.

   How does the get work here? If the first argument is a list while the second 
seems to be a (n empty) string then what will the [0] do with the empty string? 
It seems possible the use of get in Configure has to be double checked 
everywhere it is used to ensure consistency between whether a list or some 
other type is returned. Perhaps a custom "get" is needed for configure to make 
the code clean and always handle lists etc properly?

   Barry


> 
>> On Jul 2, 2021, at 9:05 AM, Patrick Sanan <[email protected]> wrote:
>> 
>> As you mention in [4], the proximate cause of the configure failure is this 
>> link error [8]:
>> 
>> Naively, that looks like a problem to be resolved at the level of the C++ 
>> compiler and MPI.
>> 
>> Unless there are wrinkles of this build process that I don't understand 
>> (likely), this [6] looks non-standard to me:
>> 
>>      includedir="${prefix}/include"
>>      ...
>>      ./configure --prefix=${prefix} \
>>              ...
>>              -with-mpi-include="${includedir}" \
>>              ...
>> 
>> 
>> Is it possible to configure using  --with-mpi-dir, instead of the separate 
>> --with-mpi-include and --with-mpi-lib commands? 
>> 
>> 
>> As an aside, maybe Satish can say more, but I'm not sure if it's advisable 
>> to override variables in the make command [7].
>> 
>> [8]  
>> https://gist.github.com/jkozdon/c161fb15f2df23c3fbc0a5a095887ef8#file-configure-log-L7795
>> [6]  
>> https://gist.github.com/jkozdon/c161fb15f2df23c3fbc0a5a095887ef8#file-build_tarballs-jl-L45
>> [7]  
>> https://gist.github.com/jkozdon/c161fb15f2df23c3fbc0a5a095887ef8#file-build_tarballs-jl-L55
>> 
>> 
>>> Am 02.07.2021 um 06:25 schrieb Kozdon, Jeremy (CIV) <[email protected]>:
>>> 
>>> I have been talking with Boris Kaus and Patrick Sanan about trying to 
>>> revive the Julia PETSc interface wrappers. One of the first things to get 
>>> going is to use Julia's binary builder [1] to wrap more scalar, real, and 
>>> int type builds of the PETSc library; the current distribution is just 
>>> Real, double, Int32. I've been working on a PR for this [2] but have been 
>>> running into some build issues on some architectures [3].
>>> 
>>> I doubt that anyone here is an expert with Julia's binary builder system, 
>>> but I was wondering if anyone who is better with the PETSc build system can 
>>> see anything obvious from the configure.log [4] that might help me sort out 
>>> what's going on.
>>> 
>>> This exact script worked on 2020-08-20 [5] to build the libraries, se 
>>> something has obviously changed with either the Julia build system and/or 
>>> one (or more!) of the dependency binaries.
>>> 
>>> For those that don't know, Julia's binary builder system essentially allows 
>>> users to download binaries directly from the web for any system that the 
>>> Julia Programing language distributes binaries for. So a (desktop) user can 
>>> get MPI, PETSc, etc. without the headache of having to build anything from 
>>> scratch; obviously on clusters you would still want to use system MPIs and 
>>> what not.
>>> 
>>> ----
>>> 
>>> [1] https://github.com/JuliaPackaging/BinaryBuilder.jl
>>> [2] https://github.com/JuliaPackaging/Yggdrasil/pull/3249
>>> [3] 
>>> https://github.com/JuliaPackaging/Yggdrasil/pull/3249#issuecomment-872698681
>>> [4] 
>>> https://gist.github.com/jkozdon/c161fb15f2df23c3fbc0a5a095887ef8#file-configure-log
>>> [5] 
>>> https://github.com/JuliaBinaryWrappers/PETSc_jll.jl/releases/tag/PETSc-v3.13.4%2B0
>> 
> 

Reply via email to