[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: rpmbuild stops with debugedit error on F8



Roland McGrath wrote:
Ok, it's simply as it says.  /rpmbuild/build is 15 chars and /usr/src/debug
is 14 chars.  That's just a bad choice for the directory name.  In koji
builds go under /builddir/build/BUILD (21 chars), so there is no problem.
The default for vanilla rpmbuild is /usr/src/redhat/BUILD (21 chars).

It's a technical limitation of the debugedit program that, like the error
message says, the length of the top build directory name has to be 14 chars
(to match /usr/src/debug), or more than 15 chars.  It does a very limited
kind of rewriting of the very complex DWARF formats, so there has to be
enough room in the existing string table for the new directory name.
Making it able to cope in the general case opens huge cans of worms, and is
absolutely not going to happen any time soon (or ever in that program as it
exists today).

Suffice it to say it is far, far more work than is justified to avoid the
arcane but trivial caveat that the base directory name used for builds must
be at least 16 chars long.

Thank you very much Roland, I really appreciate the explanation! I would have been really stuck without it.

The only thing I might take issue with is your belief the error message is patently obvious. There is no reference to the top build directory or the requirements for it's length. Just something cryptic about 1 character differentials in arguments passed to what is essentially a private rpm utility unlikely to ever be invoked directly.

May I suggest the error message be replaced with something which would direct a developer to the root cause of the problem, especially since this is a somewhat arcane limitation.

This is what rpmbuild spits out:

extracting debug info from /var/tmp/freeradius-1.1.7-3.2.ipa.fc8-root-jdennis/usr/lib/rlm_passwd-1.1.7.so /usr/lib/rpm/debugedit: -b arg has to be either the same length as -d arg, or more than 1 char shorter
error: Bad exit status from /var/tmp/rpm-tmp.74023 (%install)

I truly would never have matched the fact a build directory of "/rpmbuild/build" was the offending culprit, the string does not even appear in the error message.

Maybe rpmbuild should stop immediately with an error if you invoke it with a topdir which is unacceptable to it's internal operation.

Filed as bug: https://bugzilla.redhat.com/show_bug.cgi?id=366781

--
John Dennis <jdennis redhat com>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]