Hi,

still troubleshooting R compilation. Enabled almost all LD_DEBUG tokens
and now I get at least for the experts some more insights:
Wrote a simple prog, which just dlopen()s the lib in question ...

...
06801: BASE: 1: symbol=.XBNyCGOy8YMLkkW.zunmqr.t;  lookup in
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so  [ ELF ]
06801: BASE: 1:     in R_AMD64_GLOB_DATA                  0x4404c0
0x0  .XBNyCGOy8YMLkkW.zunmqr.t  
06801: BASE: 1:  apply                          0xfffffd7fd64704c0
0xfffffd7fd64f05e0
06801: BASE: 1: binding
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xfffffd7fd64704c0:0x4404c0) to
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xfffffd7fd64f05e0:0x4c05e0): symbol `.XBNyCGOy8YMLkkW.zunmqr.t'
(direct)
06801: BASE: 1: symbol=nint;  lookup in
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so  [ ELF ]
06801: BASE: 1:     in R_AMD64_PC32                       0x413726
0xfffffffffffffffc  nint  
06801: BASE: 1:  apply                          0xfffffd7fd6443726
0x842
06801: BASE: 1: binding
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xfffffd7fd6443726:0x413726) to
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0x842:0x413f6c): symbol `nint'  (direct)
06801: BASE: 1: symbol=__rem_pio2m;  lookup in
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so  [ ELF ]
06801: BASE: 1:     in R_AMD64_PC32                       0x414182
0xfffffffffffffffc  __rem_pio2m  
06801: BASE: 1:  apply                          0xfffffd7fd6444182
0xcd6
06801: BASE: 1: binding
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xfffffd7fd6444182:0x414182) to
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xcd6:0x414e5c): symbol `__rem_pio2m'  (direct)
06801: BASE: 1:     in R_AMD64_PC32                       0x414c33
0xfffffffffffffffc  __rem_pio2m  
06801: BASE: 1:  apply                          0xfffffd7fd6444c33
0x225
06801: BASE: 1: binding
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xfffffd7fd6444c33:0x414c33) to
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0x225:0x414e5c): symbol `__rem_pio2m'  (direct)
06801: BASE: 1: symbol=_TBL_ipio2_inf;  lookup in
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so  [ ELF ]
06801: BASE: 1:     in R_AMD64_PC32                       0x414175
0xfffffffffffffffc  _TBL_ipio2_inf  
06801: BASE: 1:  apply                          0xfffffd7fd6444175
0xa107
06801: BASE: 1: binding
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xfffffd7fd6444175:0x414175) to
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xa107:0x41e280): symbol `_TBL_ipio2_inf'  (direct)
06801: BASE: 1:     in R_AMD64_PC32                       0x414c26
0xfffffffffffffffc  _TBL_ipio2_inf  
06801: BASE: 1:  apply                          0xfffffd7fd6444c26
0x9656
06801: BASE: 1: binding
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0xfffffd7fd6444c26:0x414c26) to
file=/export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
(0x9656:0x41e280): symbol `_TBL_ipio2_inf'  (direct)
06801: BASE: 1:     in R_AMD64_32                         0x414442
0x0    
06801: BASE: 1: 
06801: BASE: 1: 
06801: BASE: 1: ld.so.1: a.out: fatal: relocation error: R_AMD64_32:
file /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so: symbol
(unknown): value 0xfffffd7fd6030000 does not fit

libRlapack.so is made like this:
cc -xO5 -xautopar -Bdirect -Wl,-z,defs -G -m64
-L/export/scratch/elkner/build/root4build/usr/lib/amd64
-L/usr/sfw/lib/amd64 -L /local/apps/sunstudio/prod/lib/amd64 -o
libRlapack.so dlamch.o dlapack0.o dlapack1.o dlapack2.o dlapack3.o
dlapack4.o  cmplx.o  -L../../../lib -lRblas -lfsu -lsunperf -lsunmath
-lmtsk -lm 

NINT appears in  cmplx.f, dlapack0.f and dlapack4.f, only.

They are compiled like this:
f95  -xO5 -xautopar -stackvar -Kpic  -g -fsimple=0 -m64 -xarch=sse3
-I/export/scratch/elkner/build/root4build/usr/include -I/usr/sfw/include
-pad=local -xknown_lib=blas -c dlapack0.f -o dlapack0.o

Also tried without optimization flags (-xO5 -xautopar -stackvar) without
success. So I guess, the studio compiler puts in bogus code/sunmath lib
is bogus, correct?

~ > lari /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so | grep nint
[2:2E]: __anint(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: __anint(): /local/apps/studio12/lib/amd64/libsunmath.so.1
[2:1E]: __anintf(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: __anintf(): /local/apps/studio12/lib/amd64/libsunmath.so.1
[2:1E]: __nint(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: __nint(): /local/apps/studio12/lib/amd64/libsunmath.so.1
[2:2ESD]: __nintf(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: __nintf(): /local/apps/studio12/lib/amd64/libsunmath.so.1
[2:1E]: anint(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: anint(): /local/apps/studio12/lib/amd64/libsunmath.so.1
[2:1E]: anintf(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: anintf(): /local/apps/studio12/lib/amd64/libsunmath.so.1
[2:2ESD]: nint(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: nint(): /local/apps/studio12/lib/amd64/libsunmath.so.1
[2:1E]: nintf(): /export/scratch/elkner/build/R-2.10.1/lib/libRlapack.so
[2:0]: nintf(): /local/apps/studio12/lib/amd64/libsunmath.so.1


Any suggestions to workaround this bug?

Thanx,
jel.
PS: Compilers are Studio 12u1, OS == Nevada snv_b126, machine == Ultra40
    But same problem appears on S10u8, X4500 with latest patches
-- 
Otto-von-Guericke University     http://www.cs.uni-magdeburg.de/
Department of Computer Science   Geb. 29 R 027, Universitaetsplatz 2
39106 Magdeburg, Germany         Tel: +49 391 67 12768

-- 
Otto-von-Guericke University     http://www.cs.uni-magdeburg.de/
Department of Computer Science   Geb. 29 R 027, Universitaetsplatz 2
39106 Magdeburg, Germany         Tel: +49 391 67 12768

Reply via email to