Author Jason.Vas.Dias
Recipients Jason.Vas.Dias
Date 2011-04-29.12:01:15
SpamBayes Score 8.9373e-15
Marked as misclassified No
Message-id <1304078478.26.0.309792364849.issue11954@psf.upfronthosting.co.za>
In-reply-to
Content
I do :
$  hg clone http://hg.python.org/cpython
( my existing Python-2.7, following upgrade to glibc-2.13, started
  producing erroneous results - see gnome.org glib bug :
    https://bugzilla.gnome.org/show_bug.cgi?id=648863
  So I tried downloading and building Python-2.7.1 , whose build
  tests fail ( Issue #11946 ) , and was recommended to try building
  latest python from HG . So I try that :
)
$ mkdir /mnt/sda3/Python-2.7 ; cd /mnt/sda3/Python-2.7
$ cat configure.sh
$ cat configure.sh
/usr/src/cpython/configure \
 --prefix=/usr --libdir=/usr/lib64 --enable-shared --with-pic \
 --with-system-ffi \
 --with-system-expat \
 --with-signal-module \
 --with-dbmliborder=bdb:gdbm \
 --with-threads \
 --without-pymalloc \
 --host=x86_64-pc-linux-gnu \
 --build=x86_64-pc-linux-gnu \
 --target=x86_64-pc-linux-gnu \
 --with-libs='-ldb-4.5 -lgdbm' \
 CPPFLAGS='-I/usr/include/db4 -I/usr/include/gdbm' \
 CC="${CC}" \
 CFLAGS="${CFLAGS}" \
 CXX="${CXX}" \
 CXXFLAGS="${CXXFLAGS}"
$ export -p | egrep 'CC|CXX|FLAG|LD|PATH|ARCH|ABI'
declare -x ABI="64"
declare -x ARCH="x86_64"
declare -x CC="/usr/bin/gcc"
declare -x CFLAGS="-march=x86-64 -mtune=k8 -O2 -g -fPIC -DPIC -pipe"
declare -x CXX="/usr/bin/g++"
declare -x CXXFLAGS="-march=x86-64 -mtune=k8 -O2 -g -fPIC -DPIC -pipe"
declare -x LD="/usr/bin/ld"
declare -x OLDPWD="/usr/src/cpython"
declare -x PATH=".:/bin:/usr/bin:/sbin:/usr/sbin"
$ bash -xf ./configure.sh 
...
$ echo $?
0
$ make -j2 2>&1 | tee make.log
$ echo $?
0
$ make test 2>&1 | tee make.test.log
...
[ 16/354] test_argparse
test test_argparse failed -- multiple errors occurred; run in verbose mode for details
...
[146/354] test_httpservers
/usr/src/cpython/Lib/unittest/case.py:799: BytesWarning: str() on a bytes instance
  (i, item1, item2))
test test_httpservers failed -- multiple errors occurred; run in verbose mode for details
[147/354] test_imaplib
[148/354] test_imp
[149/354] test_import
test test_import failed -- Traceback (most recent call last):
  File "/usr/src/cpython/Lib/test/test_import.py", line 545, in test_unwritable_directory
    '__pycache__', '{}.{}.pyc'.format(TESTFN, self.tag))))
AssertionError: True is not false

[150/354] test_importhooks
[151/354] test_importlib
[152/354] test_index
..[200/354] test_os
test test_os failed -- Traceback (most recent call last):
  File "/usr/src/cpython/Lib/test/test_os.py", line 675, in test_exist_ok_existing_directory
    os.makedirs(path, mode=mode, exist_ok=True)
  File "/usr/src/cpython/Lib/os.py", line 152, in makedirs
    mkdir(name, mode)
OSError: [Errno 17] File exists: '@test_28453_tmp/dir1'

...
[237/354] test_pyexpat
Fatal Python error: Segmentation fault

Traceback (most recent call first):
  File "/usr/src/cpython/Lib/test/test_pyexpat.py", line 591 in test1
  File "/usr/src/cpython/Lib/unittest/case.py", line 391 in _executeTestPart
  File "/usr/src/cpython/Lib/unittest/case.py", line 446 in run
  File "/usr/src/cpython/Lib/unittest/case.py", line 498 in __call__
  File "/usr/src/cpython/Lib/unittest/suite.py", line 105 in run
  File "/usr/src/cpython/Lib/unittest/suite.py", line 67 in __call__
  File "/usr/src/cpython/Lib/unittest/suite.py", line 105 in run
  File "/usr/src/cpython/Lib/unittest/suite.py", line 67 in __call__
  File "/usr/src/cpython/Lib/test/support.py", line 1094 in run
  File "/usr/src/cpython/Lib/test/support.py", line 1182 in _run_suite
  File "/usr/src/cpython/Lib/test/support.py", line 1208 in run_unittest
  File "/usr/src/cpython/Lib/test/test_pyexpat.py", line 676 in test_main
  File "/usr/src/cpython/Lib/test/regrtest.py", line 1044 in runtest_inner
  File "/usr/src/cpython/Lib/test/regrtest.py", line 838 in runtest
  File "/usr/src/cpython/Lib/test/regrtest.py", line 662 in main
  File "/usr/src/cpython/Lib/test/regrtest.py", line 1622 in <module>
make: *** [test] Segmentation fault
...

Any suggestions for a python source HG commit or tarball that will
pass its 'make test' on a Linux x86_64 platform ?

Am I doing something wrong here ?

I don't like having to pass '-I/usr/include/db4' '-ldb-4.5', but when
one has both libdb-5.1 installed with 'libdb.so' linking to it, and
/usr/include/db being from libdb-5.1, what else to do ?

Come to think of it, why must python force me to enable any DB* modules
at all ? And why must the whole python executable require linking with
berkeley DB when only the bsddb DL module need do so ?
History
Date User Action Args
2011-04-29 12:01:18Jason.Vas.Diassetrecipients: + Jason.Vas.Dias
2011-04-29 12:01:18Jason.Vas.Diassetmessageid: <1304078478.26.0.309792364849.issue11954@psf.upfronthosting.co.za>
2011-04-29 12:01:16Jason.Vas.Diaslinkissue11954 messages
2011-04-29 12:01:15Jason.Vas.Diascreate