Subject: Re: Python compiles OOTB, BUT...
From: Jason Tishler <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Tue, 27 Mar 2001 10:01:29 -0500

Johan,

On Fri, Mar 23, 2001 at 04:24:40PM -0800, [email-masked] wrote:
> gcc -shared -Wl,--enable-auto-image-base ... -lm
> /usr/lib/gcc-lib/i686-pc-cygwin/gcc-2.95.2-9/../../../../i686-pc-cygwin/lib/libcygwin.a(ds00022.o)(.text+0x0): multiple definition of `__infinity'
> /usr/lib/gcc-lib/i686-pc-cygwin/gcc-2.95.2-9/../../../../i686-pc-cygwin/lib/libm.a(s_infconst.o)(.text+0x0): first defined here
> Creating library file: libpython2.1.dll.a
> collect2: ld returned 1 exit status
> make: *** [libpython2.1.dll.a] Error 1
> make: Target `all' not remade because of errors.

My WAG is that your libm.a is *not* a symlink to libcygwin.a.  Please see
the following:

    http://cygwin.com/ml/cygwin/2001-03/msg01655.html

Am I correct?  Did you ever install a snapshot?  If so, the perform the
following:

    $ rm /usr/lib/libm.a
    $ ln -s /usr/lib/libcygwin.a /usr/lib/libm.a

You may want to "fix" libc.a too.

> This time, it builds python.exe all right, but it fails to build
> the math and cmath extensions, because it is still trying to
> use both libmath and libcygwin.

The above would be caused by the same problem too.

> It also fails to build the syslog extension because:
> 
> build/temp.cygwin_nt-4.0-1.1.8-i686-2.1/syslogmodule.o(.text+0x22c): undefined reference to `setlogmask'
> collect2: ld returned 1 exit status
> WARNING: building of extension "syslog" failed: command 'gcc' failed with exit status 1

Do you have any stray (i.e., old) libcygwin.a files lying around.
Manually run the link line with an extra "-v" option.  Then check all
of the directories specified with the "-L" option for libcygwin.a files.

> and it fails to build the pyexpat extension because of multiple
> 'initializer element is not a constant,' like this:
> 
> /home/newarchives/python/Python-2.1b1/Modules/pyexpat.c:1788: (near initialization for `handler_info[19].setter')
> /home/newarchives/python/Python-2.1b1/Modules/pyexpat.c:1791: initializer element is not constant
> /home/newarchives/python/Python-2.1b1/Modules/pyexpat.c:1791: (near initialization for `handler_info[20].setter')
> WARNING: building of extension "pyexpat" failed: command 'gcc' failed with exit status 1

I never tried to build this extension, so it most likely still needs to
be ported to Cygwin.  I found the following helpful for other extensions:

    http://www.python.org/doc/FAQ.html#3.24

It may be helpful for you too.  If successful, then please submit a
patch to Python on SourceForge.

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