[Python-bugs-list] [ python-Bugs-690309 ] 2.3a2 Sol8 make fails at _iconv_codec.

SourceForge.net noreply@sourceforge.net
Mon, 24 Feb 2003 13:13:29 -0800


Bugs item #690309, was opened at 2003-02-20 16:53
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=690309&group_id=5470

Category: Build
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Inyeol Lee (inyeol)
Assigned to: Nobody/Anonymous (nobody)
Summary: 2.3a2 Sol8 make fails at _iconv_codec.

Initial Comment:
Python 2.3a2 build process fails during building
_iconv_codec
module. The message is;

[...]
gcc -shared
build/temp.solaris-2.8-sun4u-2.3/_iconv_codec.o
-L/home/inyeol/util/python/lib -L/usr/local/lib -o
build/lib.solaris-2.8-sun4u-2.3/_iconv_codec.so
Traceback (most recent call last):

  [... long traceback here...]

  File "./setup.py", line 209, in build_extension
    imp.load_dynamic(ext.name, ext_filename)
RuntimeError: can't initialize the _iconv_codec module:
iconv_open() failed
*** Error code 1
make: Fatal error: Command failed for target
`sharedmods'

My build environment is gcc2.95.3 with Solaris 8
linker.
I've built 2.2, 2,2,1, 2,2,2, 2,3a1 with the same env
and there
was no (major) issues like this. I attached my
configure and
make log messages.


----------------------------------------------------------------------

Comment By: Alejandro Lopez-Valencia (dradul)
Date: 2003-02-24 16:13

Message:
Logged In: YES 
user_id=659006

Hmmm.... Perhaps the glibc maintainers have relaxed the naming 
rules when merging GNU iconv into the library.

I also changed ISO8859-1 to ISO-8859-1 in my local CVS copy 
and now _iconv_codec works fine under cygwin, soo I think this 
solved. 

Cheers

Al


----------------------------------------------------------------------

Comment By: Walter Dörwald (doerwalter)
Date: 2003-02-24 15:29

Message:
Logged In: YES 
user_id=89016

OK, I changed the test encoding from "ISO8859-1" to
"ISO-8859-1". But I tested this under Linux, and neither
"ASCII" nor "ISO8859-1" produced any problems for me.

----------------------------------------------------------------------

Comment By: Alejandro Lopez-Valencia (dradul)
Date: 2003-02-24 13:56

Message:
Logged In: YES 
user_id=659006

Ahh! I skimmed too fast through the code and didn't see that one! 
You see, GNU iconv is, errr, anal in the matter of ecoding 
names. And the author/maintainer is adamant on using stricly 
and only the names as specified in RFC1345, RFC1468, 
RFC1557 and related (I have a document on the subject I can 
mail you if you want). 

And... ISO8859-1 is not a valid name as per iconv_open(3) for 
GNU iconv's (any linux system has that man page). On the other 
hand, ISO-8859-1 is valid. That shoud fix the problem.


----------------------------------------------------------------------

Comment By: Walter Dörwald (doerwalter)
Date: 2003-02-24 10:10

Message:
Logged In: YES 
user_id=89016

These are just warnings, I see no error here. BTW the GNU
implementation does supports both ASCII and ISO8859-1 as
encodings, so I don't see why 1.12 should break anything

----------------------------------------------------------------------

Comment By: Alejandro Lopez-Valencia (dradul)
Date: 2003-02-23 07:25

Message:
Logged In: YES 
user_id=659006

The fix applied to _iconv_codec.c (in version 1.12) *breaks* the 
extension unnder cygwin and possibly other systems that use 
GNU iconv instead of a native library (namely, Solaris and BSD 
derivatives). The relevant errors:

building '_iconv_codec' extension
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -I. -
I/cvsroot/python/dist/src/./Include -I/usr/local/include -
I/tmp/Include -I/tmp/python -c /cvsroot/python/dist
/src/Modules/_iconv_codec.c -o build/temp.cygwin-1.3.20-i686-
2.3/_iconv_codec.o
cc1: warning: changing search order for system 
directory "/usr/local/include"
cc1: warning:   as it has already been specified as a non-system 
directory
/cvsroot/python/dist/src/Modules/_iconv_codec.c: In function 
`iconvcodec_encode'
:
/cvsroot/python/dist/src/Modules/_iconv_codec.c:147: warning: 
passing arg 2 of `
libiconv' from incompatible pointer type
/cvsroot/python/dist/src/Modules/_iconv_codec.c: In function 
`iconvcodec_decode'
:
/cvsroot/python/dist/src/Modules/_iconv_codec.c:357: warning: 
passing arg 2 of `
libiconv' from incompatible pointer type
/cvsroot/python/dist/src/Modules/_iconv_codec.c: In function 
`init_iconv_codec':

/cvsroot/python/dist/src/Modules/_iconv_codec.c:682: warning: 
passing arg 2 of `
libiconv' from incompatible pointer type
gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin-
1.3.20-i686-2.3/_icon
v_codec.o -L/usr/local/lib -L. -liconv -lpython2.3 -o 
build/lib.cygwin-1.3.20-i6
86-2.3/_iconv_codec.dll
running build_scripts

----------------------------------------------------------------------

Comment By: Walter Dörwald (doerwalter)
Date: 2003-02-21 13:29

Message:
Logged In: YES 
user_id=89016

I changed the init function to use 'ISO8859-1' instead of
'ASCII' as the test encoding. Can someone test whether this
fixes anything?

----------------------------------------------------------------------

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-02-20 17:15

Message:
Logged In: YES 
user_id=33168

In order to get the build to proceed, you can change line
210 of setup.py from:

        except ImportError, why:
to:
        except (ImportError, RuntimeError), why:

This is just before:
    self.announce('*** WARNING: renaming "%s" since
importing it' ...)

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=690309&group_id=5470