compile error on Redhat 8 linux ups 3.38-beta1 with DWARF support

From: Phillip Farber (pfarber_at_umich.edu)
Date: Wed Apr 30 2003 - 22:10:20 BST

  • Next message: bassist_of_the_shadows_at_yahoo.com: "Targeted OPT Emailing azL^TF7ujB/8kGL"
    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