[petsc-dev] [petsc-maint] valgrind detected on /usr/local/include and enabled but header files from this dir are not added to build path

Barry Smith bsmith at mcs.anl.gov
Tue Oct 29 08:05:56 CDT 2013


   Satish,

   After a git pull or something we often run 

   $PETSC_ARCH/conf/reconf*.py 

   but sometimes it pays to delete $PETSC_ARCH first, but then $PETSC_ARCH/conf/reconf*.py  doesn’t exist and then we have these absurdly cumbersome

   cp $PETSC_ARCH/conf/reconf*.py 
   rm -rf $PETSC_ARCH
   reconf*.py 
   rm reconf*.py 

   commands.

    Could you please add a —with-clean (or better name?) option to ./configure that does the $PETSC_ARCH removal business? Then we can just run

    $PETSC_ARCH/conf/reconf*.py  —with-clean

   Also make sure that the —with-clean option is NOT stored in the resulting $PETSC_ARCH/conf/reconf*.py  file so it doesn’t get continuously used after that.

   Then we can get rid of the whole silly “rm $PETSC_ARCH” business first,

    Thanks

     Barry



On Oct 29, 2013, at 6:22 AM, Aron Ahmadia <aron at ahmadia.net> wrote:

> Thanks, this fixed it.  Should I in principle always start in a 'clean' PETSC_ARCH after a rebuild? 

  
> 
> A
> 
> 
> On Tue, Oct 29, 2013 at 5:30 AM, Karl Rupp <rupp at mcs.anl.gov> wrote:
> Hey,
> 
> 
> > That said, 'master' isn't building for me due to the following error:
> 
>       CLINKER
> /Users/aron/sandbox/petsc/arch-darwin-c-debug/lib/libpetsc.dylib
> Undefined symbols for architecture x86_64:
>    "_MPI_Datatype_f2c", referenced from:
>        _dmplexdistributedata_ in plexf.o
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> make[2]: ***
> [/Users/aron/sandbox/petsc/arch-darwin-c-debug/lib/libpetsc.dylib] Error 1
> make[2]: Leaving directory `/Users/aron/sandbox/petsc'
> make[1]: *** [gnumake] Error 2
> 
> 
> Looks like the sowing thing, please upgrade:
> 
> https://bitbucket.org/petsc/pkg-sowing/commits/13aaddc2796b1c6bb3e0bcaba5bb8b6c39018b52
> 
> Delete $PETSC_ARCH/conf/sowing and externalpackages/sowing*, then reconfigure.
> 
> Best regards,
> Karli
> 
> 
> 
> On Mon, Oct 28, 2013 at 6:35 PM, Matthew Knepley
> <petsc-maint at mcs.anl.gov <mailto:petsc-maint at mcs.anl.gov>> wrote:
> 
>     On Mon, Oct 28, 2013 at 5:19 PM, Aron Ahmadia <aron at ahmadia.net
>     <mailto:aron at ahmadia.net>> wrote:
> 
>         It's an ordering problem.  When you use '-isysroot', that
>         disables /usr/local/include from the compiler search paths.
> 
>         Since your valgrind checks are before you introduce -isysroot,
>         it passes then, then fails in make.  It's OS X's fault for
>         having a wonky built model, not yours, but we still need to fix
>         it :/
> 
>         ~/s/petsc git:maint ❯❯❯ cc -isysroot
>         /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
>         -mmacosx-version-min=10.9 -c test.c
> 
> 
>     Who the hell is putting sysroot into the command line??? I cannot
>     find it anywhere in the PETSc source or in my build files. Is
>     this come ridiculous CMake BullShit?
> 
>         Matt
> 
>         test.c:1:10: fatal error: 'valgrind/valgrind.h' file not found
>         #include <valgrind/valgrind.h>
>                   ^
>         1 error generated.
>         ~/s/petsc git:maint ❯❯❯ cc -c test.c
> 
>                                ⏎ ◼
>         ~/s/petsc git:maint ❯❯❯ mpicc -c test.c
> 
>         A
> 
> 
>         On Mon, Oct 28, 2013 at 4:01 PM, Aron Ahmadia <aron at ahmadia.net
>         <mailto:aron at ahmadia.net>> wrote:
> 
>             I'll double check.
> 
>             A
> 
> 
>             On Monday, October 28, 2013, Matthew Knepley wrote:
> 
>                 On Mon, Oct 28, 2013 at 2:56 PM, Aron Ahmadia
>                 <aron at ahmadia.net> wrote:
> 
>                     No, your configure script detects it by looking in
>                     /usr/local/include
> 
>                     You neglect to add this in your make.
> 
> 
>                 I just looked at the log. There was no -I/usr/local/include
> 
>                     Matt
> 
>                     A
> 
> 
>                     On Mon, Oct 28, 2013 at 3:55 PM, Matthew Knepley
>                     <petsc-maint at mcs.anl.gov> wrote:
> 
>                         On Mon, Oct 28, 2013 at 2:44 PM, Aron Ahmadia
>                         <aron at ahmadia.net> wrote:
> 
>                             This is a pretty common situation if
>                             somebody has a valgrind from homebrew.
> 
> 
>                         What is a common situation? The preprocessor
>                         finds <valgrind/valgrind.h> but the compiler
>                         does not?
>                         How can that happen on your machine?
> 
>                             Matt
> 
>                             I'd suggest adding '-I/usr/local/include' to
>                             your CFLAGs if you detect a valgrind in this
>                             location.
> 
>                             Cheers,
>                             Aron
> 
> 
> 
> 
>                         --
>                         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
> 
> 
> 
> 
> 
>                 --
>                 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
> 
> 
> 
> 
> 
>     --
>     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
> 
> 
> 
> 




More information about the petsc-dev mailing list