Python 2.4.2 gcc 3.4.4 Solaris 8 build issues

Holger Joukl Holger.Joukl at LBBW.de
Fri Dec 30 04:16:30 EST 2005


Hi,
I encountered some build issues when compiling Python 2.4.4 on a Solaris 8
box using gcc 3.4.4:

1. Running configure detects that a C++-built main needs C++-linking.
Therefore, Python gets
linked with g++, creating a dependency on libstdc++.
Some research showed up a rather elaborate discussion in the
python-dev/c++-sig-archives, ending
up in a patch that replaces the --with-cxx option with a --with-cxx-main
switch and tries to set CXX
to some sensible value in the generated Makefile even if Python gets built
C-only.
(SF #1324762 Compiling and linking main() with C++ compiler, by Christoph
Ludwig; pending)

Now, I am still not 100 % sure about what I need to do. I need
C++-extensions, but I do not
want to link anything statically with Python, i.e. everything will be
dynamically imported extension
modules. I *think* I can build Python C-only, avoiding possible runtime
problems with C++-extensions that
might have been built with different C++ compilers.

Can anyony clear that up?

2. We have some stuff in non-standard locations here. To build properly, I
need to tell this
to configure (using CXX, CPPFLAGS, LD_LIBRARY_PATH). Unfortunately, none of
this
gets communicated to the setup.py step with its find_library_file() stuff,
so it is also necessary to either
modify setup.py or add a setup.cfg file.

Is there some better way to do that?
(Probably the Makefile template could be changed to supply setup.py with
some appropriate
command line options for build_ext, but I do not know the autotools stuff.
Any recommendations
for some good tutorial?)

3. The test_locale test fails:
./python Lib/test/test_locale.py
'%f' % 1024 =? '1,024.000000' ... no
'%f' % 1024 == '1024.000000' != '1,024.000000'
'%f' % 102 =? '102.000000' ... yes
'%f' % -42 =? '-42.000000' ... yes
'%+f' % -42 =? '-42.000000' ... yes
'%20.f' % -42 =? '                 -42' ... yes
'%+10.f' % -4200 =? '    -4,200' ... no
'%+10.f' % -4200 == '    -4200' != '    -4,200'
'%-10.f' % 4200 =? '4,200     ' ... no
'%-10.f' % 4200 == '4200     ' != '4,200     '
' '.isspace() =? True ... yes
'\xa0'.isspace() =? False ... no
'\xa0'.isspace() == True != False
'\xa1'.isspace() =? False ... yes
'\xc0'.isalpha() =? False ... no
'\xc0'.isalpha() == True != False
'\xc0'.isalnum() =? False ... no
'\xc0'.isalnum() == True != False
'\xc0'.isupper() =? False ... no
'\xc0'.isupper() == True != False
'\xc0'.islower() =? False ... yes
'\xec\xa0\xbc'.split() =? ['\xec\xa0\xbc'] ... no
'\xec\xa0\xbc'.split() == ['\xec', '\xbc'] != ['\xec\xa0\xbc']
'\xed\x95\xa0'.strip() =? '\xed\x95\xa0' ... no
'\xed\x95\xa0'.strip() == '\xed\x95' != '\xed\x95\xa0'
'\xcc\x85'.lower() =? '\xcc\x85' ... no
'\xcc\x85'.lower() == '\xec\x85' != '\xcc\x85'
'\xed\x95\xa0'.upper() =? '\xed\x95\xa0' ... no
'\xed\x95\xa0'.upper() == '\xcd\x95\xa0' != '\xed\x95\xa0'

?? Is this a known problem on Solaris?

Thanks in advance for any hints,
Holger

Der Inhalt dieser E-Mail ist vertraulich. Falls Sie nicht der angegebene
Empfänger sind oder falls diese E-Mail irrtümlich an Sie adressiert wurde,
verständigen Sie bitte den Absender sofort und löschen Sie die E-Mail
sodann. Das unerlaubte Kopieren sowie die unbefugte Übermittlung sind nicht
gestattet. Die Sicherheit von Übermittlungen per E-Mail kann nicht
garantiert werden. Falls Sie eine Bestätigung wünschen, fordern Sie bitte
den Inhalt der E-Mail als Hardcopy an.

The contents of this  e-mail are confidential. If you are not the named
addressee or if this transmission has been addressed to you in error,
please notify the sender immediately and then delete this e-mail.  Any
unauthorized copying and transmission is forbidden. E-Mail transmission
cannot be guaranteed to be secure. If verification is required, please
request a hard copy version.





More information about the Python-list mailing list