[Python-Dev] Problems building python2.4 SRPM on RHEL4 x64
Eric B.
ebenze at hotmail.com
Sat Mar 15 13:59:07 CET 2008
""Martin v. Lwis"" <martin at v.loewis.de> wrote in message
news:47DB9BA1.5010702 at v.loewis.de...
> Eric B. schrieb:
>> Hi,
>>
>> I appologize if this is not the right place to post this, but searching
>> through the old archives, I ran across the same issue from 3 years ago,
>> but
>> I cannot find the resolution to it.
>>
>> Currently, I am trying to build the python2.4 SRPM from Python.org on a
>> CentOS4.6_x64 platform, but the build is failing with a very non-descript
>> error message.
>>
>> ....
>> + cd /var/tmp/python2.4-2.4-root/usr/bin
>> + mv -f pydoc pydoc2.4
>> + cd /var/tmp/python2.4-2.4-root/usr/bin
>> + mv -f idle idle2.4
>> + echo '#!/bin/bash'
>> + echo 'exec /usr/bin/python2.4 /usr/lib64/python2.4/idlelib/idle.py'
>> + chmod 755 /var/tmp/python2.4-2.4-root/usr/bin/idle2.4
>> + cp -a Tools /var/tmp/python2.4-2.4-root/usr/lib64/python2.4
>> + rm -f mainpkg.files
>> + find /var/tmp/python2.4-2.4-root/usr/lib64/python2.4/lib-dynload -type
>> f
>> + sed 's|^/var/tmp/python2.4-2.4-root|/|'
>> + grep -v -e '_tkinter.so$'
>> error: Bad exit status from /var/tmp/rpm-tmp.55639 (%install)
>
> The last command executed imediately before the error output
> seems to be
>
> find
> "$RPM_BUILD_ROOT""%{__prefix}"/%{libdirname}/python%{libvers}/lib-dynload
> -type f |
> sed "s|^${RPM_BUILD_ROOT}|/|" |
> grep -v -e '_tkinter.so$' >mainpkg.files
>
> That is not the last command in the %install script (atleast not
> according to the spec file). So it is not at all clear why the
> shell should stop executing at that point, and spit out
> that error message.
>
> The only theory I can come up with is that the shell *crashed*.
> Can you get hold of the rpm-tmp file (e.g. by asking RPM not
> to delete it)? Then run it independently, perhaps under
> strace.
Forgive the "newbie-ness" to this question, but I'm not quite sure what you
mean by the rpm-tmp file; I'm assuming you mean the rpm-temp.45231 shell
script that is left in /var/tmp.
I tried running that myself from the cmd line using
# bash -x rpm-tmp.45231
and it runs properly to completion.
If I try running just:
# rpmbuild -bi --short-circuit /usr/src/redhat/SPECS/python-2.4.spec
it (not surprisingly) exists with the same error message.
If I try to run
# strace rpmbuild -bi --short-circuit /usr/src/redhat/SPECS/python-2.4.spec
I end up with a whole bunch of output I don't understand:
.....
+ find /var/tmp/python2.4-2.4-root/usr/lib64/python2.4/lib-dynload -type f
+ sed 's|^/var/tmp/python2.4-2.4-root|/|'
+ grep -v -e '_tkinter.so$'
[{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 14779
--- SIGCHLD (Child exited) @ 0 (0) ---
write(2, "error: ", 7error: ) = 7
write(2, "Bad exit status from /var/tmp/rp"..., 53Bad exit status from
/var/tmp/rpm-tmp.156 (%install)
) = 53
write(1, "\n\nRPM build errors:\n", 20
RPM build errors:
) = 20
write(2, " Bad exit status from /var/tm"..., 57 Bad exit status from
/var/tmp/rpm-tmp.156 (%install)
) = 57
open("/usr/lib/rpm/rpmrc", O_RDONLY) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=11452, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x2a983ac000
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 1000) = 1
read(3, "#/*! \\page config_rpmrc Default "..., 8192) = 8192
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 1000) = 1
read(3, "t: armv4l: armv3l\narch_compat: a"..., 8192) = 3260
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 1000) = 1
.....
> If it's indeed the case that the shell crashes, something
> is seriously wrong with your operating system.
I would be surprised if it was something wrong with the OS at is a brand
spanking new install. In fact, I installed it specifically in order to
build python2.4 on RHEL4 x64 so I can then install the rpm pkg on my
production x64 server (I only managed to find precompiled i386 binaries for
RHEL4). Is it possible I'm missing some libraries somewhere?
I don't know if there is any way I can complete the rpm build manually?
I've looked at the SPEC file, but don't see anything particularly special in
there, nor am I sure how I can modify this rpm-tmp script that it runs to
skip that line and see if it can continue without it. (Am not very well
versed with building srpms).
Any ideas what I can do/try next?
Thanks,
Eric
More information about the Python-Dev
mailing list