Cycles build failed for the master branch on Window

Hello!
Cycles build failed for the master branch on Window with the following error:
LINK : fatal error LNK1181: cannot open input file ‘…\lib\win64_vc15\osl\lib\pugixml.lib’ [D:\Temp\Cycles\cycles\build\src\app\cycles.vcxproj]
Could anyone help me?

[I assume this is about the cycles standalone repro, if this is not the case, please clarify what you are trying to do]

Cycles recently got updated with the blender 2.93 release, you need to update your libraries to use the 2.93 SVN libraries now (previously 2.92)

Yes, cycles standalone repo.
I clone the repo (git://git.blender.org/cycles.git, master branch), then type “make update”. When libraries are downloaded successfully I type “make” and get this error.

I’ll get that sorted out, but that may not be today

Git pull and it should be building again, sorry about that!

2 Likes

Yes, it is building now. Thank you!

Hello!
I’ve got another compilation error with Cycles standalone build and can’t manage it by myself. I hope for you help!
Something is wrong with OSL library. Without OSL it compiles corretly.

Visual studio project files are generated but cycles_osl_shaders.vcxproj contains incorrect data in tag “Command”:

<CustomBuild Include="D:\Work\Cycles\cycles\build\CMakeFiles\48ec45932574b67c81fc315a83e7adbb\node_voronoi_texture.oso.rule">
  <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating node_voronoi_texture.oso</Message>
  <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">setlocal
-q -O2 -I"D:/Work/Cycles/cycles/src/kernel/shaders" -I"" -o D:/Work/Cycles/cycles/build/src/kernel/shaders/node_voronoi_texture.oso
.............

I have the latest version of Visual Studio 2019 and CMake installed. OSL library and other required libraries have been downloaded with ‘make update’.

cmake output:

D:\Work\Cycles\cycles>make
– Building for: Visual Studio 16 2019
– Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.29.30037.0
– The CXX compiler identification is MSVC 19.29.30037.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/MSVS/Community2019/VC/Tools/MSVC/14.29.30037/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/MSVS/Community2019/VC/Tools/MSVC/14.29.30037/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Found OpenGL: opengl32
– Found OpenImageIO: optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openimageio/lib/OpenImageIO.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openimageio/lib/OpenImageIO_Util.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openimageio/lib/OpenImageIO_d.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openimageio/lib/OpenImageIO_Util_d.lib
– Found PugiXML: D:/Work/Cycles/lib/win64_vc15/pugixml/lib/pugixml.lib
– Found JPEG: D:/Work/Cycles/lib/win64_vc15/jpeg/lib/libjpeg.lib (found version “80”)
– Found OpenJPEG: D:/Work/Cycles/cycles/…/lib/win64_vc15/openjpeg/lib/openjp2.lib
– Found TIFF: D:/Work/Cycles/lib/win64_vc15/tiff/lib/libtiff.lib (found version “4.1.0”)
– Found ZLIB: D:/Work/Cycles/cycles/…/lib/win64_vc15/zlib/lib/libz_st.lib (found version “1.2.11”)
– Found PNG: D:/Work/Cycles/lib/win64_vc15/png/lib/libpng.lib (found version “1.6.37”)
#define OPENEXR_VERSION_STRING “2.5.5”
– Found OpenEXR: optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/Half_s.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/Half_s_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/Iex_s.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/Iex_s_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/IlmImf_s.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/IlmImf_s_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/IlmThread_s.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/IlmThread_s_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/Imath_s.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openexr/lib/Imath_s_d.lib
– Found OpenColorIO: D:/Work/Cycles/lib/win64_vc15/opencolorio/lib/OpenColorIO.lib;D:/Work/Cycles/lib/win64_vc15/opencolorio/lib/pystring.lib (found version “2.0.0”)
– Looking for pthread.h
– Looking for pthread.h - not found
– Found Threads: TRUE
– Found Boost: D:/Work/Cycles/lib/win64_vc15/boost/include (found suitable version “1.73.0”, minimum required is “1.48”) found components: filesystem regex system thread date_time wave chrono atomic serialization
– Found Embree: optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree3.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree3_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree_sse42.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree_sse42_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree_avx.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree_avx_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree_avx2.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/embree_avx2_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/lexers.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/lexers_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/math.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/math_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/simd.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/simd_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/sys.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/sys_d.lib;optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/tasking.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/embree/lib/tasking_d.lib (Required is at least version “3.8.0”)
– Found OpenSubdiv: D:/Work/Cycles/lib/win64_vc15/opensubdiv/lib/osdGPU.lib;D:/Work/Cycles/lib/win64_vc15/opensubdiv/lib/osdCPU.lib
– Found OpenMP_C: -openmp (found version “2.0”)
– Found OpenMP_CXX: -openmp (found version “2.0”)
– Found OpenMP: TRUE (found version “2.0”)
– Found OpenVDB: optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/openvdb/lib/openvdb.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/openvdb/lib/openvdb_d.lib
– Found Blosc: optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/blosc/lib/libblosc.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/blosc/lib/libblosc_d.lib
– Found OpenImageDenoise: D:/Work/Cycles/lib/win64_vc15/openimagedenoise/lib/openimagedenoise.lib
– Found TBB: optimized;D:/Work/Cycles/cycles/…/lib/win64_vc15/tbb/lib/tbb.lib;debug;D:/Work/Cycles/cycles/…/lib/win64_vc15/tbb/lib/debug/tbb_debug.lib
– Found GLEW: D:/Work/Cycles/cycles/…/lib/win64_vc15/opengl/lib/glew.lib
– Configuring done
– Generating done
– Build files have been written to: D:/Work/Cycles/cycles/build
Microsoft (R) Build Engine version 16.10.1+2fd48ab73 for.NET Framework
(C) Microsoft Corporation. All Rights Reserved.

Checking Build System
Generating node_absorption_volume.oso
“-q” is not recognized as an internal or external command
C:\MSVS\Community2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: Custom build for ‘D:\Work\Cycles\cycles\build\CMakeFiles\48ec45932574b67c81fc
315a83e7adbb\node_absorption_volume.oso.rule;D:\Work\Cycles\cycles\build\CMakeFiles\48ec45932574b67c81fc315a83e7adbb\node_add_closure.oso.rule;
…skipped…
bb\node_wavelength.oso.rule;D:\Work\Cycles\cycles\build\CMakeFiles\48ec45932574b67c81fc315a83e7adbb\node_white_noise_texture.oso.rule;D:\Work\Cycles\cycles\build\CMakeFiles\48e
c45932574b67c81fc315a83e7adbb\node_wireframe.oso.rule;D:\Work\Cycles\cycles\build\CMakeFiles\fe75ffe090c3447aa15589230e49bb8c\cycles_osl_shaders.rule’ exited with code 9009. [D
:\Work\Cycles\cycles\build\src\kernel\shaders\cycles_osl_shaders.vcxproj]

Looks like it didn’t pickup on oslc.exe can you validate win64_vc15\osl\bin\oslc.exe exists in your library folder?

Yes, win64_vc15\osl\bin\oslc.exe exists.

Can reproduce, will fix.

1 Like

made some changes, give it another go!

1 Like

Now it compiles with OSL turned on, but when I turn off OSL in CMakeLists.txt - there is an error in debug build :))))) It is not a big problem for me but maybe you can fix it…

When I type make debug, I get the following error:

pugixml.lib(pugixml.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value
'2' in cycles_standalone.obj [D:\Work\Cycles\cycles\build\src\app\cycles.vcxproj]
pugixml.lib(pugixml.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't mat
ch value 'MDd_DynamicDebug' in cycles_standalone.obj [D:\Work\Cycles\cycles\build\src\app\cycles.vcxproj]

This happens because the debug build uses release version of pugixml library.

Also I have noticed that there are a lot of warnings about EMBREE_STATIC_LIB redefinition, what is very annoying. Possibly, you can remove add_definitions(-DEMBREE_STATIC_LIB) in src/CMakeLists.txt at line 268 because this define is already defined in lib\win64_vc15\embree\include\embree3\rtcore_config.h

cleaned up both, but for the pugi error you may need to start with a new build folder since cmake tends to cache those sorts of things.

I always make a clean build: delete a “build” folder and revert all changes in my local git repository before testing and reporting an error.

Thanks a lot for your help!