[petsc-users] [Slepc 3.7.1][macOS] install name is set to build folder instead of prefix

Jose E. Roman jroman at dsic.upv.es
Mon Jul 11 14:06:14 CDT 2016


I don't understand why I don't get this warning.
Still I don't see where the problem is. Please tell me exactly what you want me to change, or better make a pull request.
Thanks.
Jose



> El 11 jul 2016, a las 17:06, Denis Davydov <davydden at gmail.com> escribió:
> 
> Here is the warning:
> 
> Your SLEPC_DIR may not match the directory you are in
> SLEPC_DIR  /Users/davydden/spack/var/spack/stage/slepc-3.7.1-p7hqqclwqvbvra6j44lka3xuc4eycvdg/slepc-3.7.1 Current directory /private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-m7Xg8I/slepc-3.7.1
> 
> p.s. this is done within Spack, for a fix see: https://github.com/LLNL/spack/pull/1206
> 
>> On 11 Jul 2016, at 16:53, Jose E. Roman <jroman at dsic.upv.es> wrote:
>> 
>> I cannot reproduce this behaviour. If I do for instance this (on OS X El Capitan):
>> 
>> $ cd ~/tmp
>> $ ln -s $SLEPC_DIR .
>> $ cd slepc-3.7.1
>> $ ./configure
>> $ make
>> $ otool -lv $PETSC_ARCH/lib/libslepc.dylib | grep slepc
>> 
>> I don't get a warning, and the output of otool is the same that would result if done on $SLEPC_DIR.
>> Which warning are you getting?
>> 
>> Jose
>> 
>> 
>>> El 11 jul 2016, a las 0:48, Denis Davydov <davydden at gmail.com> escribió:
>>> 
>>> Hi Jose,
>>> 
>>> so here is what happens. The issue appears when SLEPC_DIR is set to a symlink (the one with “stage below) of a build folder (the one with “private” below). 
>>> During configure there is a warning that SLEPC_DIR is not the same as current dir (string comparison),
>>> but one is symlink of another, so all but install_name_tool work. The latter leads to the following values of variables:
>>> 
>>> oldname    =/private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-MziaMV/slepc-3.7.1/installed-arch-darwin-c-opt/lib/libslepc.3.7.dylib
>>> 
>>> installName=/private/var/folders/5k/sqpp24tx3ylds4fgm13pfht00000gn/T/davydden/spack-stage/spack-stage-MziaMV/slepc-3.7.1/installed-arch-darwin-c-opt/lib/libslepc.3.7.dylib
>>> 
>>> archDir    =/Users/davydden/spack/var/spack/stage/slepc-3.7.1-gimrzhb4mozeus3i2hdmrtjp3tha5pgr/slepc-3.7.1/installed-arch-darwin-c-opt
>>> 
>>> installDir =/Users/davydden/spack/opt/spack/darwin-elcapitan-x86_64/clang-7.3.0-apple/slepc-3.7.1-gimrzhb4mozeus3i2hdmrtjp3tha5pgr
>>> 
>>> dst        =/Users/davydden/spack/opt/spack/darwin-elcapitan-x86_64/clang-7.3.0-apple/slepc-3.7.1-gimrzhb4mozeus3i2hdmrtjp3tha5pgr/lib/libslepc.3.7.1.dylib
>>> 
>>> As you see, installName wasn’t changed from oldname.
>>> 
>>> Since the python code rely on SLEPC_DIR be pwd(), i would suggest to through an error instead of the warning to make
>>> sure that users won’t get in the situation above. Alternative is to make this part of the code more robust.
>>> 
>>> When SLEPC_DIR==pwd() the patch you referred works.
>>> 
>>> Kind regards,
>>> Denis 
>>> 
>> 
> 



More information about the petsc-users mailing list