On May 28, 2009, at 3:09 PM, [email protected] wrote:
Look in /var/tmp (or however you have configgered %_tmpdir)
and you will likely see the script that was attempted.
You will see something like
/var/tmp/rpm-tmp.123456
That is the scriptlet that was attempted.
...
1)I don't see this tmp file... My tmp/var/tmp/ folder is completly
empty.
I try to find my tmpdir :
#rpm --showrc | grep tmpdir
-14: __dbi_other %{?_tmppath:tmpdir=%{_tmppath}} %{?__dbi_cdb}
-14: __dbi_sqlconfig_current perms=0644 %{?_tmppath:tmpdir=%
{_tmppath}}
-14: tmpdir %{_tmppath}
But I am not sure to understand. Where is it?
Run strace on rpm if necessary. RPM is expanding
the script into a file somewhere before executing, and
RPM does not remove failed (as in exit status = 255) scripts.
Look for open/execv lines in the strace spewage.
Note that %_tmpdir is the modern macro name for the "traditional"
configuration parameter "%_tmppath" which "traditionally"
has value "/var/tmp". I cannot tell where your configuration
has chosen to map the path where scriptlets are written.
You can tell how you have configured RPM however. Examine
rpm --showrc
and adjust any discrepancies, particularly paths, to taste.
2)A strange thing is when I try to install a second time the RPM
package :
rpm --nodeps -i 8Kingdoms-1.1.0-6.fc9.i386.rpm
warning: 8Kingdoms-1.1.0-6.fc9.i386.rpm: Header V3 DSA signature:
NOKEY, key ID
4ebfc273
error: failed to open /etc/mtab: No such file or directory
(aside)
BTW, you can likely make this annoying message go away by doing
touch /path/to/chroot/etc/mtab
The file in the path just needs to exist somehow, doesn't even matter
what is inside.
error: %post(8Kingdoms-1.1.0-6.fc9.i386) scriptlet failed, exit
status 255
bash-4.0# rpm --nodeps -i 8Kingdoms-1.1.0-6.fc9.i386.rpm
warning: 8Kingdoms-1.1.0-6.fc9.i386.rpm: Header V3 DSA signature:
NOKEY, key ID
4ebfc273
error: failed to open /etc/mtab: No such file or directory
error: ^(?:([^:-]+):)?([^:-]+)(?:-([^:-]+))?(?::([^:-]+))?$: regcomp
failed:
Invalid preceding regular expression
Segmentation fault
You've lost mandatory PCRE libraries somehow. We did this analysis
already ...
You can see now it absolutely wants I install libpcre (there is
regularg
expression error because it dosen't find libpcre which is not
installed for the
moment...). I tell --nodeps... But it wants to use libpcre.
Yes libpcre is mandatory. The easiest (imho) solution is configuring
the build using
--with-pcre=internal
Why ONLY the second time I try to install, I see the error about
regular
expression?
Dunno. You have lost mandatory -lpcre anytime you see the message:
error: ^(?:([^:-]+):)?([^:-]+)(?:-([^:-]+))?(?::([^:-]+))?$: regcomp
failed:
Invalid preceding regular expression
Segmentation fault
That can happen for numerous reasons, including not controlling where
libraries
are to be found.
73 de Jeff
______________________________________________________________________
RPM Package Manager http://rpm5.org
User Communication List [email protected]