[Python-bugs-list] [ python-Bugs-694431 ] Python 2.3a2 Build fails on HP-UX11i

SourceForge.net noreply@sourceforge.net
Sat, 24 May 2003 19:47:42 -0700


Bugs item #694431, was opened at 2003-02-27 10:44
Message generated for change (Settings changed) made by nnorwitz
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=694431&group_id=5470

Category: Build
Group: Python 2.3
>Status: Closed
>Resolution: Out of Date
Priority: 5
Submitted By: Richard Townsend (rptownsend)
Assigned to: Neal Norwitz (nnorwitz)
Summary: Python 2.3a2 Build fails on HP-UX11i

Initial Comment:
While building Python 2.3a2 on HP-UX11i I got the 
following error:

ld -b build/temp.hp-ux-B.11.11-9000/785-
2.3/_iconv_codec.o -L/opt/python/lib -
L/usr/local/lib -o build/lib.hp-ux-B.11.11-
9000/785-2.3/_iconv_codec.sl
/usr/lib/dld.sl: Unresolved symbol: libiconv_open 
(code)  from build/lib.hp-ux-B.11.11-9000/785-
2.3/_iconv_codec.sl
sh[3]: 25624 Abort(coredump)
*** Error exit code 134


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

Comment By: Richard Townsend (rptownsend)
Date: 2003-05-24 10:25

Message:
Logged In: YES 
user_id=200117

Neal, since iconv was removed I can build Python 2.3 OK, 
therfore I'm happy for the bug report to be closed.


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

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-05-22 17:48

Message:
Logged In: YES 
user_id=33168

Richard, is this still a problem?  iconv has been removed. 
Should this bug be closed?

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

Comment By: Richard Townsend (rptownsend)
Date: 2003-03-31 02:36

Message:
Logged In: YES 
user_id=200117

Yes, I was just trying to get Python to compile. I'm not 
aware that we have any need for the iconv codec module.

What is the best way to get the build process to omit it 
from the build?




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

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-03-29 16:55

Message:
Logged In: YES 
user_id=33168

This means the iconv_open() call is failing.  Unless you
know you need this module, you probably don't.  And if you
do need this module, you probably know more than I do. :-) 
So if you are just trying to get this working, I don't think
it's a big deal.  It seems to work on some HPUX machines.  I
suspect the reason the iconv_open() is failing is because of
a configuration on your machine.  This call is for
translating character sets.

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

Comment By: Richard Townsend (rptownsend)
Date: 2003-03-26 11:26

Message:
Logged In: YES 
user_id=200117

Hi Neal,

I edited Modules/Setup line 483 like this:

_iconv_codec _iconv_codec.c -I/usr/include

I can now build Python! 

However test_iconv_codecs fails:

capulet:dist/src 
> ./python ./Lib/test/test_iconv_codecs.py
Traceback (most recent call last):
  File "./Lib/test/test_iconv_codecs.py", line 3, in ?
    import codecs, _iconv_codec
RuntimeError: can't initialize the _iconv_codec module: 
iconv_open() failed


I tried adding '-l:libdld.sl' to line 483 (as suggested by 
the man page) but
the test still fails.



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

Comment By: Richard Townsend (rptownsend)
Date: 2003-03-26 09:43

Message:
Logged In: YES 
user_id=200117

Hi Neal,

I have now discovered that there is a different version of 
iconv.h on my workstation in /usr/local/include.

It appears to be part of the zlib package and it contains 
the pre-processor macros which are converting the 
iconv statements to libiconv.

It is being used instead of the one in /usr/include, 
because the compile command contains 
-I/usr/local/include 

Is there any easy to prevent this path from being added 
to the compile commands? 



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

Comment By: Richard Townsend (rptownsend)
Date: 2003-03-25 12:51

Message:
Logged In: YES 
user_id=200117

Neal,

The original error referred to unresolved 
symbol 'libiconv_open'.

The source module _iconv_codec.c contains calls to 
iconv_open(), not libiconv_open().

