Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Wed, 14 Mar 2001 16:07:38 -0500 From: Jason Tishler To: "Gerrit P. Haase" Cc: cygwin AT cygwin DOT com Subject: Re: Building Python-2.1b1 problems Message-ID: <20010314160738.C86@dothill.com> Mail-Followup-To: "Gerrit P. Haase" , cygwin AT cygwin DOT com References: <3AAE3872 DOT 14697 DOT 3EB4426D AT localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3AAE3872.14697.3EB4426D@localhost>; from gerrit@familiehaase.de on Tue, Mar 13, 2001 at 03:10:42PM +0100 Organization: Dot Hill Systems Corp. Gerrit, On Tue, Mar 13, 2001 at 03:10:42PM +0100, Gerrit P. Haase wrote: > for me all the extensions did not built. > > e.g.: > > gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin_nt-4.0-1.1.8-i586- > 2.1/fpectlmodule.o -L. -L/usr/local/lib -lpython2.1 -o build/lib.cygwin_nt-4.0-1.1.8-i586-2.1/fpectl.dll > build/temp.cygwin_nt-4.0-1.1.8-i586-2.1/fpectlmodule.o(.text+0x35): undefined reference to `_Py_NoneStruct' > [snip] > collect2: ld returned 1 exit status > WARNING: building of extension "fpectl" failed: command 'gcc' failed with exit > Now i played around and i figured out, that -lpython2.1 is not recognized. That is not true. The "-lpython2.1" option expands to libpython2.1.dll.a in this case and is recognized. If your environment generated the "-DUSE_DL_IMPORT" options during compilation, then you would *not* be getting the above undefined link errors. Why Distutils is *not* generating "-DUSE_DL_IMPORT" options (i.e., using CCSHARED) during compilation is the crux of your problem. This is what you have to solve -- not the perceived link "problem." > I changed it to /src/Python-2.1.b1/libpython2.1.dll and it works. I just tried this and I was (surprisingly) able to link successfully. On Tue, Mar 13, 2001 at 05:23:42PM +0100, Gerrit P. Haase wrote: > $ PYTHONPATH= ./python.exe -tt ./Lib/test/regrtest.py -l -x test_poll > test_grammar > test_opcodes > test_operations > [...] > test_zipfile > test_zlib > 109 tests OK. > 2 tests failed: test_strftime test_time > 19 tests skipped: test_al test_cd test_cl test_dbm test_dl test_fcntl > test_fork1 > test_gl test_imgfile test_largefile test_linuxaudiodev test_nis > test_openpty > test_pty test_sunaudiodev test_thread test_threadedtempfile > test_winreg > test_winsound I guess that the above implies that these hand generated extensions work properly. Is that correct? > What should i say? I don't know why this is so (see -L.), but now i got my > extensions, after building by hand. Unfortunately, until you resolve your Distutils problem, you will have to continue building them by hand. 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: Jason DOT Tishler AT dothill DOT com Hazlet, NJ 07730 USA WWW: http://www.dothill.com -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple