wummel / linkchecker

check links in web documents or full websites
http://wummel.github.io/linkchecker/
GNU General Public License v2.0
1.42k stars 234 forks source link

_network.pyd does not build with Visual Studio #226

Closed wummel closed 11 years ago

wummel commented 11 years ago

Converted from SourceForge issue 2978524, submitted by bluebird75

Hi Bastian,

linkchecker does not build properly on windows with MSVC:

Philippe@pc-philippe /cygdrive/d/work/elc-dev/git-linkchecker2 $ python
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

quit()
Philippe@pc-philippe /cygdrive/d/work/elc-dev/git-linkchecker2 $ python setup.py build
creating d:\work\elc-dev\git-linkchecker2_LinkChecker_configdata.py
running build

*** SOURCE WARNING: The MANIFEST file is missing!
creating build
creating build\share
creating build\share\locale
creating build\share\locale\de
creating build\share\locale\de\LC_MESSAGES
creating build\share\locale\es
creating build\share\locale\es\LC_MESSAGES
creating build\share\locale\fr
creating build\share\locale\fr\LC_MESSAGES
running build_py
creating build\lib.win32-2.6
creating build\lib.win32-2.6\linkcheck
copying linkcheck\ansicolor.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\clamav.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\containers.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\cookies.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\decorators.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\dummy.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\fcgi.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\fileutil.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\ftpparse.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\gzip2.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\httplib2.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\httputil.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\i18n.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\lc_cgi.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\lock.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\log.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\mem.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\robotparser2.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\socketutil.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\strformat.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\threader.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\trace.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\url.py -> build\lib.win32-2.6\linkcheck
copying linkcheck\winutil.py -> build\lib.win32-2.6\linkcheck
copying linkcheckinit.py -> build\lib.win32-2.6\linkcheck
creating build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\blacklist.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\csvlog.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\customxml.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\dot.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\gml.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\graph.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\gxml.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\html.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\none.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\sql.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\text.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\logger\xmllog.py -> build\lib.win32-2.6\linkcheck\logger
copying linkcheck\loggerinit.py -> build\lib.win32-2.6\linkcheck\logger
creating build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\const.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\fileurl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\ftpurl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\httpheaders.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\httpsurl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\httpurl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\internpaturl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\mailtourl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\nntpurl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\proxysupport.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\telneturl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\unknownurl.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checker\urlbase.py -> build\lib.win32-2.6\linkcheck\checker
copying linkcheck\checkerinit.py -> build\lib.win32-2.6\linkcheck\checker
creating build\lib.win32-2.6\linkcheck\director
copying linkcheck\director\aggregator.py -> build\lib.win32-2.6\linkcheck\director
copying linkcheck\director\checker.py -> build\lib.win32-2.6\linkcheck\director
copying linkcheck\director\cleanup.py -> build\lib.win32-2.6\linkcheck\director
copying linkcheck\director\console.py -> build\lib.win32-2.6\linkcheck\director
copying linkcheck\director\logger.py -> build\lib.win32-2.6\linkcheck\director
copying linkcheck\director\status.py -> build\lib.win32-2.6\linkcheck\director
copying linkcheck\director\task.py -> build\lib.win32-2.6\linkcheck\director
copying linkcheck\directorinit.py -> build\lib.win32-2.6\linkcheck\director
creating build\lib.win32-2.6\linkcheck\configuration
copying linkcheck\configuration\confparse.py -> build\lib.win32-2.6\linkcheck\configuration
copying linkcheck\configurationinit.py -> build\lib.win32-2.6\linkcheck\configuration creating build\lib.win32-2.6\linkcheck\cache
copying linkcheck\cache\addrinfo.py -> build\lib.win32-2.6\linkcheck\cache
copying linkcheck\cache\connection.py -> build\lib.win32-2.6\linkcheck\cache
copying linkcheck\cache\cookie.py -> build\lib.win32-2.6\linkcheck\cache
copying linkcheck\cache\geoip.py -> build\lib.win32-2.6\linkcheck\cache
copying linkcheck\cache\robots_txt.py -> build\lib.win32-2.6\linkcheck\cache
copying linkcheck\cache\urlqueue.py -> build\lib.win32-2.6\linkcheck\cache
copying linkcheck\cacheinit.py -> build\lib.win32-2.6\linkcheck\cache
creating build\lib.win32-2.6\linkcheck\htmlutil
copying linkcheck\htmlutil\linkname.py -> build\lib.win32-2.6\linkcheck\htmlutil
copying linkcheck\htmlutil\linkparse.py -> build\lib.win32-2.6\linkcheck\htmlutil
copying linkcheck\htmlutilinit.py -> build\lib.win32-2.6\linkcheck\htmlutil
creating build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\dnssec.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\e164.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\edns.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\entropy.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\exception.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\flags.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\inet.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\ipv4.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\ipv6.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\message.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\name.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\namedict.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\node.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\opcode.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\query.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\rcode.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\rdata.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\rdataclass.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\rdataset.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\rdatatype.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\renderer.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\resolver.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\reversename.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\rrset.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\tokenizer.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\tsig.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\tsigkeyring.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\ttl.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\update.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\version.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dns\zone.py -> build\lib.win32-2.6\linkcheck\dns
copying linkcheck\dnsinit.py -> build\lib.win32-2.6\linkcheck\dns
creating build\lib.win32-2.6\linkcheck\dns\rdtypes
copying linkcheck\dns\rdtypes\dsbase.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes
copying linkcheck\dns\rdtypes\keybase.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes
copying linkcheck\dns\rdtypes\mxbase.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes
copying linkcheck\dns\rdtypes\nsbase.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes
copying linkcheck\dns\rdtypes\sigbase.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes
copying linkcheck\dns\rdtypes\txtbase.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes
copying linkcheck\dns\rdtypesinit.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes
creating build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\AFSDB.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\CERT.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY copying linkcheck\dns\rdtypes\ANY\CNAME.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\DLV.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\DNAME.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\DNSKEY.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\DS.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\GPOS.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY copying linkcheck\dns\rdtypes\ANY\HINFO.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\HIP.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\ISDN.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY copying linkcheck\dns\rdtypes\ANY\KEY.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\LOC.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\MX.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\NS.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\NSEC.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY copying linkcheck\dns\rdtypes\ANY\NSEC3.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\NSEC3PARAM.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\NXT.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\PTR.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\RP.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\RRSIG.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\RT.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\SIG.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\SOA.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\SPF.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\SSHFP.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\TXT.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANY\X25.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
copying linkcheck\dns\rdtypes\ANYinit.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\ANY
creating build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\A.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\AAAA.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\APL.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\DHCID.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\IPSECKEY.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\KX.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\NAPTR.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\NSAP.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\NSAP_PTR.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\PX.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\SRV.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\IN\WKS.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
copying linkcheck\dns\rdtypes\INinit.py -> build\lib.win32-2.6\linkcheck\dns\rdtypes\IN
creating build\lib.win32-2.6\linkcheck\HtmlParser
copying linkcheck\HtmlParser\htmllib.py -> build\lib.win32-2.6\linkcheck\HtmlParser
copying linkcheck\HtmlParserinit.py -> build\lib.win32-2.6\linkcheck\HtmlParser
creating build\lib.win32-2.6\linkcheck\network
copying linkcheck\network\iputil.py -> build\lib.win32-2.6\linkcheck\network
copying linkcheck\networkinit.py -> build\lib.win32-2.6\linkcheck\network
creating build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\checker.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\contextmenu.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\help.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\linkchecker_rc.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\linkchecker_ui_main.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\linkchecker_ui_options.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\linkchecker_ui_progress.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\logger.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\options.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\gui\progress.py -> build\lib.win32-2.6\linkcheck\gui
copying linkcheck\guiinit.py -> build\lib.win32-2.6\linkcheck\gui
running build_ext
building 'linkcheck.HtmlParser.htmlsax' extension
creating build\temp.win32-2.6
creating build\temp.win32-2.6\Release
creating build\temp.win32-2.6\Release\linkcheck
creating build\temp.win32-2.6\Release\linkcheck\HtmlParser
c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DYY_NO_UNISTD_H -DYY_NO_INPUT -Ilinkcheck\HtmlParser -Ic:\Python26\include -Ic:\Python26\PC /Tclinkcheck/HtmlParser/htmllex.c /Fobuild\temp.win32-2.6\Release\linkcheck/HtmlParser/htmllex.obj
htmllex.c
htmllex.l(1100) : warning C4018: '>' : signed/unsigned mismatch
c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DYY_NO_UNISTD_H -DYY_NO_INPUT -Ilinkcheck\HtmlParser -Ic:\Python26\include -Ic:\Python26\PC /Tclinkcheck/HtmlParser/htmlparse.c /Fobuild\temp.win32-2.6\Release\linkcheck/HtmlParser/htmlparse.obj
htmlparse.c
htmlparse.y(728) : warning C4018: '>=' : signed/unsigned mismatch
htmlparse.y(731) : warning C4018: '>=' : signed/unsigned mismatch
c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DYY_NO_UNISTD_H -DYY_NO_INPUT -Ilinkcheck\HtmlParser -Ic:\Python26\include -Ic:\Python26\PC /Tclinkcheck/HtmlParser/s_util.c /Fobuild\temp.win32-2.6\Release\linkcheck/HtmlParser/s_util.obj
s_util.c
c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\Python26\libs /LIBPATH:c:\Python26\PCbuild /EXPORT:inithtmlsax build\temp.win32-2.6\Release\linkcheck/HtmlParser/htmllex.obj build\temp.win32-2.6\Release\linkcheck/HtmlParser/htmlparse.obj build\temp.win32-2.6\Release\linkcheck/HtmlParser/s_util.obj /OUT:build\lib.win32-2.6\linkcheck\HtmlParser\htmlsax.pyd /IMPLIB:build\temp.win32-2.6\Release\linkcheck/HtmlParser\htmlsax.lib /MANIFESTFILE:build\temp.win32-2.6\Release\linkcheck/HtmlParser\htmlsax.pyd.manifest
Creating library build\temp.win32-2.6\Release\linkcheck/HtmlParser\htmlsax.lib and object build\temp.win32-2.6\Release\linkcheck/HtmlParser\htmlsax.exp
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe -nologo -manifest build\temp.win32-2.6\Release\linkcheck/HtmlParser\htmlsax.pyd.manifest -outputresource:build\lib.win32-2.6\linkcheck\HtmlParser\htmlsax.pyd;2
building 'linkcheck.network._network' extension
creating build\temp.win32-2.6\Release\linkcheck\network
c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DYY_NO_UNISTD_H -Ic:\Python26\include -Ic:\Python26\PC /Tclinkcheck/network/_network.c /Fobuild\temp.win32-2.6\Release\linkcheck/network/_network.obj
_network.c
linkcheck/network/_network.c(20) : fatal error C1083: Cannot open include file: 'sys/ioctl.h': No such file or directory
error: command '"c:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' failed with exit status 2
Philippe@pc-philippe /cygdrive/d/work/elc-dev/git-linkchecker2 $

wummel commented 11 years ago

Submitted by calvin

It seems I should have relied on "_WIN32" being defined instead of just "WIN32". I'll test this.

wummel commented 11 years ago

Submitted by bluebird75

Fixed by 7802bbbbc477487531ff83146337974d8d1e01cc