Hello, I have read Larry Gritz's and Till Dechent's answer, but these won't be in my reply, since I've subscribed to the mailing list just now (I somehow expected to receive direct replies).
We managed to find a workaround, and maybe this will help others. Most likely, one or more) boost libraries use/include "boost/winapi/dbghelp.hpp" and that why the "dbgeng.dll" dependency appears on Windows. I didn't have the time to research which boost library; a quick search didn't yield anything. The solution was to add more libraries from the dependency tree into the installer (I guess their versions must match): "dbgeng.dll", "dbghelp.dll", "DbgModel.dll" Windows installations come with older version of these DLL-s. Debugging Tools for Windows, which also ships with Visual Studio, needs to be installed for newer versions -- it's also a possibility (less likely) that Visual Studio somehow introduces the dependency. Thank you for your quick answers. Radu Arjocu Software Engineer • Masstech Innovations Inc. • www.masstech.com<http://www.masstech.com><http://www.masstech.com> ________________________________ From: Radu Arjocu Sent: Monday, July 13, 2020 17:24 To: oiio-dev@lists.openimageio.org <oiio-dev@lists.openimageio.org> Subject: OIIO DLL loading failure because of dbghelp.dll (used by dbgeng.dll) Hello, This is my second email to you. I am building OIIO through Vcpkg, CMake and Visual Studio 2019. Vcpkg currently builds OIIO 2.1.16.0, and I have used "core, libraw, opencolorio, openjpeg, webp, tools" components/flags in building OIIO. I have used the Vcpkg toolchain in CMake to generate the VS solution (projects) for OIIO, and have added the modifications discussed in the first email (reading DPX from memory & fixing Windows long paths) onto OIIO release 2.1.17.0, then built the final "OpenImageIO.dll" and "OpenImageIO_Util.dll". We want to use OIIO in our products that deploy/install on multiple Windows versions (mostly servers): Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019, Windows Server 10 different flavors, Windows 7 SP3 -- all 64-bit and our products are 64-bit. While testing on different Windows machines and environments, there is a Windows 10 machine in that OIIO fails to load with the following message: "The procedure entry point SymEnumSymbolsExW could not be located in the dynamic link library C:\WINDOWS\SYSTEM32\dbgeng.dll" The culprit is actually "dbghelp.dll" used by "dbgeng.dll". As an initial fix, I have added "dbghelp.dll" into the installer, but this seems to cause the installer to fail on Win Server 2016. It seems to me that different versions of dbgeng.dll in the OS need specific versions of dbghelp.dll, with other DLL on the cain of dependecies. So, my questions are: * Is there a was to disable the OIIO dependency on "dbgeng.dll" (e.g. a compile switch)? -- this would be our preferred option * If not, has anyone encountered a problem like this and has another fix/workaround? Thank you, Radu Arjocu Software Engineer • Masstech Innovations Inc. • www.masstech.com<http://www.masstech.com><http://www.masstech.com>
_______________________________________________ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org