Out of curiousity, have you tried tools-link...@opensolaris.org? Since
these seem to be mostly linker issues, I believe the linker gurus hang
out there and might be able to provide more insight.

On Tue, Dec 22, 2009 at 9:54 PM, Jens Elkner <j...@cs.uni-magdeburg.de> wrote:
> 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, correct?
>
> Any suggestions to workaround this bug?
>
> Thanx,
> jel.
> --
> 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
> _______________________________________________
> opensolaris-code mailing list
> opensolaris-code@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
>
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to