python / cpython

The Python programming language
https://www.python.org
Other
63.09k stars 30.21k forks source link

Building Python 2.4.3 on Solaris 9/10 with Sun Studio 11 #43428

Closed e74d896a-0277-4994-80f1-990761f6c832 closed 18 years ago

e74d896a-0277-4994-80f1-990761f6c832 commented 18 years ago
BPO 1496561

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields: ```python assignee = None closed_at = created_at = labels = ['extension-modules'] title = 'Building Python 2.4.3 on Solaris 9/10 with Sun Studio 11' updated_at = user = 'https://bugs.python.org/andyfloe' ``` bugs.python.org fields: ```python activity = actor = 'andyfloe' assignee = 'none' closed = True closed_date = None closer = None components = ['Extension Modules'] creation = creator = 'andyfloe' dependencies = [] files = [] hgrepos = [] issue_num = 1496561 keywords = [] message_count = 2.0 messages = ['28677', '28678'] nosy_count = 1.0 nosy_names = ['andyfloe'] pr_nums = [] priority = 'normal' resolution = None stage = None status = 'closed' superseder = None type = None url = 'https://bugs.python.org/issue1496561' versions = ['Python 2.4'] ```

e74d896a-0277-4994-80f1-990761f6c832 commented 18 years ago

If Python 2.4.3 is build on Solaris 9 or 10 with Sun Studio 11 [cc: Sun C 5.8 2005/10/13], some of the tests of roundup fail with a core dump of Python. If build with gcc [gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)] all runs as expected.

I have compiled Python and bsd 4.3 on Solaris with Sun Studio as follows:

-- rebuild Berkeley DB version 4.3.29

URL='http://www.sleepycat.com'
BUILDDIR=/builddir
SRCDIR=/mnt/a
VERSION=4.3.29
PKG=db
STAR="${PKG}"-"${VERSION}".tar.gz

cd "$BUILDDIR" gunzip -d -c "${SRCDIR}"/"${STAR}" | tar xvf -

cd "${PKG}-${VERSION}"

PREFIX=/opt/db4 CC=cc; export CC CXX=CC; export CXX PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin; export PATH unset LD_LIBRARY_PATH TIMESTAMP=date +%Y%m%d%H%M%S

cd buildunix ../dist/configure --prefix="${PREFIX}" \ --enable-compat185 --disable-dump185 \ --enable-shared --enable-static --enable-cxx 2>&1 | \ tee /var/tmp/"${PKG}-${VERSION}"_configure${TIMESTAMP} make 2>&1 | tee /var/tmp/"${PKG}-${VERSION}"_make_${TIMESTAMP}

- install

## done as user 'root'

- source the above environment variables

cd "$BUILDDIR"/"${PKG}"-"${VERSION}"/build_unix make install 2>&1 | \ tee /var/tmp/"${PKG}-${VERSION}"_makeinstalldate '+%Y%m%d%H%M%S' cd ..

LIBS=' /opt/db4/lib/libdb-4.3.so /opt/db4/lib/libdb-4.3.la /opt/db4/lib/libdb_cxx-4.3.so /opt/db4/lib/libdb_cxx-4.3.la /opt/db4/lib/libdb-4.3.a /opt/db4/lib/libdb.a /opt/db4/lib/libdb_cxx-4.3.a /opt/db4/lib/libdb_cxx.a /opt/db4/lib/libdb_cxx.so ' ls -l $LIBS chown root:root $LIBS chmod 755 $LIBS cd /usr/include ## the setup.py script in the Python source only looks for specific ## locations for the header file for the bsddb ln -s /opt/db4/include /usr/include/db4 # chmod 755 /usr/lib/libdb*.so

- installing Python 2.4.3

BUILDDIR=/builddir SRCDIR=/mnt/a VERSION=2.4.3 STAR=Python-2.4.3.tar.bz2 PKG=echo $STAR | sed -e 's@\.tar\.gz@@' -e 's@\.tgz@@' -e 's@\.tar\.bz2@@'

CC=cc; export CC
CXX=CC; export CXX

PATH=/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin/:/opt/db4/bin:/sbin/bin; export PATH LDFLAGS='-R/opt/db4/lib -L/opt/db4/lib'; export LDFLAGS CPPFLAGS='-I/opt/db4/include'; export CPPFLAGS

cd $BUILDDIR bunzip2 -c $SRCDIR/$STAR | /usr/sfw/bin/gtar -xvf -

cd "$PKG"

patch -p0 \< /mnt/a/python_curses_1471938.patch

./configure --prefix=/usr --without-gcc \ | tee /var/tmp/"${PKG}"-"$VERSION"configuredate '+%Y%m%d%H%M%S'

make | tee /var/tmp/"${PKG}"-"$VERSION"makedate '+%Y%m%d%H%M%S' make test | tee /var/tmp/"${PKG}"-"$VERSION"_maketestdate '+%Y%m%d%H%M%S'

done as user 'root'

cd $BUILDDIR/"$PKG" make install | tee /var/tmp/"${PKG}"-"$VERSION"_makeinstalldate '+%Y%m%d%H%M%S'

