From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510
Description of problem:
install.log contains a list of packages that were installed or that
failed but the error messages are of little use for figuring out what
actually went wrong.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
I tried installing with LVM and something went wrong (everything
worked fine when I didn't use LVM). I have no idea what the problem is
but it the same thing happened each time I tried to use LVM so it
seems to be reproducible for me.
Actual Results: my install log looks like
Installing 1459 packages
error: %post(glibc-2.3.2-101) scriptlet failed, exit status 115
Expected Results: What would have been much more useful is something like
error: %post(glibc-2.3.2-101) scriptlet failed at scriptname:86
#file not found: /lib/something
exit status 115
rpm and/or anaconda should echo the output of the scripts and it
should be recorded in the log.
Without this I have no way of even filing a useful bug report for my
LVM install problem.
It's impossible for anaconda to record non-existent information -- why
the glibc scriptlet failed with that error is dependent on what
glibc_post_upgrade returns in various cases
115 means /usr/sbin/iconvconfig failed.
glibc_post_upgrade is not very verbose on purpose, it is statically
linked, but doesn't want to bloat too much, so avoids most of the
libc functions to keep the binary small.
Try running /usr/sbin/iconvconfig by hand to see why it failed.
*** Bug 125697 has been marked as a duplicate of this bug. ***
I think it would not be possible to run iconvconfig by hand because
it's part of glibc and glibc failed to install so the files got
deleted (I think). The system was completely unusable, no glibc, no
grub, no kernel. chroot /mnt/sysimage gave a segfault. (#125697 has
The point of my suggestion is that the failure output from iconvconfig
should have been captured in the log, rather than me having to try and
get it manually.
Would you be interested in a patch to make glibc_post_upgrade redirect
stdout and stderr to a temp file every time it runs a command and then
to output the contents of these files if the command fails? It looks
like a fairly simple change.
Created attachment 101622 [details]
factor out exec code from glibc_post_upgrade
This patch adds a function and a macro which allows the removal of lots of
repeated code for doing execv, waitpid etc. It removes 50 lines of code and 400
bytes on the executable.
Created attachment 101623 [details]
make glibc_post_upgrade more verbose
this patch follow the previous and adds some very basic printing functions so
that we can see what glibc_post_upgrade is doing and what went wrong. This adds
60 lines of code and 700 bytes to the exe but it should help tracking down
The current rawhide builds have a patch based on yours.