Re: [Open64-devel] Compile errors occur while building open64-5.0
Brought to you by:
ributzka,
suneeljain
From: Jian-Xin L. <la...@gm...> - 2014-08-25 07:13:56
|
Have you tried to compile a small program with gcc -m32? Does it work? If yes, you may try the following commands: gcc -m32 -print-file-name=crti.o gcc -m32 -print-file-name=crtn.o gcc -m64 -print-file-name=crti.o gcc -m64 -print-file-name=crtn.o On my system, the outputs are: > gcc -m32 -print-file-name=crti.o /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o > gcc -m32 -print-file-name=crtn.o /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o > gcc -m64 -print-file-name=crti.o /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o > gcc -m64 -print-file-name=crtn.o /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o You may check these outputs and make sure the files exist and are used correctly. 2014-08-25 15:06 GMT+08:00 Nancy <nan...@gm...>: > The patch still not working for me. Still the same error. Though the > value of MULTILIB_OSDIRNAMES changes, but still no path in front of > crti.o, crtn.o :( > > > By the way, x32 is a different ABI (http://en.wikipedia.org/wiki/X32_ABI > ). > Thanks for this information :) > > On Mon, Aug 25, 2014 at 12:08 PM, David Coakley <dco...@gm...> > wrote: > > Here is a revised patch that I think will work for you: > > > > Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64 > > =================================================================== > > --- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115) > > +++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy) > > @@ -6,7 +6,7 @@ > > > > MULTILIB_OPTIONS = m64/m32 > > MULTILIB_DIRNAMES = 64 32 > > -MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF > > 32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d /usr/lib64 > ] ; > > then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu > > ../lib32" ; fi) > > +MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF > > 32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f > > /usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64 > ../lib32" > > ; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi) > > > > LIBGCC = stmp-multilib > > INSTALL_LIBGCC = install-multilib > > > > > > By the way, x32 is a different ABI (http://en.wikipedia.org/wiki/X32_ABI > ). > > > > -David > > > > > > On Sat, Aug 23, 2014 at 11:55 PM, Nancy <nan...@gm...> wrote: > >> > >> On Sun, Aug 24, 2014 at 1:28 PM, David Coakley <dco...@gm...> > wrote: > >> > > >> > Does /usr/lib32/crti.o exist on your system? If not, try installing > the > >> > 'gcc-multilib' package. > >> > >> No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o > >> /usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed already. > >> > >> > >> > Here are all the packages I installed on a desktop 64-bit Ubuntu 14.04 > >> > system: > >> > > >> > build-essential > >> > subversion > >> > flex > >> > bison > >> > g++ > >> > gfortran > >> > gcc-multilib > >> > gfortran-multilib > >> > >> I installed the missing gfortran & gfortran-multilib. > >> > >> Replace 'lib32' to 'libx32': > >> MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF > >> 32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f > >> /usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo > >> "../lib/x86_64-linux-gnu ../libx32" ; fi) > >> > >> or not replace it, still the same error. This software enviroment has no > >> problem building gcc 4.8.2 or LLVM with debug mode opened from > sourcecode. > >> > >> > >> -- > >> Best Regards, > >> Yu Rong Tan > > > > > > > > -- > Best Regards, > Yu Rong Tan > -- Regards, Lai Jian-Xin |