Re: undefined symbol: cri_initialize_checkpoint_args_t

From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Thu Dec 11 2008 - 17:26:45 PST

  • Next message: Paul H. Hargrove: "Re: undefined symbol: cri_initialize_checkpoint_args_t"
    The symbol cri_initialize_checkpoint_args_t existed in BLCR-0.6.X, but has not 
    existed since 0.7.0 was released in May 2008.  In 0.6.X, it only appears in 
    the following extract from libcr.h, which was intended to convey that one 
    calls cr_initialize_checkpoint_args_t() and never uses 
    cri_initialize_checkpoint_args_t() directly.  Note the cr_ vs. cri_ prefixes 
    are easy to get confused by mistake.  The comment is out of sync with the name 
    of the function one is supposed to call, so I can see how confusion could result.
    > // cr_checkpoint_args_t_init
    > //
    > // This initializer is needed so that old clients compiled against a new
    > // libcr.h get sane values for fields they know nothing about.
    > //
    > void cri_initialize_checkpoint_args_t(cr_checkpoint_args_t *value);
    > static inline void cr_initialize_checkpoint_args_t(cr_checkpoint_args_t *cr_args)
    > {
    >     cr_args->cr_version = LIBCR_VERSION_ID;
    >     cri_initialize_checkpoint_args_t(cr_args); /* Don't call directly */
    > }
    So, I see two possibilities.  One is that you are using an old libcr.h header. 
      That is certainly possible if 0.6.X was installed, for instance, in 
    /usr/include or /usr/local/include.   Another possibility is that your code is 
    calling cri_initialize_checkpoint_args_t() directly where 
    cr_initialize_checkpoint_args_t() was intended.
    If you still need more help, let us know.
    Alexandre Strube wrote:
    > Hello,
    > I am trying to use the checkpoint library as a "client". However, I'm 
    > facing some trouble.
    > My tool compiles fine. But when I try to run it, I'm faced with the message:
    > undefined symbol: cri_initialize_checkpoint_args_t
    > I'm pretty sure it's my fault, as the examples/pthread_misc/pthread_misc 
    > works.
    > This is blcr 0.8.0_b2
    > The code compiles with no errors, unless I force the blcr/include. Then, 
    > I have the errors:
    > g++ -c  -DBIGARRAY_MULTIPLIER=1 -DUSING_XED -g -fno-strict-aliasing 
    > -I/users/surak/pin/Include -I/users/surak/pin/InstLib 
    > -I/users/surak/pin/source/tools/InstLib 
    > -I/users/surak/pin/extras/xed2-ia32/include 
    > -I/users/surak/pin/source/include -I/users/surak/pin/source/include/gen 
    > -I/softs/blcr-0.8.0_b2/include/ -DTARGET_IA32 -DTARGET_LINUX -o 
    > obj-ia32/sigenable.o sigenable.cpp
    > In file included from /softs/blcr-0.8.0_b2/include/libcr.h:33,
    >                  from sigenable.cpp:5:
    > /softs/blcr-0.8.0_b2/include/blcr_common.h:213: error: expected 
    > unqualified-id before "new"
    > /softs/blcr-0.8.0_b2/include/blcr_common.h:213: error: abstract 
    > declarator `const char*' used as declaration
    > /softs/blcr-0.8.0_b2/include/blcr_common.h:213: error: expected `;' 
    > before "new"
    > -- 
    > []
    > Alexandre Strube
    > surak_at_ubuntu_dot_com <mailto:surak_at_ubuntu_dot_com>
    Paul H. Hargrove                          PHHargrove_at_lbl_dot_gov
    Future Technologies Group
    HPC Research Department                   Tel: +1-510-495-2352
    Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

  • Next message: Paul H. Hargrove: "Re: undefined symbol: cri_initialize_checkpoint_args_t"