[Darshan-users] Instrumenting statically-linked applications

Phil Carns carns at mcs.anl.gov
Tue Nov 27 09:25:58 CST 2012


Hi Dragos,

Thanks for the bug report.  It looks like the 
/opt/apps/gcc4_4/mvapich/1.0.1/bin/mpicc is just ordering the link 
arguments differently than darshan-gen-cc.pl expected.  We should be 
able to work around this without too much trouble. In terms of the perl 
code I think we just need to modify the regular expression to collect a 
"$link_cmd_prefix" in addition to a "$link_cmd_suffix" if anything 
appears in the link command line from the first '-' character up to the 
object name.  We can then just pass those arguments as is into the 
generated script.  In  this example the link_cmd_prefix would be:

-Wl,-rpath,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -Wl,-rpath-link -Wl,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib

I would like to see that particular mpicc script before making any 
changes, though, to make sure that we don't accidentally break 
something, but as (bad) luck would have it Ranger is in maintenance 
today.  We'll have a look at it tomorrow.

thanks,
-Phil

On 11/26/2012 03:27 PM, Dragos Constantin wrote:
> Hi Kevin,
> The problem is not with the argument parsing. This is what I get in both cases:
>
> login4$ ./darshan-gen-cc.pl /opt/apps/gcc4_4/mvapich/1.0.1/bin/mpicc --output mpicc.darshan
> CC_from_link = gcc -Wl,-rpath,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -Wl,-rpath-link -Wl,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib
> CC_from_compile = gcc
> Error: cannot find matching CC from: gcc -c foo.c -I/opt/apps/gcc4_4/mvapich/1.0.1/include
> and: gcc -Wl,-rpath,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -Wl,-rpath-link -Wl,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib foo.o -o foo -lmpich -L/opt/ofed//lib64/ -libverbs -libumad -lpthread -lpthread -lrt
>
> login4$ ./darshan-gen-cc.pl --output mpicc.darshan /opt/apps/gcc4_4/mvapich/1.0.1/bin/mpicc
> CC_from_link = gcc -Wl,-rpath,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -Wl,-rpath-link -Wl,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib
> CC_from_compile = gcc
> Error: cannot find matching CC from: gcc -c foo.c -I/opt/apps/gcc4_4/mvapich/1.0.1/include
> and: gcc -Wl,-rpath,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -Wl,-rpath-link -Wl,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib foo.o -o foo -lmpich -L/opt/ofed//lib64/ -libverbs -libumad -lpthread -lpthread -lrt
>
> As you can see:
>
> CC_from_compile = gcc
>
> but CC_from_link is not gcc and if I am not mistaken it should be gcc. I just started to look at the script and you might know better what is going on here.
>
> Thanks,
> Dragos
>
>
> Dragos Constantin, PhD
>
> Research Associate
> Department of Radiology
> Stanford University
> Lucas MRS Center
> 1201 Welch Rd., PS-055
> Stanford CA 94305
>
> Office: (650) 736-9961
> Fax: (650) 723-5795
>
> ----- Original Message -----
> From: "Kevin Harms" <harms at alcf.anl.gov>
> To: "Dragos Constantin" <dragos.constantin at stanford.edu>
> Cc: darshan-users at lists.mcs.anl.gov
> Sent: Monday, November 26, 2012 12:23:00 PM
> Subject: Re: [Darshan-users] Instrumenting statically-linked applications
>
>
>    I think this might be a simple issue with argument parsing. Try this instead:
>
>> ./darshan-gen-cc.pl --output mpicc.darshan /opt/apps/gcc4_4/mvapich/1.0.1/bin/mpicc
> kevin
>
> On Nov 26, 2012, at 2:16 PM, Dragos Constantin wrote:
>
>> Hi,
>> I've installed and configured darshan-2.2.3 on TACC Ranger in my user space. I have used gcc-4.4.5 (and mvapich-1.0.1).
>>
>> When I try to generate the MPI compiler scripts for statically-linked applications I get the following error:
>>
>> login4$ ./darshan-gen-cc.pl /opt/apps/gcc4_4/mvapich/1.0.1/bin/mpicc --output mpicc.darshan
>> Error: cannot find matching CC from: gcc -c foo.c -I/opt/apps/gcc4_4/mvapich/1.0.1/include
>> and: gcc -Wl,-rpath,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -Wl,-rpath-link -Wl,/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib/shared -L/opt/apps/gcc4_4/mvapich/1.0.1/lib foo.o -o foo -lmpich -L/opt/ofed//lib64/ -libverbs -libumad -lpthread -lpthread -lrt
>>
>> I am not quite sure what triggered this. Any ideas how to quickly fix the issue? I will look at the perl script to see what is going on there.
>>
>> Thanks,
>> Dragos
>>
>>
>> Dragos Constantin, PhD
>>
>> Research Associate
>> Department of Radiology
>> Stanford University
>> Lucas MRS Center
>> 1201 Welch Rd., PS-055
>> Stanford CA 94305
>>
>> Office: (650) 736-9961
>> Fax: (650) 723-5795
>>
>> _______________________________________________
>> Darshan-users mailing list
>> Darshan-users at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/darshan-users
> _______________________________________________
> Darshan-users mailing list
> Darshan-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/darshan-users



More information about the Darshan-users mailing list