Message 110222 - Python tracker (original) (raw)

These changes break building of Python 3.* in some locales in Gentoo.

running build running build_ext Traceback (most recent call last): File "./setup.py", line 1812, in main() File "./setup.py", line 1807, in main "Tools/scripts/2to3"] File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/distutils/core.py", line 152, in setup dist.run_commands() File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/distutils/dist.py", line 946, in run_commands self.run_command(cmd) File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/distutils/dist.py", line 965, in run_command cmd_obj.run() File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/distutils/command/build.py", line 127, in run self.run_command(cmd_name) File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/distutils/cmd.py", line 315, in run_command self.distribution.run_command(command) File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/distutils/dist.py", line 965, in run_command cmd_obj.run() File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/distutils/command/build_ext.py", line 393, in run self.build_extensions() File "./setup.py", line 151, in build_extensions missing = self.detect_modules() File "./setup.py", line 539, in detect_modules for ln in fp: File "/var/tmp/portage/dev-lang/python-3.2_pre20100711/work/Python-3.2_pre20100711/Lib/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 20: ordinal not in range(128) make: *** [sharedmods] Error 1

In lt_LT.UTF-8 locale, readline_termcap_lib file contains: ne dinaminis paleidžiamasis failas

In en_US.UTF-8 locale, this file would contain: not a dynamic executable

do_readline is "/usr/lib64/libreadline.so".

/usr/lib64/libreadline.so is a linker script with the following content: /* GNU ld script Since Gentoo has critical dynamic libraries in /lib, and the static versions in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we run into linking problems. This "fake" dynamic lib is a linker script that redirects the linker to the real lib. And yes, this works in the cross- compiling scenario as the sysroot-ed linker will prepend the real path.

See bug http://bugs.gentoo.org/4411 for more info. */ OUTPUT_FORMAT ( elf64-x86-64 ) GROUP ( /lib64/libreadline.so.6 )

I think that using ldd is a wrong idea.