However, if I recompile it with the -E flag there is a pre-
processor substitution happening which is converting 
all instances of 'iconv' to 'libiconv'

Here I grepped the pre-processor output for 'iconv'...

extern int _libiconv_version;
typedef void* libiconv_t ;
extern libiconv_t  libiconv_open  (const char* tocode, 
const char* fromcode);
extern size_t libiconv  (libiconv_t  cd,  char* * inbuf, 
size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
extern int libiconv_close  (libiconv_t  cd);
extern int libiconvctl  (libiconv_t  cd, int request, void* 
argument);
    libiconv_t   enchdl, dechdl;
        if (libiconv (self->enchdl, (char**)&inp, &inplen, 
&out, &outlen)
        size_t res = libiconv (self->dechdl, (char**)&inp, 
&inplen, &out, &outlen);
    new->enchdl = new->dechdl = (libiconv_t )(-1);
    new->dechdl = libiconv_open ("ucs-2-internal" , 
new->encoding);
    if (new->dechdl == (libiconv_t )(-1)) {
    new->enchdl = libiconv_open (new->encoding, "ucs-
2-internal" );
    if (new->enchdl == (libiconv_t )(-1)) {
        libiconv_close (new->dechdl);
        new->dechdl = (libiconv_t )(-1);
    if (self->enchdl != (libiconv_t )-1)
        libiconv_close (self->enchdl);
    if (self->dechdl != (libiconv_t )-1)
        libiconv_close (self->dechdl);
    libiconv_t  hdl = libiconv_open ("ucs-2-
internal" , "ISO-8859-1");
    if (hdl == (libiconv_t )-1) {
    res = libiconv (hdl, &inptr, &insize, &outptr, &outsize);
        libiconv_close (hdl);
    libiconv_close (hdl);

Is this supposed to be happening??

If not, what could be causing it??



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

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-03-23 10:52

Message:
Logged In: YES 
user_id=33168

Looking further into the python configure, I see that the
option is --with-dl-dld, however, this option is not
supported.  Can try to play with the build options to find
the magic that works on your version of HPUX?

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

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-03-23 10:48

Message:
Logged In: YES 
user_id=33168

Richard, in the manpage it says that iconv has a dependancy
on libdld.sl.  Perhaps you need to configure python
--with-dld.  Can you try that?

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

Comment By: Richard Townsend (rptownsend)
Date: 2003-03-04 12:09

Message:
Logged In: YES 
user_id=200117

Neal, I will try to help, but internet access is difficult at 
work so responses may not be prompt.

I had a look at the man page but it was not clear to me 
which library contains iconv_open. I will attach text 
copy of the man page for you.

I also include some nm output from libc.sl which refers 
to iconv_open, but I'm not sure if it means that it 
contains the code for the function.

Let me know if I can try anything else.


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

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

Message:
Logged In: YES 
user_id=33168

Richard, can you help diagnose further since I can't
reproduce on HP-UX 11.00?  My initial guess is that
iconv_open is in a different location, therefore the linking
is faililng.  Does man iconv_open reveal what library
iconv_open is in?  To add directories, etc. to the
build/link of iconv, you will need to edit setup.py (or test
on the command line).   Check around line 620 in setup.py.

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

Comment By: Richard Townsend (rptownsend)
Date: 2003-03-03 04:14

Message:
Logged In: YES 
user_id=200117

Sorry for the delay but I had to download from CVS at 
home yesterday (Sunday 2nd) and build on HP-UX at 
work today.

Unfortunately I'm still getting the same linker error.

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

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-02-28 12:37

Message:
Logged In: YES 
user_id=33168

This iconv_codec problem may be fixed.  Please test with
current CVS to verify.
See SF bug #690012.

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

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-02-27 22:45

Message:
Logged In: YES 
user_id=33168

Richard, can you try the latest version from CVS.  I don't
have this problem on hp-ux-B.11.00-9000/829

I do have a problem with readline, but I think that's
specific to the machine I'm building on.

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

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