[opensuse-packaging] Python 3.2 build problems
I'm busy fighting with the python3-base-3.2 build, which seems to be unpredictable atm, due to blender (against the protests of distro packagers) switching to that version. The 11.4 x86_64 build fails in devel:languages:python:Factory but all the others succeed, I've had varying build results by linking home:plater:blender python3-base to home:plater:blender python3 and devel:languages:python:Factory python3, when linked to devel:languages:python:Factory python3 it mimics the devel build but when linked to home:plater:blender python3 I've had complete build failures and all x86_64 failures with i586 successes with a fresh untouched branched python3 after only adding a fedora conditional for BuildRequires first. I understand that the build service servers aren't 100% in fact the connection was down again a few moments ago and up again now, I don't know if this has any effect that can cause such build behaviour? It also builds differently on my local x86_64 11.4 system using rpmbuild. As it stands now, I've added a few build requirements which seemed to be missing and have experienced an i586 failure due to -pg and -fomit-frame-pointer being incompatible and redefining $RPM_OPT_FLAGS omitting -fomit-frame-pointer (without diving into gcc) can this cause problems? It looks like I've a successful build atm but only after changing a few build options. Here is the diff with comments: %build # use rpm_opt_flags +# Redefine opt flags due to error: -pg and -fomit-frame-pointer are incompatible +export RPM_OPT_FLAGS="-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g" export OPT="$RPM_OPT_FLAGS" #export OPT="-O0 -g" @@ -201,10 +210,12 @@ --docdir=%{_docdir}/python \ --enable-ipv6 \ --with-fpectl \ - --enable-shared + --enable-shared \ + --with-cxx-main=%{_bindir}/c++ configure started asking for a c++ compiler LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ - make %{?_smp_mflags} profile-opt + make %{?_smp_mflags} This is the change that had the most effect on the build succeeding. +# profile-opt %check # test_file fails in autobuild env - "stdin.seek(-1)" wrongly succeeds. probably an issue with autobuild's stdin @@ -244,10 +255,10 @@ # cleanup parts that don't belong for so in _md5 _sha1 _sha256 _sha512; do - rm $RPM_BUILD_ROOT%{sitedir}/lib-dynload/$so.* + rm -f $RPM_BUILD_ROOT%{sitedir}/lib-dynload/$so.* _md5 and _sha1 don't exist, I haven't checked the others but when I see things missing that existed before I get worried. done for dir in curses dbm sqlite3 tkinter; do - rm -r $RPM_BUILD_ROOT%{sitedir}/$dir + rm -rf $RPM_BUILD_ROOT%{sitedir}/$dir done # install site-specific tweaks @@ -277,7 +288,7 @@ # move idle config into /etc install -d -m 755 ${RPM_BUILD_ROOT}/etc/idle3 -( +( cd ${RPM_BUILD_ROOT}/%{sitedir}/idlelib/ for file in *.def ; do mv $file ${RPM_BUILD_ROOT}/etc/idle3/ I use kwrite for spec files and it saves in UTF8 also removes trailing white spaces. I would appreciate expert help with this after which python3-3.2 could hopefully be ready for tumbleweed, blender is about to be 2.57 RC1 and will be released in about a month, the current blender in 11.4 is beta plus svn and would have been newer if the switch to python 3.2 hadn't happened. I think blender is the main consumer of python3 along with a couple of gnome apps. Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
hi, Dne 30.3.2011 17:48, Dave Plater napsal(a):
packagers) switching to that version. The 11.4 x86_64 build fails in devel:languages:python:Factory but all the others succeed, I've had
yeah, i've seen this for a couple days now. i assumed that it's a factory problem and will resolve itself, but i apparently never noticed that it is a problem of 11.4, not factory...
As it stands now, I've added a few build requirements which seemed to be missing
not missing, please don't add - python(3)-base was created because we wanted to have as little BuildRequires as possible. the missing bits get built in python(3) with full set of BuildRequires
and have experienced an i586 failure due to -pg and -fomit-frame-pointer being incompatible and redefining $RPM_OPT_FLAGS omitting -fomit-frame-pointer (without diving into gcc) can this cause problems?
haven't seen this yet...
+ --with-cxx-main=%{_bindir}/c++ configure started asking for a c++ compiler
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ - make %{?_smp_mflags} profile-opt + make %{?_smp_mflags} This is the change that had the most effect on the build succeeding. +# profile-opt
profile-opt makes some runtime profiling checks with the newly built executable and then rebuilds python based on what it measured. it seems to show some "internal errors", i'll try to get a backtrace from it
exist, I haven't checked the others but when I see things missing that existed before I get worried.
and that's exactly why there is no -f ;) FWIW, some of those are not built because you added the BuildRequires - because with dependencies, different modules are built that provide those listed. i'll try to reproduce the problems locally, see if something can be done, and report back regards m.
I would appreciate expert help with this after which python3-3.2 could hopefully be ready for tumbleweed, blender is about to be 2.57 RC1 and will be released in about a month, the current blender in 11.4 is beta plus svn and would have been newer if the switch to python 3.2 hadn't happened. I think blender is the main consumer of python3 along with a couple of gnome apps.
Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 03/30/2011 07:30 PM, Jan Matějek wrote:
hi,
Dne 30.3.2011 17:48, Dave Plater napsal(a):
packagers) switching to that version. The 11.4 x86_64 build fails in devel:languages:python:Factory but all the others succeed, I've had
yeah, i've seen this for a couple days now. i assumed that it's a factory problem and will resolve itself, but i apparently never noticed that it is a problem of 11.4, not factory...
As it stands now, I've added a few build requirements which seemed to be missing
not missing, please don't add - python(3)-base was created because we wanted to have as little BuildRequires as possible. the missing bits get built in python(3) with full set of BuildRequires
and have experienced an i586 failure due to -pg and -fomit-frame-pointer being incompatible and redefining $RPM_OPT_FLAGS omitting -fomit-frame-pointer (without diving into gcc) can this cause problems?
haven't seen this yet...
+ --with-cxx-main=%{_bindir}/c++ configure started asking for a c++ compiler
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ - make %{?_smp_mflags} profile-opt + make %{?_smp_mflags} This is the change that had the most effect on the build succeeding. +# profile-opt
profile-opt makes some runtime profiling checks with the newly built executable and then rebuilds python based on what it measured. it seems to show some "internal errors", i'll try to get a backtrace from it
exist, I haven't checked the others but when I see things missing that existed before I get worried.
and that's exactly why there is no -f ;) FWIW, some of those are not built because you added the BuildRequires - because with dependencies, different modules are built that provide those listed.
i'll try to reproduce the problems locally, see if something can be done, and report back
regards m.
I would appreciate expert help with this after which python3-3.2 could hopefully be ready for tumbleweed, blender is about to be 2.57 RC1 and will be released in about a month, the current blender in 11.4 is beta plus svn and would have been newer if the switch to python 3.2 hadn't happened. I think blender is the main consumer of python3 along with a couple of gnome apps.
Thanks Dave P
I have successful builds atm after removing the excess files from the extra build requires. Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 03/30/2011 07:30 PM, Jan Matějek wrote:
profile-opt makes some runtime profiling checks with the newly built executable and then rebuilds python based on what it measured. it seems to show some "internal errors", i'll try to get a backtrace from it
I can confirm that it's profile-opt, after adding it I get factory and 11.4 x86_64 failures. It has an unpredictable result somewhere judging by the different build failures and successes I've had. How do you set the --debug flag that's mentioned to display a traceback? PYBENCH 2.1 ------------------------------------------------------------------------------- * using CPython 3.2 (r32:88445, Mar 23 2011, 04:31:31) [GCC] * using timer: time.time Calibrating tests. Please wait... * Internal Error (use --debug to display the traceback) make[1]: *** [run_profile_task] Error 1 make[1]: Leaving directory `/usr/src/packages/BUILD/Python-3.2' make: *** [profile-opt] Error 2 Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Dne 31.3.2011 19:34, Dave Plater napsal(a):
On 03/30/2011 07:30 PM, Jan Matějek wrote:
profile-opt makes some runtime profiling checks with the newly built executable and then rebuilds python based on what it measured. it seems to show some "internal errors", i'll try to get a backtrace from it
I can confirm that it's profile-opt, after adding it I get factory and 11.4 x86_64 failures. It has an unpredictable result somewhere judging by the different build failures and successes I've had. How do you set the --debug flag that's mentioned to display a traceback?
you'd have to patch the makefile instead i tried this: LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ make %{?_smp_mflags} LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ ./python ./Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck --debug (IOW, build without the benchmark, then run it separately) but i haven't seen a failure ever since your original mail, with or without this modification, so at the moment i have nothing -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 03/31/2011 08:48 PM, Jan Matějek wrote:
Dne 31.3.2011 19:34, Dave Plater napsal(a):
On 03/30/2011 07:30 PM, Jan Matějek wrote:
profile-opt makes some runtime profiling checks with the newly built executable and then rebuilds python based on what it measured. it seems to show some "internal errors", i'll try to get a backtrace from it
I can confirm that it's profile-opt, after adding it I get factory and 11.4 x86_64 failures. It has an unpredictable result somewhere judging by the different build failures and successes I've had. How do you set the --debug flag that's mentioned to display a traceback?
you'd have to patch the makefile
instead i tried this:
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ make %{?_smp_mflags} LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH \ ./python ./Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck --debug
(IOW, build without the benchmark, then run it separately) but i haven't seen a failure ever since your original mail, with or without this modification, so at the moment i have nothing
I've patched in --debug and all the x86_64 builds fail : make[1]: Entering directory `/usr/src/packages/BUILD/Python-3.2' ./python ./Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck --debug ------------------------------------------------------------------------------- PYBENCH 2.1 ------------------------------------------------------------------------------- * using CPython 3.2 (r32:88445, Mar 23 2011, 04:31:31) [GCC] * using timer: time.time Calibrating tests. Please wait... Traceback (most recent call last): File "./Tools/pybench/pybench.py", line 954, in <module> PyBenchCmdline() File "/usr/src/packages/BUILD/Python-3.2/Tools/pybench/CommandLine.py", line 349, in __init__ rc = self.main() File "./Tools/pybench/pybench.py", line 920, in main bench.calibrate() File "./Tools/pybench/pybench.py", line 510, in calibrate test.calibrate_test() File "/usr/src/packages/BUILD/Python-3.2/Tools/pybench/pybench.py", line 303, in calibrate_test raise ValueError('calibration setup did not work') ValueError: calibration setup did not work make[1]: *** [run_profile_task] Error 1 make[1]: Leaving directory `/usr/src/packages/BUILD/Python-3.2' make: *** [profile-opt] Error 2 Any idea what's wrong? As an afterthought I'm going to try without %{?_smp_mflags}. Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (2)
-
Dave Plater
-
Jan Matějek