Skip to content

Visual C++ linker errors when installing #81

Open
@jack-jjm

Description

@jack-jjm

The readme currently just says to just run pip install pypcap. However, under Windows 7, it's not that simple. The first thing I had to do was find out I had to install this stuff (not mentioned anywhere in the readme - really the state of the docs should be in a separate issue thread, but I need to go through my hacky installation process incase it's what's causing the main issue). I looked at setup.py to figure out where to put these files and then ran python -m pip install pypcap. This got me past the pcap.h errors, but now I was told I needed to install VC++ for Python (Also not mentioned in the readme!! Cmon guys, surely that's an obvious one?). So I installed that, from here.

When I now run python -m pip install pypcap, I get flooded with linker errors:

Collecting pypcap
  Using cached https://files.pythonhosted.org/packages/33/21/d1f24d8a93e4e11bf604d77e04080c05ecb0308a5606936a051bd2b2b5da/pypcap-1.2.2.tar.gz
Building wheels for collected packages: pypcap
  Running setup.py bdist_wheel for pypcap ... error
  Complete output from command C:\Anaconda2\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\jack\\appdata\\local\\temp\\pip-build-cnyll3\\pypcap\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d c:\users\jack\appdata\local\temp\tmpvl7g19pip-wheel- --python-tag cp27:
  Found pcap headers in C:\Anaconda2\wpdpack\Include\pcap.h
  Found libraries in C:\Anaconda2\wpdpack\Lib\wpcap.lib
  found pcap_setdirection
  found pcap_setnonblock
  found pcap_compile_nopcap function
  found pcap_file function
  running bdist_wheel
  running build
  running build_ext
  building 'pcap' extension
  creating build
  creating build\temp.win-amd64-2.7
  creating build\temp.win-amd64-2.7\Release
  C:\Users\Jack\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DHAVE_PCAP_SETDIRECTION=1 -DHAVE_PCAP_SETNONBLOCK=1 -DHAVE_PCAP_COMPILE_NOPCAP=1 -DHAVE_PCAP_FILE=1 -IC:\Anaconda2\wpdpack\Include -IC:\Anaconda2\include -IC:\Anaconda2\PC /Tcpcap.c /Fobuild\temp.win-amd64-2.7\Release\pcap.obj -DWIN32 -DWPCAP -D_CRT_SECURE_NO_WARNINGS
  pcap.c
  pcap.c(3242) : warning C4013: 'pcap_set_immediate_mode' undefined; assuming extern returning int
  pcap.c(19904) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26219) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26219) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26224) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26224) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26224) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26230) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26239) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26240) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26240) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26240) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26244) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26244) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26244) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26246) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26246) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26246) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26253) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26253) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26253) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26255) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26255) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26255) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26255) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26262) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26262) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26262) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26264) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26264) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26264) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26264) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26264) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26284) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26284) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26284) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26287) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26287) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26287) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26294) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26295) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26295) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26295) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26296) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26296) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26296) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26300) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26300) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26300) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26302) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26302) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26302) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26302) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26309) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26309) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26309) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26311) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26311) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26311) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26318) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26318) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26318) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26320) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26320) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26320) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26320) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26320) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26327) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26327) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26327) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26329) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26329) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26329) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26329) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26336) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26336) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26336) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26338) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26338) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26338) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26338) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26338) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26338) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26345) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26345) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26345) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26347) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26347) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26347) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26347) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26347) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26354) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26354) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26354) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26357) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26357) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26357) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26386) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26391) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26399) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26403) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26408) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  pcap.c(26408) : warning C4197: '__pyx_atomic_int' : top-level volatile in cast is ignored
  C:\Users\Jack\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DHAVE_PCAP_SETDIRECTION=1 -DHAVE_PCAP_SETNONBLOCK=1 -DHAVE_PCAP_COMPILE_NOPCAP=1 -DHAVE_PCAP_FILE=1 -IC:\Anaconda2\wpdpack\Include -IC:\Anaconda2\include -IC:\Anaconda2\PC /Tcpcap_ex.c /Fobuild\temp.win-amd64-2.7\Release\pcap_ex.obj -DWIN32 -DWPCAP -D_CRT_SECURE_NO_WARNINGS
  pcap_ex.c
  creating build\lib.win-amd64-2.7
  C:\Users\Jack\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Anaconda2\wpdpack\Lib /LIBPATH:C:\Anaconda2\libs /LIBPATH:C:\Anaconda2\PCbuild\amd64 /LIBPATH:C:\Anaconda2\PC\VS9.0\amd64 wpcap.lib iphlpapi.lib /EXPORT:initpcap build\temp.win-amd64-2.7\Release\pcap.obj build\temp.win-amd64-2.7\Release\pcap_ex.obj /OUT:build\lib.win-amd64-2.7\pcap.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\pcap.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\pcap.pyd.manifest
  pcap.obj : warning LNK4197: export 'initpcap' specified multiple times; using first specification
     Creating library build\temp.win-amd64-2.7\Release\pcap.lib and object build\temp.win-amd64-2.7\Release\pcap.exp
  pcap.obj : error LNK2019: unresolved external symbol pcap_freecode referenced in function __pyx_pf_4pcap_3bpf_4__dealloc__
  pcap.obj : error LNK2019: unresolved external symbol pcap_close referenced in function __pyx_pf_4pcap_4pcap_4close
  pcap.obj : error LNK2019: unresolved external symbol bpf_filter referenced in function __pyx_pf_4pcap_3bpf_2filter
  pcap.obj : error LNK2019: unresolved external symbol pcap_snapshot referenced in function __pyx_pf_4pcap_4pcap_7snaplen___get__
  pcap.obj : error LNK2019: unresolved external symbol pcap_datalink referenced in function __pyx_pf_4pcap_4pcap_14datalink
  pcap.obj : error LNK2019: unresolved external symbol pcap_geterr referenced in function __pyx_pf_4pcap_4pcap_26geterr
  pcap.obj : error LNK2019: unresolved external symbol pcap_stats referenced in function __pyx_pf_4pcap_4pcap_28stats
  pcap.obj : error LNK2019: unresolved external symbol pcap_freealldevs referenced in function __pyx_pf_4pcap_4findalldevs
  pcap_ex.obj : error LNK2001: unresolved external symbol pcap_freealldevs
  pcap.obj : error LNK2019: unresolved external symbol pcap_findalldevs referenced in function __pyx_pf_4pcap_4findalldevs
  pcap_ex.obj : error LNK2001: unresolved external symbol pcap_findalldevs
  pcap.obj : error LNK2019: unresolved external symbol pcap_lookupnet referenced in function __pyx_pf_4pcap_6lookupnet
  pcap.obj : error LNK2019: unresolved external symbol pcap_activate referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_set_rfmon referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_set_immediate_mode referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_set_timeout referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_set_promisc referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_set_snaplen referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_create referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_open_offline referenced in function __pyx_pf_4pcap_4pcap___init__
  pcap.obj : error LNK2019: unresolved external symbol pcap_setfilter referenced in function __pyx_pf_4pcap_4pcap_6setfilter
  pcap.obj : error LNK2019: unresolved external symbol pcap_compile referenced in function __pyx_pf_4pcap_4pcap_6setfilter
  pcap.obj : error LNK2019: unresolved external symbol pcap_dispatch referenced in function __pyx_pf_4pcap_4pcap_20dispatch
  pcap.obj : error LNK2019: unresolved external symbol pcap_sendpacket referenced in function __pyx_pf_4pcap_4pcap_24sendpacket
  pcap_ex.obj : error LNK2019: unresolved external symbol pcap_setmintocopy referenced in function pcap_ex_immediate
  pcap_ex.obj : error LNK2019: unresolved external symbol pcap_getevent referenced in function pcap_ex_fileno
  pcap_ex.obj : error LNK2019: unresolved external symbol pcap_setdirection referenced in function pcap_ex_setdirection
  pcap_ex.obj : error LNK2019: unresolved external symbol pcap_setnonblock referenced in function pcap_ex_setnonblock
  pcap_ex.obj : error LNK2019: unresolved external symbol pcap_getnonblock referenced in function pcap_ex_getnonblock
  pcap_ex.obj : error LNK2019: unresolved external symbol pcap_next_ex referenced in function pcap_ex_next
  pcap_ex.obj : error LNK2019: unresolved external symbol pcap_compile_nopcap referenced in function pcap_ex_compile_nopcap
  build\lib.win-amd64-2.7\pcap.pyd : fatal error LNK1120: 29 unresolved externals
  error: command 'C:\\Users\\Jack\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\link.exe' failed with exit status 1120

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions