From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020911 Description of problem: The source rebuild of rpm fails if libelf-devel is not present. Specifically, build fails trying to find files libelf/libelf.h and libelf/gelf.h. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. rpm -e libelf-devel 2. rpmbuild --rebuild rpm-4.2-0.4.src.rpm Actual Results: creating rpmcache source='striptofile.c' object='striptofile.o' libtool=no \ depfile='.deps/striptofile.Po' tmpdepfile='.deps/striptofile.TPo' \ depmode=gcc3 /bin/sh ../depcomp \ gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../build -I../lib -I../rpmdb -I../rp mio -I../popt -I../elfutils/libelf -I../elfutils/libdwarf -I../zlib -I../zlib -I ../misc -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_REENTRANT -Wall -c `test -f 'striptofile.c' || echo './'`striptofile.c striptofile.c:4:27: libelf/libelf.h: No such file or directory striptofile.c:5:25: libelf/gelf.h: No such file or directory In file included from striptofile.c:8: sections.h:4:25: libelf/gelf.h: No such file or directory Expected Results: rpmbuild completes successfully. Additional info:
libelf-devel is not a build prereq because rpm has an internal copy of elfutils in rpm-4.2 that will be used. No, libelf-devel is not adequate. The rationale for this apparent bloat is that the gelf API used by rpm (to preserve MD5 checks for prelinked DSO's, and to generate dependencies) is not (yet) widely available, prereq's will be added if/when that time comes.