LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   help: failed build of GCC 4.3 on SLES 10/gcc 4.1 ia64 (https://www.linuxquestions.org/questions/programming-9/help-failed-build-of-gcc-4-3-on-sles-10-gcc-4-1-ia64-635731/)

ron7000 04-16-2008 08:26 AM

help: failed build of GCC 4.3 on SLES 10/gcc 4.1 ia64
 
have an altix machine, it is itanium-2 64-bit running novel suse linux enterprise server 10 sp1.
current gcc version is 4.1

i downloaded gcc 4.3 and tried to build it, here's what i did and what happens:

./configure => I specify location of newly installed latest versions of GMP and MPFR, this seems to run fine
and create the Makefile.

make => I run make and after a couple hours or so it ends with an Error 2 status coming out of the
gfortran directory. I am rerunning it now to save all the output from make.

what's the secret to getting the build to work? All i really want is gcc and gfortran installed on the side in /usr/local.

Wakil 04-16-2008 08:35 AM

Quote:

Originally Posted by ron7000 (Post 3122993)
have an altix machine, it is itanium-2 64-bit running novel suse linux enterprise server 10 sp1.
current gcc version is 4.1

i downloaded gcc 4.3 and tried to build it, here's what i did and what happens:

./configure => I specify location of newly installed latest versions of GMP and MPFR, this seems to run fine
and create the Makefile.

make => I run make and after a couple hours or so it ends with an Error 2 status coming out of the
gfortran directory. I am rerunning it now to save all the output from make.

what's the secret to getting the build to work? All i really want is gcc and gfortran installed on the side in /usr/local.

yum -x install gcc

ron7000 04-16-2008 09:08 AM

from the make output,

this line executes ok:
/bin/sh ./libtool --tag=CC --mode=link /data/gcc/gcc-4.3.0/host-ia64-unknown-linux-gnu/gcc/xgcc -B/data/gcc/gcc-4.3.0/host-ia64-unknown-linux-gnu/gcc/ -B/usr/local/ia64-unknown-linux-gnu/bin/ -B/usr/local/ia64-unknown-linux-gnu/lib/ -isystem /usr/local/ia64-unknown-linux-gnu/include -isystem /usr/lo cal/ia64-unknown-linux-gnu/sys-include -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wextra -Wwrite-strings -O2 -g -g -O2 -o libgfortran.la -rpath /usr/local/lib -version-info `grep -v '^#' ../.././libgfortran/libtool-version` -lm -Wl,--version-script=../../. /libgfortran/gfortran.map backtrace.lo compile_options.lo environ.lo error.lo fpu.lo main.lo memory.lo pause.lo .................

then this line:
libtool: link: /data/gcc/gcc-4.3.0/host-ia64-unknown-linux-gnu/gcc/xgcc -B/data/gcc/gcc-4.3.0/host-ia64-unknown-linux-gnu/gcc/ -B/usr/local/ia64-unkno wn-linux-gnu/bin/ -B/usr/local/ia64-unknown-linux-gnu/lib/ -isystem /usr/local/ia64-unknown-linux-gnu/include -isystem /usr/local/ia64-unknown-linux-g nu/sys-include -shared .libs/backtrace.o .libs/compile_options.o .libs/environ.o .libs/error.o .libs/fpu.o .libs/main.o .libs/memory.o .libs/pause.o .libs/stop.o .libs/string.o .libs/select.o .libs/all_l1.o .libs/all_l2.o .libs/all_l4.o .libs/all_l8.o .libs/all_l16.o .libs/any_l1.o .libs/any_l2.o . libs/any_l4.o .libs/any_l8.o .libs/any_l16.o .libs/count_1_l.o .libs/count_2_l.o .libs/count_4_l.o .libs/count_8_l.o .libs/count_16_l.o .libs/maxloc0_ 4_i1.o .libs/maxloc0_8_i1.o .libs/maxloc0_16_i1.o .libs/maxloc0_4_i2.o .libs/maxloc0_8_i2.o .libs/maxloc0_16_i2.o .libs/maxloc0_4_i4.o .libs/maxloc0_8 _i4.o .libs/maxloc0_16_i4.o .libs/maxloc0_4_i8.o .libs/maxloc0_8_i8.o..............................

returns 30000 or so of these:
5400 /usr/include/bits/stdio.h:113: multiple definition of `feof_unlocked'
5401 .libs/backtrace.o:/usr/include/bits/stdio.h:113: first defined here
5402 .libs/compile_options.o: In function `ferror_unlocked':
5403 /usr/include/bits/stdio.h:120: multiple definition of `ferror_unlocked'
5404 .libs/backtrace.o:/usr/include/bits/stdio.h:120: first defined here
5405 .libs/compile_options.o: In function `__signbitf':
5406 /usr/include/bits/mathinline.h:38: multiple definition of `__signbitf'
5407 .libs/backtrace.o:/usr/include/bits/mathinline.h:38: first defined here
5408 .libs/compile_options.o: In function `__signbit':
5409 /usr/include/bits/mathinline.h:44: multiple definition of `__signbit'
5410 .libs/backtrace.o:/usr/include/bits/mathinline.h:44: first defined here
5411 .libs/compile_options.o: In function `__signbitl':
5412 /usr/include/bits/mathinline.h:50: multiple definition of `__signbitl'
5413 .libs/backtrace.o:/usr/include/bits/mathinline.h:50: first defined here
5414 .libs/compile_options.o: In function `gnu_dev_major':
5415 /usr/include/sys/sysmacros.h:43: multiple definition of `gnu_dev_major'
5416 .libs/backtrace.o:/usr/include/sys/sysmacros.h:43: first defined here

down to here:
.libs/in_unpack_generic.o: In function `getchar':
36627 /usr/include/bits/stdio.h:42: multiple definition of `getchar'
36628 .libs/backtrace.o:/usr/include/bits/stdio.h:42: first defined here
36629 .libs/in_unpack_generic.o: In function `vprintf':
36630 /usr/include/bits/stdio.h:36: multiple definition of `vprintf'
36631 .libs/backtrace.o:/usr/include/bits/stdio.h:36: first defined here
36632 collect2: ld returned 1 exit status
36633 make[3]: *** [libgfortran.la] Error 1
36634 make[3]: Leaving directory `/data/gcc/gcc-4.3.0/ia64-unknown-linux-gnu/libgfortran'
36635 make[2]: *** [all] Error 2
36636 make[2]: Leaving directory `/data/gcc/gcc-4.3.0/ia64-unknown-linux-gnu/libgfortran'
36637 make[1]: *** [all-target-libgfortran] Error 2
36638 make[1]: Leaving directory `/data/gcc/gcc-4.3.0'
36639 make: *** [all] Error 2


is this Error 1 and Error 2 bad? what is it and how do i fix it?

ron7000 04-16-2008 09:11 AM

how can I get YUM for IA-64 and will YUM provide gcc 4.3 built for IA-64?

phorgan1 05-27-2008 06:43 PM

I wish that someone knew that answer to this--I'm having the same problem on a Suse box x86_64. It's something about the inline variations of stdio.h. I saw a bug in gcc bugzilla closed because it wasn't their fault, but they didn't say what the problem or the fix was.:( Anyone got a clue?

Patrick

paulsm4 05-27-2008 08:44 PM

Once you've got a working compiler, you can configure and build any source package you wish.

But until then, you can't build anything.

You need to install a *binary* (pre-built) version of GCC before you can go any further.

"yum -x install gcc" is good advice. I can't think of any reason a 32-bit version wouldn't run on your 64-bit OS - try it.

For Novell/Suse, you would use the YaST GUI package manager (instead of the yum command line). I'd be surprised if GCC wasn't easily available right on your installation CD.

'Hope that helps .. PSM

PS:
The "errno 2" simply means "file doesn't exist".

PPS:
Most 64-bit OS's (all versions of Windows, and all versions of Linux I've seen) have parallel runtime support, so that you can run either 32-bit or 64-bit executables.

phorgan1 05-27-2008 11:24 PM

No, there's a compiler
 
If you read through the thread, you'll see output showing multiple definitions of functions when a library is trying to be linked--much code has been built already. Talking with the gcc folks, via bugtrac, they said the problem was building in the source tree rather than in an objdir. That turned out not to be true. Building in an objdir yeilded the same multiple definition problem even quicker when linking another library.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36349
If I get any resolution there I'll share the information here.

Patrick


All times are GMT -5. The time now is 04:29 AM.