Share via


LINK : fatal error LNK1104: cannot open file 'uuid.lib'

Question

Friday, March 15, 2019 1:27 PM

I am facing the below error while trying to install apache-airflow in windows using PIP3 command (C:\Users\ekranga\AppData\Local\Programs\Python\Python37>pip3 install apache-airflow)

    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC
\14.16.27023\bin\HostX86\x86\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFE
ST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:c:\users\ekranga\appdata\local\programs\p
ython\python37\libs /LIBPATH:c:\users\ekranga\appdata\local\programs\python\pyth
on37\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2017
\BuildTools\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x86" "/LIBPATH:C:\Program Files
 (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\lib\x86
" /EXPORT:PyInit_setproctitle build\temp.win-amd64-3.7\Release\src/setproctitle.
obj build\temp.win-amd64-3.7\Release\src/spt_debug.obj build\temp.win-amd64-3.7\
Release\src/spt_setup.obj build\temp.win-amd64-3.7\Release\src/spt_status.obj bu
ild\temp.win-amd64-3.7\Release\src/spt_strlcpy.obj /OUT:build\lib.win-amd64-3.7\
setproctitle.cp37-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.7\Release\src\set
proctitle.cp37-win_amd64.lib
    LINK : fatal error LNK1104: cannot open file 'uuid.lib'
    error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Buil
dTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\link.exe' failed with e
xit status 1104

All replies (1)

Sunday, March 17, 2019 11:24 AM

The library uuid.lib is part of the Windows SDK. If you don't set up the build environment to include these paths (you usually use the batch files) then you need to add the Windows SDK library directory to the path too. The Windows 10 SDK, which should be installed along side Visual Studio 2017, should be installed in C:\Program Files (x86)\Windows Kits\10, so the library directory is in the directory lib under this.

Although I noticed something important, the build implies that it is building the x64 version (tmp.win-amd64-3.7) but the paths that it is using to get libraries from are the x86 libraries. If this is true then this will fail to build.

This is a signature. Any samples given are not meant to have error checking or show best practices. They are meant to just illustrate a point. I may also give inefficient code or introduce some problems to discourage copy/paste coding. This is because the major point of my posts is to aid in the learning process.