[SOLVED] Error building Blender bpy

Hello Blender community,
I need your help to build Blender as a Python module. I did successfully build it (version 3.2.1 + Cuda) once before, but now it does not work anymore (tried various versions from 3.2.1 to 3.3.0 with or without Cuda). I also tried from a fresh clone of the git repository just to be sure it was not something left by a previous build that was messing.
I am trying to build on Windows 11, using Visual Studio community 2019.

The first issue I encountered was about the openjpeg library :

C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(125,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(128): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(128,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(102,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(106): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(106,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\blender\source\blender\imbuf\intern\jp2.c(19,10): fatal error C1083: Impossible d'ouvrir le fichier include : 'openjpeg.h' : No such file or directory [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\imbuf\bf_imbuf.vcxproj]
    6 Avertissement(s)
    1 Erreur(s)

When I opened the generated project in VS, I realised that one module was looking for openjpeg 2.3 while the one downloaded in the lib folder was 2.5. I manually downloaded the 2.3 version and added it in the lib folder and could go further in the build (but is it safe to have multiple versions of the same lib in a project ?).

But now I am stuck with another error, at the very end of the build, while generating the python library, I get an linkage error bout Open Shading Language :

oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise1(float,int,float *)" (?simplexnoise1@pvt@OSL_v1_12@@YAMMHPEAM@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV43@H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise2(float,float,int,float *,float *)" (?simplexnoise2@pvt@OSL_v1_12@@YAMMMHPEAM0@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV43@1H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise3(float,float,float,int,float *,float *,float *)" (?simplexnoise3@pvt@OSL_v1_12@@YAMMMMHPEAM00@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@3@H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise4(float,float,float,float,int,float *,float *,float *,float *)" (?simplexnoise4@pvt@OSL_v1_12@@YAMMMMMHPEAM000@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@3@AEBV43@H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::gabor(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::gabor(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@0PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@2PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::gabor(class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GenericNoise::operator()<float,float>(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??$?RMM@GenericNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::gabor3(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV32@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@AEBV?$Dual@M$01@2@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::gabor3(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@0PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@2PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::gabor3(class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::pgabor(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class Imath_3_1::Vec3<float> const &,struct OSL_v1_12::NoiseParams const *)" (?pgabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Vec3@M@Imath_3_1@@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,class Imath_3_1::Vec3<float> const &,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@AEBV?$Vec3@M@Imath_3_1@@MPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::pgabor(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@0MMPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@2MMPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::pgabor(class OSL_v1_12::Dual<float,2> const &,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@MPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GenericPNoise::operator()<float,float>(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,float const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??$?RMM@GenericPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@AEBMPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::pgabor3(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class Imath_3_1::Vec3<float> const &,struct OSL_v1_12::NoiseParams const *)" (?pgabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV32@AEBV?$Vec3@M@Imath_3_1@@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,class Imath_3_1::Vec3<float> const &,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@AEBV?$Dual@M$01@2@AEBV?$Vec3@M@Imath_3_1@@MPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::pgabor3(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@0MMPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@2MMPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::pgabor3(class OSL_v1_12::Dual<float,2> const &,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@MPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@MPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
C:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\bin\Release\bpy.pyd : fatal error LNK1120: 16 externes non résolus [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]

osl is present in the lib folder but it is as if it was not the version needed.

What can I do about this ?

You are building Blender 3.2 or 3.3 with the lib folder for Blender 3.4 or 3.5. This causes both the openjpeg and OSL link issues.

Running make update should checkout the right version of the lib folder, assuming you are on a branch like blender-v3.3-release.

Hello @brecht , thanks for the quick answer.
As you adviced, I switched from the “v3.3.0” tag to the “blender-v3.3-release” branch

c:\Projects\Blender-build\blender>git status
On branch blender-v3.3-release
Your branch is up to date with 'origin/blender-v3.3-release'.

nothing to commit, working tree clean

I removed the existing lib folder and made a “make update”. It ended with a strange message :

A    C:\Projects\Blender-build\lib\win64_vc15\wintab\include\wintab.h
 U   C:\Projects\Blender-build\lib\win64_vc15
Révision 63100 extraite.
python not found, required for this operation

Strange because python in my system path.

c:\Projects\Blender-build\blender>python  --version
Python 3.10.5

After ‘make update’ was finished, I then launched a ‘make bpy’ and got this error again :

ÉCHEC de la build.

C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(125,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(128): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(128,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(102,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(106): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
C:\Projects\Blender-build\lib\win64_vc15\tbb\include\tbb/parallel_sort.h(106,1): warning C4180: qualificateur appliqué au type fonction n'a pas de sens ; ignoré [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\blender\gpencil_modifiers\bf_gpencil_modifiers.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise1(float,int,float *)" (?simplexnoise1@pvt@OSL_v1_12@@YAMMHPEAM@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV43@H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise2(float,float,int,float *,float *)" (?simplexnoise2@pvt@OSL_v1_12@@YAMMMHPEAM0@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV43@1H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise3(float,float,float,int,float *,float *,float *)" (?simplexnoise3@pvt@OSL_v1_12@@YAMMMMHPEAM00@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@3@H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "float __cdecl OSL_v1_12::pvt::simplexnoise4(float,float,float,float,int,float *,float *,float *,float *)" (?simplexnoise4@pvt@OSL_v1_12@@YAMMMMMHPEAM000@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::`anonymous namespace'::SimplexNoise::operator()(class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,int)const " (??RSimplexNoise@?A0xf6e9fd35@pvt@OSL_v1_12@@QEBAXAEAV?$Dual@M$01@3@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@3@AEBV43@H@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::gabor(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::gabor(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@0PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@2PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::gabor(class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GenericNoise::operator()<float,float>(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??$?RMM@GenericNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::gabor3(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV32@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@AEBV?$Dual@M$01@2@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::gabor3(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@0PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@2PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::gabor3(class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::NoiseParams const *)" (?gabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@PEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::pgabor(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class Imath_3_1::Vec3<float> const &,struct OSL_v1_12::NoiseParams const *)" (?pgabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Vec3@M@Imath_3_1@@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,class Imath_3_1::Vec3<float> const &,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@AEBV?$Vec3@M@Imath_3_1@@MPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::pgabor(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@0MMPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@2MMPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<float,2> __cdecl OSL_v1_12::pvt::pgabor(class OSL_v1_12::Dual<float,2> const &,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor@pvt@OSL_v1_12@@YA?AV?$Dual@M$01@2@AEBV32@MPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GenericPNoise::operator()<float,float>(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<float,2> &,class OSL_v1_12::Dual<float,2> const &,float const &,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??$?RMM@GenericPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@M$01@2@AEBV52@AEBMPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::pgabor3(class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class Imath_3_1::Vec3<float> const &,struct OSL_v1_12::NoiseParams const *)" (?pgabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV32@AEBV?$Vec3@M@Imath_3_1@@PEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> const &,class OSL_v1_12::Dual<float,2> const &,class Imath_3_1::Vec3<float> const &,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV52@AEBV?$Dual@M$01@2@AEBV?$Vec3@M@Imath_3_1@@MPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::pgabor3(class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@0MMPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,class OSL_v1_12::Dual<float,2> const &,float,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@2MMPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
oslexec.lib(opnoise.obj) : error LNK2019: symbole externe non résolu "class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> __cdecl OSL_v1_12::pvt::pgabor3(class OSL_v1_12::Dual<float,2> const &,float,struct OSL_v1_12::NoiseParams const *)" (?pgabor3@pvt@OSL_v1_12@@YA?AV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@MPEBUNoiseParams@2@@Z) référencé dans la fonction "public: void __cdecl OSL_v1_12::pvt::GaborPNoise::operator()(class OpenImageIO_v2_3::ustring,class OSL_v1_12::Dual<class Imath_3_1::Vec3<float>,2> &,class OSL_v1_12::Dual<float,2> const &,float,struct OSL_v1_12::ShaderGlobals *,struct OSL_v1_12::NoiseParams const *)const " (??RGaborPNoise@pvt@OSL_v1_12@@QEBAXVustring@OpenImageIO_v2_3@@AEAV?$Dual@V?$Vec3@M@Imath_3_1@@$01@2@AEBV?$Dual@M$01@2@MPEAUShaderGlobals@2@PEBUNoiseParams@2@@Z) [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
C:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\bin\Release\bpy.pyd : fatal error LNK1120: 16 externes non résolus [c:\Projects\Blender-build\build_windows_Bpy_x64_vc16_Release\source\creator\blender.vcxproj]
    6 Avertissement(s)
    17 Erreur(s)

Temps écoulé 00:14:05.67

[edit]
Just found this issue : Problems when running "make update" in cmd.exe (Help needed) - #3 by tempdevnova
Seems like “make update” must be launched twice to be complete. I’m trying this.

After ‘make update’ was executed the second time, it installed Python in the lib folder and the ‘make bpy’ ran succesfully.

Next step for me is to build it with Cuda and Optix enabled, but this is another story and this issue is closed for me.
Thanks again @brecht