Building cycles standalone not working for me.?

Ok I have set my dirs correctly and got the lib files from Blende repo, I also had that openimage missing but that was fixed after setting the correct folder structure. So I think I am on the correct way.
I got now the following error:

Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.18363.
Found Boost 1.70.0 at H:/freecad/cyckes/lib/win64_vc15/boost/lib/cmake/Boost-1.70.0
  Requested configuration: QUIET REQUIRED COMPONENTS filesystem;regex;system;thread;date_time;wave
Found boost_headers 1.70.0 at H:/freecad/cyckes/lib/win64_vc15/boost/lib/cmake/boost_headers-1.70.0
Found boost_filesystem 1.70.0 at H:/freecad/cyckes/lib/win64_vc15/boost/lib/cmake/boost_filesystem-1.70.0
No suitable boost_filesystem variant has been identified!
  libboost_filesystem-vc141-mt-gd-x64-1_70.lib (vc141, detected vc142, set Boost_COMPILER to override)
  libboost_filesystem-vc141-mt-x64-1_70.lib (vc141, detected vc142, set Boost_COMPILER to override)
CMake Error at H:/freecad/cyckes/lib/win64_vc15/boost/lib/cmake/Boost-1.70.0/BoostConfig.cmake:95 (find_package):
  Found package configuration file:

    H:/freecad/cyckes/lib/win64_vc15/boost/lib/cmake/boost_filesystem-1.70.0/boost_filesystem-config.cmake

  but it set boost_filesystem_FOUND to FALSE so package "boost_filesystem" is
  considered to be NOT FOUND.  Reason given by package:

  No suitable build variant has been found.

Call Stack (most recent call first):
  H:/freecad/cyckes/lib/win64_vc15/boost/lib/cmake/Boost-1.70.0/BoostConfig.cmake:124 (boost_find_dependency)
  C:/Program Files/CMake/share/cmake-3.20/Modules/FindBoost.cmake:594 (find_package)
  src/cmake/external_libs.cmake:377 (find_package)
  CMakeLists.txt:101 (include)


Configuring incomplete, errors occurred!
See also "H:/freecad/cyckes/build/CMakeFiles/CMakeOutput.log".

I am running Cmake gui version 3.20
Edit did some googling and I had to set: -DBoost_NO_BOOST_CMAKE=ON
results:
Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.18363.
Looking for pthread.h
Looking for pthread.h - not found
Found Threads: TRUE
Found Boost: H:/freecad/cyckes/lib/win64_vc15/boost/include (found suitable version “1.70.0”, minimum required is “1.48”) found components: filesystem regex system thread date_time wave chrono atomic serialization
Found Embree: optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree3.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree3_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree_avx.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree_avx_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree_avx2.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree_avx2_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree_sse42.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/embree_sse42_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/lexers.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/lexers_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/math.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/math_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/simd.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/simd_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/sys.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/sys_d.lib;optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/tasking.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/embree/lib/tasking_d.lib (Required is at least version “3.8.0”)
Found OpenSubdiv: H:/freecad/cyckes/lib/win64_vc15/opensubdiv/lib/osdGPU.lib;H:/freecad/cyckes/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;H:/freecad/cyckes/cycles/…/lib/win64_vc15/openvdb/lib/openvdb.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/openvdb/lib/openvdb_d.lib
Found Blosc: optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/blosc/lib/libblosc.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/blosc/lib/libblosc_d.lib
Found OpenImageDenoise: H:/freecad/cyckes/lib/win64_vc15/openimagedenoise/lib/openimagedenoise.lib
Found TBB: optimized;H:/freecad/cyckes/cycles/…/lib/win64_vc15/tbb/lib/tbb.lib;debug;H:/freecad/cyckes/cycles/…/lib/win64_vc15/tbb/lib/debug/tbb_debug.lib
Found GLEW: H:/freecad/cyckes/cycles/…/lib/win64_vc15/opengl/lib/glew.lib
Configuring done
Generating done

Got it to work, just pressed build in Visual basic and got an exe file then ! had to move 2 dll files from the lib directories to make it work. And I still get an error when exiting, but it works!
Bedankt allemaal! Thank you! Hopefully we get the Linux version also up and running!
afbeelding

I can confirm this file exists, so I’m guessing the structure is the same

../cycles-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a

