[Biopython-dev] Updating C extensions to Python 3

Michiel de Hoon mjldehoon at yahoo.com
Sun Dec 26 13:30:23 UTC 2010


Thanks for noticing this.
I just uploaded a different solution though: The PyBytes_Check function is used only in _create_bytes_object, which is needed only in Python 3. I now put the appropriate #if's around _create_bytes_object, so PyBytes_Check won't be needed on Python 2.

Thanks,
--Michiel.


--- On Sun, 12/26/10, Peter <biopython at maubp.freeserve.co.uk> wrote:

> From: Peter <biopython at maubp.freeserve.co.uk>
> Subject: Re: [Biopython-dev] Updating C extensions to Python 3
> To: "Michiel de Hoon" <mjldehoon at yahoo.com>
> Cc: biopython-dev at biopython.org
> Date: Sunday, December 26, 2010, 8:09 AM
> On Sat, Dec 25, 2010 at 11:34 PM,
> Peter <biopython at maubp.freeserve.co.uk>
> wrote:
> >
> > Just three left now: Bio.cpairwise2, Bio.trie and
> > Bio.Nexus.cnexus - it looks like we will shortly be a
> > lot closer to doing a Biopython release on Python 3.
> >
> 
> You have been busy, just one left now.
> 
> However, again we have a Python 2.4 and Python 2.5
> compilation problem (under the Cygwin compiler but
> not on Linux strangely):
> 
> http://events.open-bio.org:8010/builders/Windows%20XP%20-%20Python%202.5/builds/69/steps/compile/logs/stdio
> 
> C:\cygwin\usr\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IBio
> -Ic:\python25\include -Ic:\python25\PC -c
> Bio/cpairwise2module.c -o
> build\temp.win32-2.5\Release\bio\cpairwise2module.o
> cygwin warning:
>   MS-DOS style path detected: c:/python25/include
>   Preferred POSIX equivalent is:
> /cygdrive/c/python25/include
>   CYGWIN environment variable option
> "nodosfilewarning" turns off this warning.
>   Consult the user's guide for more details about
> POSIX paths:
>     http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
> Bio/cpairwise2module.c: In function
> `_create_bytes_object':
> Bio/cpairwise2module.c:203: warning: implicit declaration
> of function
> `PyBytes_Check'
> Bio/cpairwise2module.c: At top level:
> Bio/cpairwise2module.c:201: warning: '_create_bytes_object'
> defined but not used
> writing build\temp.win32-2.5\Release\bio\cpairwise2.def
> C:\cygwin\usr\bin\gcc.exe -mno-cygwin -shared -s
> build\temp.win32-2.5\Release\bio\cpairwise2module.o
> build\temp.win32-2.5\Release\bio\cpairwise2.def
> -Lc:\python25\libs
> -Lc:\python25\PCBuild -lpython25 -lmsvcr71 -o
> build\lib.win32-2.5\Bio\cpairwise2.pyd
> cygwin warning:
>   MS-DOS style path detected:
> build\temp.win32-2.5\Release\bio\cpairwise2module.o
>   Preferred POSIX equivalent is:
> build/temp.win32-2.5/Release/bio/cpairwise2module.o
>   CYGWIN environment variable option
> "nodosfilewarning" turns off this warning.
>   Consult the user's guide for more details about
> POSIX paths:
>     http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
> build\temp.win32-2.5\Release\bio\cpairwise2module.o:cpairwise2module.c:(.text+0x369):
> undefined reference to `_PyBytes_Check'
> collect2: ld returned 1 exit status
> error: command 'gcc' failed with exit status 1
> 
> (I should tweak the environment variables on that machine
> to get rid of the MS-DOS style path warning which irks me)
> 
> This seems like the right fix and resolved the compile
> issue,
> but again, could you check this please?:
> 
> https://github.com/biopython/biopython/commit/d3b22e4963a058323c08ed4a4873f97ca0d44d8b
> 
> Thanks!
> 
> Peter
> 


      




More information about the Biopython-dev mailing list