Bug 58209

Summary: Fails to build because of missing uint32_t in readelf.h
Product: [Retired] Red Hat Raw Hide Reporter: Enrico Scholz <rh-bugzilla>
Component: fileAssignee: Trond Eivind Glomsrxd <teg>
Status: CLOSED RAWHIDE QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-01-14 20:07:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Enrico Scholz 2002-01-11 01:12:58 UTC
Description of Problem:

When trying to rebuild file-3.37-2.src.rpm I get

------
$ rpm --rebuild file-3.37-2.src.rpm
...
i386-redhat-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.   -DMAGIC='"/usr/share/magic"'
 -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -c `test -f readelf.c || echo './'`readelf.c
In file included from readelf.c:14:
readelf.h:12: parse error before `Elf32_Addr'
readelf.h:12: warning: data definition has no type or storage class
readelf.h:13: parse error before `Elf32_Off'
....
readelf.c:435: `elfhdr' undeclared (first use in this function)
readelf.c:466: parse error before `elfhdr'
make[1]: *** [readelf.o] Error 1
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.86192 (%build)
    Bad exit status from /var/tmp/rpm-tmp.86192 (%build)
make[1]: Leaving directory `/var/volatile/rpm/BUILD/file-3.37'
----------


This seems to be a configure-rebuild problem because the first %configure shows

| ...
| checking for uint16_t... no
| checking for uint32_t... no
| ....

Since AM_MAINTAINER_MODE is not used, the following 'make' rebuilds the
./configure with automake/autoconf and executes ./configure again. This time it
includes <stdint.h> somehow and shows:

| ....
| checking for uint8_t... yes
| checking for uint16_t... yes
| ....

A fast solution would be an '#include <stdint.h>' in readelf.h. Preventing auto*
from rebuilding the buildsystem at make-time, would be the suggested one...


Version-Release number of selected/related component (if applicable):

file-3.37-2.src.rpm
autoconf-2.52-5
automake-1.5-2.1
libtool-1.4.2-3
glibc-2.2.4-19

Comment 1 Trond Eivind Glomsrxd 2002-01-14 20:07:31 UTC
Made a package, will build later.

Comment 2 Trond Eivind Glomsrxd 2002-01-16 17:49:30 UTC
Fixed in file-3.37-4