Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 58209 - Fails to build because of missing uint32_t in readelf.h
Fails to build because of missing uint32_t in readelf.h
Product: Red Hat Raw Hide
Classification: Retired
Component: file (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Trond Eivind Glomsrxd
Aaron Brown
Depends On:
  Show dependency treegraph
Reported: 2002-01-10 20:12 EST by Enrico Scholz
Modified: 2007-04-18 12:38 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2002-01-14 15:07:36 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Enrico Scholz 2002-01-10 20:12:58 EST
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):

Comment 1 Trond Eivind Glomsrxd 2002-01-14 15:07:31 EST
Made a package, will build later.
Comment 2 Trond Eivind Glomsrxd 2002-01-16 12:49:30 EST
Fixed in file-3.37-4

Note You need to log in before you can comment on or make changes to this bug.