[Crash-utility] Fix buildrequires in RPM spec file to build sial extention.

Dave Anderson anderson at redhat.com
Wed Nov 9 15:16:06 UTC 2011



----- Original Message -----
> Gday,
> 
> I noticed that the documentation on the extention page (
> http://people.redhat.com/anderson/extensions.html ) mentions that
> the sial scripts should be built by default when crash is built.  In
> the current release (version 6.0.0) the sial scripts are not being
> built due to a missing BuildRequires dependencies in the spec file,
> in my case specifically flex and bison.
> 
> Attached is a modification to the crash.spec file to include the
> correct BuildRequires.

Wade,

Right, as Adrien mentioned, this is by design.  There are these
entries in the changelog that somewhat document the history:

4.0.9    - Fix for the build of the sial.so extension module if /usr/bin/bison
           and /usr/bin/flex do not exist on the host build system.  When those
           files do not exist, the build of sial.so generates a huge number of
           error messages, ending with "make[3]: [sial.so] Error 1 (ignored)".
           Since it is preferable to avoid extra BuildRequires entries in the
           crash.spec file for extension modules, and given that it is often
           built from a tar.gz installation, the failed build will indicate:
           "sial.so: build failed: requires /usr/bin/flex and /usr/bin/bison".
           (anderson at redhat.com)

5.0.5    - Fix for the %install stanza in the crash.spec file to check for the
           existence of the sial.so extension module.  Without the patch, when
           building the src.rpm with rpmbuild on a system without the bison and
           flex packages, the installation phase fails with the error messages
           "cp: cannot stat `extensions/sial.so': No such file or directory" and
           "error: Bad exit status from /var/tmp/rpm-tmp.ubJZfY (%install)".
           (anderson at redhat.com)

5.1.4    - Unlike other extension modules, the "sial.so" module must be built
           within a pre-built crash source tree because it uses header files
           from the embedded gdb module.  Therefore if a crash source tree is
           laid down, entered, and "make extensions" is entered without first
           building the crash utility, the build of sial.so build spews numerous
           error messages.  To avoid that, the sial.mk file has been modified to
           check whether the embedded gdb build has been completed, and if it
           has not, just displays "sial.so: build failed: requires the crash
           gdb-7.0 module".
           (anderson at redhat.com)

Thanks,
  Dave





More information about the Crash-utility mailing list