On 2/8/2012 3:25 AM, TERRY DONTJE wrote:
+ Building w/ Solaris Studio 12.2 or 12.3 on Linux x86-64, with "-m32" required setting LD_LIBRARY_PATH.
Can the LD_LIBRARY_PATH be substituted with a rpath change in LDFLAGS of the build?

Terry sent more specific instructions for that offlist, and I am testing now.

This is could either be Oracle's bug in the compiler, or a libtool problem. My report was: http://www.open-mpi.org/community/lists/devel/2012/01/10272.php

I thought I responded to the above issue.

You did respond, but I didn't see any "resolution". I apologize if I missed something in the past emails.

I think this may be a OS distribution (Solaris Studio assumption) issue. On my RH system /lib contains the 32 libraries and /lib64 has the 64 bit libs. I assume your system may have it the other way around (/lib = 64 bit libs and /lib32 has 32 bit). Can you confirm that your /lib contains 64 bit libs. Also can you do a "cc -### -m32" compile and link of a simple program and confirm that the compiler is pulling in /lib (I am 99% certain it is).

YES to "/lib = 64 bit libs and /lib32 has 32 bit". There is also a /lib64->/lib symlink.

Here is the requested verbose output:
$ cc -### -m32 hello.c
### cc: Note: NLSPATH = /opt/SS12u3/solarisstudio12.3/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/SS12u3/solarisstudio12.3/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
###     command line files and options (expanded):
### -# -m32 hello.c
/opt/SS12u3/solarisstudio12.3/prod/bin/acomp -Qy -Xa -xc99=%all -i hello.c -D__SUNPRO_C=0x5120 -D__unix -D__unix__ -Dlinux -D__linux -D__linux__ -D__gnu__linux__ "-D__builtin_expect(e,x)=e" -D__i386 -D__i386__ -D__BUILTIN_VA_ARG_INCR -D__C99FEATURES__ -D__PRAGMA_REDEFINE_EXTNAME -Dunix -Di386 -D__RESTRICT -D__FLT_EVAL_METHOD__=-1 -D__SUN_PREFETCH -D__NOVECTORSIZE__ -I-xbuiltin -I/opt/SS12u3/solarisstudio12.3/prod/lib/compilers/rtlibs/usr/include -I/opt/SS12u3/solarisstudio12.3/prod/include/cc -xbuiltin=%none -fsimple=0 -m32 -fparam_ir -xF=%none -xdbggen=no%stabs+dwarf2+usedonly -xdbggen=incl -xldscope=global -xivdep=loop -c99OS "-g/opt/SS12u3/solarisstudio12.3/prod/bin/cc -m32 " -destination_ir=yabe -y-fbe -y/opt/SS12u3/solarisstudio12.3/prod/bin/fbe -y-verbose -y-comdat -y-xarch=generic -y-comdat -y-xthreadvar=no%dynamic -y-xannotate=no -y-o -yhello.o -y-s
### cc: Note: LD_LIBRARY_PATH = (null)
### cc: Note: LD_RUN_PATH     = (null)
### cc: Note: LD_OPTIONS      = (null)
/usr/bin/ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 --enable-new-dtags /opt/SS12u3/solarisstudio12.3/prod/lib/crti.o /opt/SS12u3/solarisstudio12.3/prod/lib/crt1.o /opt/SS12u3/solarisstudio12.3/prod/lib/values-xa.o hello.o -o a.out -Y "/opt/SS12u3/solarisstudio12.3/prod/lib:/lib32:/usr/lib32" -Qy -lc /opt/SS12u3/solarisstudio12.3/prod/lib/libc_supp.a /opt/SS12u3/solarisstudio12.3/prod/lib/crtn.o
rm hello.o

HOWEVER, in the failing build there was the following bit of output showing that the system linker is NOT being used: CC: Warning: failed to detect system linker version, falling back to custom linker usage


Also, is this /lib is 64 bit libraries a common thing, none of my Linux systems are set up this way.
This appears to be the default on Ubuntu (checked 3 hosts with 2 different releases).

-Paul


--
Paul H. Hargrove                          phhargr...@lbl.gov
Future Technologies Group
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to