From: Phillip Farber (pfarber_at_umich.edu)
Date: Wed Apr 30 2003 - 22:10:20 BST
I'm having a compile problem with 3.38-beta1 on Linux Redhat 8. Does anyone know of a reasonable workaround? What I'm seeing follows: % uname -a Linux clamato.umdl.umich.edu 2.4.18-27.8.0smp #1 SMP Fri Mar 14 05:47:33 EST 2003 i686 i686 i386 GNU /Linux % gcc -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redha t-linux --with-system-zlib --enable-__cxa_atexit Thread model: posix gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7) I get the same compile error whether I run ./configure or ./configure --enable-dwarf or simply ./configure The error: <snip> cd ups && make ups /usr/local/src/ups-3.38-beta1/ups make[1]: Entering directory `/usr/local/src/ups-3.38-beta1/ups' gcc -Wmissing-prototypes -Wunused -c -pipe -O2 -DHAVE_CONFIG_H -I. -I/usr /X11R6/include -Idevelhdrs ./ao_elfcore.c ao_elfcore.c: In function `get_note_info': ao_elfcore.c:256: duplicate case value ao_elfcore.c:232: previously used here make[1]: *** [ao_elfcore.o] Error 1 make[1]: Leaving directory `/usr/local/src/ups-3.38-beta1/ups' make: *** [ups] Error 2 The 2 case labels causing the problem in question are; case NT_TASKSTRUCT: and case NT_PRXREG: After cpp they are both "4" which I believe means the #defines in my /usr/include/elf.h are in play: /* Legal values for note segment descriptor types for core files. */ #define NT_PRSTATUS 1 /* Contains copy of prstatus struct */ #define NT_FPREGSET 2 /* Contains copy of fpregset struct */ #define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */ --> #define NT_PRXREG 4 /* Contains copy of prxregset struct */ --> #define NT_TASKSTRUCT 4 /* Contains copy of task structure */ #define NT_PLATFORM 5 /* String from sysinfo(SI_PLATFORM) */ #define NT_AUXV 6 /* Contains copy of auxv array */ #define NT_GWINDOWS 7 /* Contains copy of gwindows struct */ #define NT_ASRS 8 /* Contains copy of asrset struct */ #define NT_PSTATUS 10 /* Contains copy of pstatus struct */ #define NT_PSINFO 13 /* Contains copy of psinfo struct */ #define NT_PRCRED 14 /* Contains copy of prcred struct */ #define NT_UTSNAME 15 /* Contains copy of utsname struct */ #define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */ #define NT_LWPSINFO 17 /* Contains copy of lwpinfo struct */ #define NT_PRFPXREG 20 /* Contains copy of fprxregset struct*/ I do also note that on my system /usr/include/linux/elf.h has just: #define NT_PRSTATUS 1 #define NT_PRFPREG 2 #define NT_PRPSINFO 3 #define NT_TASKSTRUCT 4 #define NT_PRFPXREG 20 Many Thanks, Phil. --- Phillip Farber, Programmer Tel: 734.615.2572 Email: pfarber_at_umich.edu Digital Library Production Service (http://www.umdl.umich.edu/) Hatcher Graduate Library, University of Michigan 308 Hatcher North, Ann Arbor, MI 48104-1205
This archive was generated by hypermail 2.1.4 : Mon May 05 2003 - 09:20:15 BST