|
From: Nicholas N. <nj...@cs...> - 2005-08-25 13:29:58
|
On Thu, 25 Aug 2005, Ashley Pittman wrote: > $ echo $LD_LIBRARY_PATH > /opt/intel/compiler81/lib > $ ldd `which mping` > libmpi.so.1.0 => /usr/lib/mpi/default/lib/libmpi.so.1.0 > (0x40025000) > libmpio.so.1.0 => /usr/lib/mpi/default/lib/libmpio.so.1.0 > (0x40083000) > libelan.so.1 => /usr/lib/libelan.so.1 (0x400af000) > libm.so.6 => /lib/i686/libm.so.6 (0x40102000) > libc.so.6 => /lib/i686/libc.so.6 (0x42000000) > libimf.so => /opt/intel/compiler81/lib/libimf.so (0x40124000) > librmscall.so.1 => /usr/lib/librmscall.so.1 (0x402ca000) > libelanctrl.so.2 => /usr/lib/libelanctrl.so.2 (0x402cf000) > libelan4.so.1 => /usr/lib/libelan4.so.1 (0x402d6000) > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) > [...] > $ mkdir tmp/v_test > $ cp /usr/lib/qsnet/elan4/lib/libelan.* tmp/v_test > $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ashley/tmp/v_test > $ prun -N2 ~duncant/valgrind_install/bin/valgrind mping > [snip] > /usr/lib/libelan.so.1 is a symbolic link which eventually points > to /usr/lib/qsnet/elan4/lib/libelan.so.1, setting my LD_LIBRARY_PATH > to /usr/lib/qsnet/elan4/lib/ directly I get the first style of output. So if you put /usr/lib/qsnet/elan4/lib/ in your LD_LIBRARY_PATH, you don't get the line number, but if you copy the contents of /usr/lib/qsnet/elan4/lib/ into tmp/v_test/ and put tmp/v_test/ in LD_LIBRARY_PATH you do get the line number? That sounds strange. Are you sure the .so files being picked up are exactly the same in both cases? You can try the --trace-redir=yes option... it spits out lots of debugging output, look for the "Just loaded" lines which tell you which .so files have been loaded. So you can check if you are loading the same files in both cases. If that doesn't clarify, you could try --trace-symtab=yes which does a similar thing but also emits all the symbols read. You could again look for differences between the two. Also if you can reduce this to a small test case that would be very helpful. Nick |