On Wednesday 19 January 2011 03:40:07 Jeff Johnson wrote:
> 260:lxde-icon-theme       
> > ########################################### [ 87%] rpm: header.c:1044:
> > headerLoad: Assertion `(rpmint32_t)rdl >= 0' failed.
> 
> This is the code from rpmdb/header.c:
> 
> ...
>                 rpmuint32_t * stei = memcpy(alloca(nb), dataStart + off,
> nb); rdl = (rpmuint32_t)-ntohl(stei[2]);     /* negative offset */
> assert((rpmint32_t)rdl >= 0);   /* XXX insurance */
>                 ril = (rpmuint32_t)(rdl/sizeof(*pe));
> ...
> 
> The assertion is a check on the Header format. The value is ALWAYS a
> negative 32bit integer, in fact this is just about the only usage case
> remaining for a signed integer anything in *.rpm format/content.
> 
> If you send along some more details, I'll sort the issue out. RPM hasn't
> been used on ARM recently or frequently enough to know anything for sure.

Hi,
it's time for me to fix this problem but I think I don't have the necessary 
knowledge of the data structures implied.
BTW i've added a printf to produce debug information like that (I can also 
print other information if needed):

...
                rpmuint32_t * stei = memcpy(alloca(nb), dataStart + off, nb);
                rdl = (rpmuint32_t)-ntohl(stei[2]);     /* negative offset */
printf("rdl=%d\n",rdl);
assert((rpmint32_t)rdl >= 0);   /* XXX insurance */
                ril = (rpmuint32_t)(rdl/sizeof(*pe));
...

This is the output:

 199:lrzsz                  ########################################### [ 82%]
rdl=80
rdl=992
 200:openmamba-devel        ########################################### [ 82%]
rdl=80
rdl=992
 201:mobile-broadband-provid########################################### [ 82%]
rdl=80
rdl=928
 202:lxde-icon-theme        ########################################### [ 83%]
rdl=112
rdl=800
rdl=-1869575168
rpm: header.c:1045: headerLoad: Assertion `(rpmint32_t)rdl >= 0' failed.
./functions.inc.sh: line 320: 15601 Abortito                
LANG=${LANGUAGE}_${COUNTRY}.UTF-8 $RPM --ignorearch -r $MOUNTDIR -hiv --
replacepkgs $rpmextraargs $2 $TOINSTALL_RPMS
makedist.sh: fatal error, aborting installation
makedist.sh: exit code was: 134

As you can notice the singular thing is that rdl is printed three times 
instead of two only when the failure occours. I can sent the whole 
installation log if needed.

As said, installing the package alone does not produce the error and this is 
the output:

$ sudo rpm -r /var/makedist/root.tmp -i 
/var/ftp/pub/openmamba/devel/RPMS.arm/lxde-icon-theme-0.0.1-3mamba.arm.rpm 
rdl=80
rdl=928
error: LOOP:
error: removing lxde-icon-theme-0.0.1-3mamba.arm "Requires: 
/usr/share/doc/lxde-icon-theme-0.0.1" from tsort relations.
rdl=80
rdl=928

Thanks for any kind of help...

Regards,
Silvan

-- 
mambaSoft di Calarco Silvan
Web: http://www.mambasoft.it
 
mambaSoft Store @ http://www.mambastore.it
openmamba GNU/Linux development @ http://www.openmamba.org
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to