I have now installed freeglut3-dev and mesa-common-dev and the error now is:

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find OpenImageIO (missing: OPENIMAGEIO_LIBRARY
  OPENIMAGEIO_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  src/cmake/Modules/FindOpenImageIO.cmake:63 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/cmake/external_libs.cmake:231 (find_package)
  CMakeLists.txt:101 (include)


-- Configuring incomplete, errors occurred!
See also "/home/mac/cycles-git/cycles/bin-opt/CMakeFiles/CMakeOutput.log".
See also "/home/mac/cycles-git/cycles/bin-opt/CMakeFiles/CMakeError.log".
make: *** [Makefile:13: release] Error 1

see my other response as to the current error message.

It appears to me there is a list of dependencies that are not met by the pre-compiled libs as described in the Cycles web page describing how to build this. (Maybe the list is different on Ubuntu 20.04 compared to CentOS?)

For FreeCAD I’d indeed suggest to use Blender rather than Cycles standalone. As a bonus you’d get Eevee rendering support.

I’ll look into automating the Cycles standalone build more with makefiles similar to Blender, to automatically check out the appropriate libraries and configure things correctly. But I don’t think this will ever be a good solution for end users, they simply should not have to build anything from source.

For the problem @drmacro is having, it’s hard to say. Two guesses:

  • You’re not building on a computer with x86-64 architecture, like an Arm processor or 32 bit Intel/AMD.
  • There exists an empty/incomplete lib/linux_x86_64 folder that Cycles tries to use instead.

Hmm… AMD FX™-6350

lib folder is full of what ever svn puts there with the following:

svn checkout https://svn.blender.org/svnroot/bf-blender/tags/blender-2.92-release/lib/linux_centos7_x86_64

I absolutely agree about the end user not having to compile.

I ran into this rabbit hole attempting help someone else. :thinking:

Now I would help you but I don’t have a linux installation that is cabaple of running Freecad and other heavy stuff :slight_smile: I do get a new hard-disk saterday on which I intent to install Linux on.

@howtuft said that he compiled it for linux and that it wasn’t that difficult.

About that use Blender, this is not a substitute to Blender it is just a quick render option. Ideal would be if there was a “open in Blender” option in the workbench next to the quick render. Maybe @howetuft has some time to make this :slightly_smiling_face: Maybe it is easy to do?
Almost every Cad program has a similar system, although the open in Blender option is always “Open in our very expensive render program that we sell you separately”.

About using Blender instead of Cycles Standalone:
Sure, FreeCAD users would be really happy to use Eevee to render their models! But we encounter a problem with Blender in our rendering workflow: indeed, we export to renderers (running renderers from inside FreeCAD on an exported file), so we need the targeted renderers to accept a rather standard file format as an input, like xml, json or even proprietary renderers’ SDL, as soon as these are text file formats.
To the contrary, blend file format, as a binary format, is beyond our capabilities… That’s why we targeted Cycles Standalone rather than Blender.

The only way I see to overcome this would be to export a Python script from FreeCAD to Blender to describe the scene, but I am a bit reluctant to inject some Python code from an application to another, from a security point of view (maybe I’m too paranoiac…).

I also suggested above to make Cycles Standalone directly available from Blender command line, something like: blender --cycles-standalone [cycles-options] scene.xml which would trigger Cycles only.
It would allow sheer Cycles users to benefit from Blender binaries without compiling from sources. There was no interest at the time, but I try again, I think it would be a smart and easy solution!

Hello @LazyDodo,
Recently I compiled Cycles as suggested in https://developer.blender.org/diffusion/C/, everything goes fine, but when i execute ./cycles scene_monkey.xml, i got:

Unknown shader node “sky_texture”.
Unknown shader node “background”.
Unknown shader node name “tex”.
Unknown shader node name “bg”.
Unknown shader node name “bg”.
Unknown shader node “noise_texture”.
Unknown shader node “glass_bsdf”.
Unknown shader node name “tex”.
Unknown shader node name “monkey_closure”.
Unknown shader node name “monkey_closure”.
Unknown shader node “checker_texture”.
Unknown shader node “glossy_bsdf”.
Unknown shader node name “checker”.
Unknown shader node name “floor_closure”.
Unknown shader node name “floor_closure”

My os is MacOS, Any idea about this error ? Thanks!

I confirm. I encountered the same issue and I filed a bug (https://developer.blender.org/T87317), but unfortunately got no response at this time…
Many thanks in advance if someone can solve the problem!

1 Like

hi @howetuft, have you solved the “rendering totally black” problem? Thanks!

Hello @redips,

Not me, but yes, the issue has been fixed - thanks to Brecht! You can get more detail in the task (https://developer.blender.org/T87317).

1 Like

When I click the link “here”, nothing happened. And i check the html source as “here” looks like here have no url. Dose this my Internet questions or others?

fixed the link! the h in https went missing and it just decided to take out the whole thing… but just in case it’s still broken the 2.92 libs for windows are available at

https://svn.blender.org/svnroot/bf-blender/tags/blender-2.92-release/lib/win64_vc15/