Subject: Re: python 2.0, cygwin & readline - undefined symbols
From: Jason Tishler <[email-masked]>
To: "Gerrit P. Haase" <[email-masked]>
Cc: [email-masked]
Date: Sun, 11 Mar 2001 23:39:25 -0500

Gerrit,

On Mon, Mar 12, 2001 at 03:00:37AM +0100, Gerrit P. Haase wrote:
> <Am 2001-03-11 17:52 wars, als Jason Tishler schrieb:>
> < Re: python 2.0, cygwin & readline - >
> 
> > Please provide me with more details than the above.  Specifically,
> > I would like to see the output from the compilation and link (if
> > appropriate) lines.  Without this information, I cannot help you.
> 
> O.K., My make log is about 142KB, so i snip out the first try of make
> to build an extension and then some excerpts from below.

I was only looking for output from the building of one extension, not the
entire make.

> [...]
> Creating library file: libpython2.1.dll.a
> gcc -s  -o python.exe Modules/python.o \
> 		libpython2.1.dll.a    -lm  

Just curious, but how did you get the "-s" option set above.  Via
configure or did you edit your Makefile?

> PYTHONPATH= ./python.exe ./setup.py build
> running build
> running build_ext
> building 'struct' extension
> creating build
> creating build/temp.cygwin_nt-4.0-1.1.8-i686-2.1
> gcc -I. -I/src/Python-2.1b1/./Include -IInclude/ -I/usr/local/include -c /src/Python-2.1b1/Modules/structmodule.c -o build/temp.cygwin_nt-4.0-1.1.8-i686-2.1/structmodule.o

Here is your problem -- the "-DUSE_DL_IMPORT" option is missing above.
This means that somehow the value of CCSHARED got whacked in your
Makefile.  How did you accomplish this?  Please send me your Makefile.

> creating build/lib.cygwin_nt-4.0-1.1.8-i686-2.1
> gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin_nt-4.0-1.1.8-i686-2.1/structmodule.o -L. -L/usr/local/lib -lpython2.1 -o build/lib.cygwin_nt-4.0-1.1.8-i686-2.1/struct.dll
> build/temp.cygwin_nt-4.0-1.1.8-i686-2.1/structmodule.o(.text+0x53):structmodule.c: undefined reference to `PyExc_TypeError'
> [snip]
> build/temp.cygwin_nt-4.0-1.1.8-i686-2.1/structmodule.o(.text+0x1f33):structmodule.c: undefined reference to `PyString_Type'
> collect2: ld returned 1 exit status
> WARNING: building of extension "struct" failed: command 'gcc' failed with exit status 1

If you do not specify the "-DUSE_DL_IMPORT" option during compilation,
then you will get error such as the above during linking.

Thanks,
Jason

-- 
Jason Tishler
Director, Software Engineering       Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp.               Fax:   +1 (732) 264-8798
82 Bethany Road, Suite 7             Email: [email-masked]
Hazlet, NJ 07730 USA                 WWW:   http://www.dothill.com

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple