Hi Jason,

> Sometimes after updates that change the runtime interface, I find I have to 
> run 'make clobber && make' to properly build.

I second Nick's suggestion. More specifically, you might be able to get away 
with just: 

`make -C third-party/jemalloc/ clobber && make`.

There was a jemalloc change back in March (during the 1.15 release cycle) that 
requires jemalloc to be clobbered and rebuilt. If interested, the PR and the 
comments contain some additional context:

https://github.com/chapel-lang/chapel/pull/5566 

If clobbering and rebuilding jemalloc does not resolve the issue, we'll need 
more information to help, starting with the output of 
`$CHPL_HOME/util/printchplenv --anonymize`.

Best,
Ben

On 6/4/17, 9:55 AM, "Nicholas Park" <[email protected]> wrote:

    Hi Jason,
    
    
    Is this build attempt from a clean checkout of master, or a build after an 
update? Sometimes after updates that change the runtime interface, I find I 
have to run 'make clobber && make' to properly build.
    
    
    Nick
    
    
    On Sun, Jun 4, 2017 at 12:10 PM, Jason Riedy 
    <[email protected]> wrote:
    
    Just a ping that git master is not building on my FrankenDebian
    laptop (combination of unstable & experimental).  The default gcc
    is 7.1, so the warnings and verbose error messages make tracking
    this down a tad painful.
    
    I'm including a snippet from the build log.  Separating the
    error / warning clumps with whitespace would be a nice gcc
    feature...  sigh.  Looks like something in re2 + jemalloc is
    misfiring w.r.t. Chapel's prefixing.
    
    ***** src/qio/regexp/re2/ *****
    [...]
    In file included from ../../../../include/chpl-mem.h:61:0,
                     from ../../../../include/qio/deque.h:43,
                     from ../../../../include/qio/qio-all.h:23,
                     from ../../../../include/chplio.h:30,
                     from ../../../../include/stdchplrt.h:36,
                     from re2-interface.cc:13:
    ../../../../include/mem/jemalloc/chpl-mem-impl.h: In function Œvoid* 
chpl_calloc(size_t, size_t)¹:
    <command-line>:0:22: error: Œchpl_je_calloc¹ was not declared in this scope
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:48:42: note: in definition 
of macro ŒCHPL_JE_TOK_PASTE_INTERNAL¹
     #define CHPL_JE_TOK_PASTE_INTERNAL(a, b) a ## b
                                              ^
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:50:24: note: in expansion 
of macro ŒCHPL_JE_TOK_PASTE¹
     #define CHPL_JE_(NAME) CHPL_JE_TOK_PASTE(CHPL_JEMALLOC_PREFIX, NAME)
                            ^~~~~~~~~~~~~~~~~
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:50:42: note: in expansion 
of macro ŒCHPL_JEMALLOC_PREFIX¹
     #define CHPL_JE_(NAME) CHPL_JE_TOK_PASTE(CHPL_JEMALLOC_PREFIX, NAME)
                                              ^~~~~~~~~~~~~~~~~~~~
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:52:24: note: in expansion 
of macro ŒCHPL_JE_¹
     #define CHPL_JE_CALLOC CHPL_JE_(calloc)
                            ^~~~~~~~
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:61:10: note: in expansion 
of macro ŒCHPL_JE_CALLOC¹
       return CHPL_JE_CALLOC(n,size);
              ^~~~~~~~~~~~~~
    <command-line>:0:22: note: suggested alternative: Œchpl_realloc¹
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:48:42: note: in definition 
of macro ŒCHPL_JE_TOK_PASTE_INTERNAL¹
     #define CHPL_JE_TOK_PASTE_INTERNAL(a, b) a ## b
                                              ^
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:50:24: note: in expansion 
of macro ŒCHPL_JE_TOK_PASTE¹
     #define CHPL_JE_(NAME) CHPL_JE_TOK_PASTE(CHPL_JEMALLOC_PREFIX, NAME)
                            ^~~~~~~~~~~~~~~~~
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:50:42: note: in expansion 
of macro ŒCHPL_JEMALLOC_PREFIX¹
     #define CHPL_JE_(NAME) CHPL_JE_TOK_PASTE(CHPL_JEMALLOC_PREFIX, NAME)
                                              ^~~~~~~~~~~~~~~~~~~~
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:52:24: note: in expansion 
of macro ŒCHPL_JE_¹
     #define CHPL_JE_CALLOC CHPL_JE_(calloc)
                            ^~~~~~~~
    ../../../../include/mem/jemalloc/chpl-mem-impl.h:61:10: note: in expansion 
of macro ŒCHPL_JE_CALLOC¹
       return CHPL_JE_CALLOC(n,size);
              ^~~~~~~~~~~~~~
    ../../../../include/mem/jemalloc/chpl-mem-impl.h: In function Œvoid* 
chpl_malloc(size_t)¹:
    <command-line>:0:22: error: Œchpl_je_malloc¹ was not declared in this scope
    
    
    
------------------------------------------------------------------------------
    Check out the vibrant tech community on one of the world's most
    engaging tech sites, Slashdot.org! 
    http://sdm.link/slashdot <http://sdm.link/slashdot>
    _______________________________________________
    Chapel-developers mailing list
    [email protected]
    https://lists.sourceforge.net/lists/listinfo/chapel-developers
    
    
    
    
    
    


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to