All Python 2.4.3 test run OK, see 256 tests OK. CAUTION: stdout isn't compared in verbose mode: a test that passes in verbose mode may fail without it. 1 test failed: test_nis 34 tests skipped: test_aepack test_al test_applesingle test_bsddb185 test_bsddb3 test_cd test_cl test_codecmaps_cn test_codecmaps_hk test_codecmaps_jp test_codecmaps_kr test_codecmaps_tw test_curses test_gdbm test_gl test_imgfile test_linuxaudiodev test_locale test_macfs test_macostools test_normalization test_ossaudiodev test_pep277 test_plistlib test_scriptpackages test_socket_ssl test_socketserver test_tcl test_timeout test_unicode_file test_urllib2net test_urllibnet test_winreg test_winsound 2 skips unexpected on sunos5: test_tcl test_locale

If running the tests of the software package roundup 1.1.2 if reveive a core dump from the Python interpreter.

-bash-3.00$ python ./run_tests.py Running unit tests at level 1 Running unit tests from /export/home/builddir/roundup-1.1.2/. Including anydbm tests Skipping metakit tests Skipping mysql tests Skipping postgresql tests Including sqlite tests Skipping tsearch2 tests testDontRetireAdminOrAnonymous (test.test_actions.RetireActionTestCase) ... ok testNoPermission (test.test_actions.RetireActionTestCase) ... ok testRetireAction (test.test_actions.RetireActionTestCase) ... ok testNoPermission (test.test_actions.StandardSearchActionTestCase) ... ok testQueryName (test.test_actions.StandardSearchActionTestCase) ... ok testEmptyKey (test.test_actions.FakeFilterVarsTestCase) ... ok testEmptyMultilink (test.test_actions.FakeFilterVarsTestCase) ... ok testNonEmptyMultilink (test.test_actions.FakeFilterVarsTestCase) ... ok testStandardKey (test.test_actions.FakeFilterVarsTestCase) ... ok testStringKey (test.test_actions.FakeFilterVarsTestCase) ... ok testTokenizedStringKey (test.test_actions.FakeFilterVarsTestCase) ... ok testShowAction (test.test_actions.ShowActionTestCase) ... ok testShowActionNoType (test.test_actions.ShowActionTestCase) ... ok testCollision (test.test_actions.CollisionDetectionTestCase) ... ok testLastNodeActivity (test.test_actions.CollisionDetectionTestCase) ... ok testLastUserActivity (test.test_actions.CollisionDetectionTestCase) ... ok testCorrectLogin (test.test_actions.LoginTestCase) ... ok testInvalidPassword (test.test_actions.LoginTestCase) ... ok testInvalidUsername (test.test_actions.LoginTestCase) ... ok testNoUsername (test.test_actions.LoginTestCase) ... ok testNoWebAccess (test.test_actions.LoginTestCase) ... ok testActorProperty (test.test_anydbm.anydbmDBTest) ... Segmentation Fault (core dumped)

The Solaris 10 installation has been updated recently with smpatch.

Richard Jones suggested, that this could be a Python build problem. Below you find the anydbm information.

-bash-3.00$ uname -a
SunOS sunny 5.10 Generic_118855-02 i86pc i386 i86pc
-bash-3.00$ python
Python 2.4.3 (#1, May 21 2006, 02:39:16) [C] on sunos5
Type "help", "copyright", "credits" or "license" for
more information.
>>> import anydbm
>>> anydbm._defaultmod
<module 'dbhash' from '/usr/lib/python2.4/dbhash.pyc'>

All roundup tests fail with a core dump which are excluded by the following statement.

-bash-3.00$ ./run_tests.py -vv test '!(testActorProperty|testAddProperty|testAddRemoveProperty|testCacheCreateSet|testCreatorProperty|testDateChange|testDateUnset|testDestroyJournalling|testEmptySet|testExceptions|testFileClassContentChange|testFileClassIndexingNoNoNo|testFileClassReindexing|testFilteringDateSort|testFilteringID|testFilteringIntervalSort|testFilteringLink|testFilteringMany|testFilteringMultilink|testFilteringNumber|testFilteringRange|testFilteringRetired|testFilteringString|testForcedReindexing|testIDGeneration|testIDSetting|testImportExport|testIndexerSearching|testIntervalChange|testIntervalUnset|testJournals|testLinkChange|testLinkUnset|testMultilinkChange|testPack|testReindexingChange|testReindexingClear|testRemoveProperty|testRetire|testSerialisation|testStringChange|testStringFind|testStringUnset|testTransactions|testEmptyStringSet|testSetString|test_basics|test_change|test_clear|testAlternateAddress|testCommandDelimiters|testContentDisposition|testEmailQuoting|testEmptyMessage|testEnc01|testFollowup|testInvalidClassLoose|testInvalidCommandPassthrough|testMultipartEnc01|testNewIssue|testNewUserAuthor|testNosyRemove|testResentFrom|testSimpleFollowup|testFindLink|testFindMultiMultilink|testFindMultilink|testFindMultipleLink|testFindRetired)' Running unit tests at level 1 Running unit tests from /export/home/builddir/roundup-1.1.2/. Including anydbm tests Skipping metakit tests Skipping mysql tests Skipping postgresql tests Including sqlite tests Skipping tsearch2 tests ... ---------------------------------------------------------------------- Ran 202 tests in 76.999s

OK

e74d896a-0277-4994-80f1-990761f6c832 commented 18 years ago

Logged In: YES user_id=1292384

It is definitely a problem which occurs if the Xapian module is loaded into Python and both Python and Xapian is compiled with Sun Studio 11 (Sun C 5.8). Unfortunately there is no solution yet, see bug report on the Xapian tracker http://www.xapian.org/cgi-bin/bugzilla/show_bug.cgi?id=88 for details if you are interested in details.