Re: Compilation error for instrumented code

From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Tue Feb 16 2010 - 18:12:31 PST

  • Next message: Nikita Andreev: "Tick to sec conversion"
    I had a chance to try to reproduce using the "upcc-dump" gasp client 
    that comes with Berkeley UPC.
    What I find is that passing --network or not did not make any 
    difference, nor did udp vs smp:
    
    $ profile/dump/upcc-dump -inst -o gasp_test 
    /home/phargrov/UPC/upc_runtime/upc-tests/benchmarks/gasp_test.upc 
    -network udp && echo SUCCESS
    SUCCESS
    $ profile/dump/upcc-dump -inst -o gasp_test 
    /home/phargrov/UPC/upc_runtime/upc-tests/benchmarks/gasp_test.upc 
    -network smp && echo SUCCESS
    SUCCESS
    $ profile/dump/upcc-dump -inst -o gasp_test 
    /home/phargrov/UPC/upc_runtime/upc-tests/benchmarks/gasp_test.upc && 
    echo SUCCESS
    SUCCESS
    
    So I am afraid I have no explanation for the failures Nikita reports seeing.
    I can report that I am using the current 2.10.0 release, while Nikita 
    appears to be using 2.8.0.  However, I am not aware of any changes 
    between those versions that might account for the link failures.
    
    -Paul
    
    
    Paul H. Hargrove wrote:
    > Nikita,
    >
    > This is not normal behavior as far as I know.
    > When no network options is specified the behavior is to default to 
    > --network=smp, unless some other default has been set in the global 
    > upcc.conf file or the user's ~/.upccrc.
    > So, I don't know why you would have success with -network=udp and a 
    > link failure without it.
    >
    > As soon as I have a chance I'll see if I can reproduce anything similar.
    >
    > -Paul
    >
    >
    > Nikita Andreev wrote:
    >> Hello Paul and everyone.
    >>  
    >> Today I've ran into some strange upcc script behaviour. I've got my 
    >> own GASP analysis tool and when I try to compile sample code this way:
    >>  
    >> /opt/bupc-runtime-2.8.0-gasp/bin/upcc --network=udp 
    >> --inst-toolname=trace-mod /opt/trace-mod-1.0.0/share/upcall.c 
    >> -L/opt/trace-mod-1.0.0/lib -ltracer --inst test.c
    >>  
    >> everything go fine. But when I invoke:
    >>  
    >> /opt/bupc-runtime-2.8.0-gasp/bin/upcc --inst-toolname=trace-mod 
    >> /opt/trace-mod-1.0.0/share/upcall.c -L/opt/trace-mod-1.0.0/lib 
    >> -ltracer --inst test.c
    >>  
    >> I get the following errors:
    >>  
    >> upcc: error running '/usr/bin/gmake --no-print-directory' to link 
    >> application:
    >> /opt/bupc-runtime-2.8.0-gasp/opt_inst/lib/libupcr-smp-seq.a(upcr_globfiles-smp-seq.o): 
    >> In function `upcri_pevt_endfn':
    >> upcr_globfiles.c:(.text+0x86c): undefined reference to 
    >> `gasp_event_notify'
    >> /opt/bupc-runtime-2.8.0-gasp/opt_inst/lib/libupcr-smp-seq.a(upcr_globfiles-smp-seq.o): 
    >> In function `_upcr_notify':
    >> upcr_globfiles.c:(.text+0x912): undefined reference to 
    >> `gasp_event_notify'
    >> upcr_globfiles.c:(.text+0x949): undefined reference to 
    >> `gasp_event_notify'
    >> /opt/bupc-runtime-2.8.0-gasp/opt_inst/lib/libupcr-smp-seq.a(upcr_globfiles-smp-seq.o): 
    >> In function `upcri_convertandbin_ilist':
    >> upcr_globfiles.c:(.text+0xaa6): undefined reference to 
    >> `gasp_event_notify'
    >> upcr_globfiles.c:(.text+0xfa7): undefined reference to 
    >> `gasp_event_notify'
    >> ...
    >>  
    >> I know compiling without network option doesn't make sense. But user 
    >> can forget to pass this option to my wrapper script and will get this 
    >> error which is misleading. From error log it looks like it can't link 
    >> with GASP tool library. Is it a compiler bug or normal behaviour?
    >>  
    >> Nikita
    >
    >
    
    
    -- 
    Paul H. Hargrove                          PHHargrove_at_lbl_dot_gov
    Future Technologies Group                 Tel: +1-510-495-2352
    HPC Research Department                   Fax: +1-510-486-6900
    Lawrence Berkeley National Laboratory     
    

  • Next message: Nikita Andreev: "Tick to sec conversion"