OpenEXR build error on Linux and Arm64

A bit more info, just tried this with master following the instructions here. Got a failure to build OpenColorIO and OpenImageIO, both are failing due to cmake not being properly configured I think?
Take a look at the error message

CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find OpenEXR: Found unsuitable version "1.6.1", but required is
  at least "2.0" (found ILMBASE_INCLUDE_PATH-NOTFOUND)
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:391 (_FPHSA_FAILURE_MESSAGE)
  src/cmake/modules/FindOpenEXR.cmake:130 (find_package_handle_standard_args)
  src/cmake/externalpackages.cmake:90 (find_package)
  src/cmake/externalpackages.cmake:191 (checked_find_package)
  CMakeLists.txt:116 (include)

I ran the following command

$ sudo apt list --installed | grep openexr

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libopenexr24/focal-updates,focal-security,now 2.3.0-6ubuntu0.5 arm64 [installed,automatic]
openexr/focal-updates,focal-security,now 2.3.0-6ubuntu0.5 arm64 [installed]

So openexr is installed, but for some reason cmake is configured so it looks somewhere else?
I can keep skipping components that require openEXR, but given I intend to render on an AWS arm based instance and save the results to openEXR format, I don’t think there’s any point going through with the build until I can modify the config to find the right version of openEXR.

Any help appreciated :slight_smile:

Ok, update on this, the issues with OpenImageIO were fixed somewhat spookily by

sudo apt-get install libopenexr-dev

but then after managing to get a little further I finally ran into

[ 84%] Built target oslcomp
[ 85%] Linking CXX shared library ../../lib/liboslexec.so
[ 85%] Built target oslexec
make: *** [Makefile:152: all] Error 2
ERROR! OpenShadingLanguage-1.11.10.0 failed to compile, exiting

This is where I got to and had to stop. I understand that there has recently been some efforts to make blender build on aarch64 but its tricky to get it to work given the above experiences I had.

Still trying…

Next step was to follow the instructions of the intro text of the install_dependencies.sh which instruct to clean the src/blender_deps folder and /opt/lib folders completely to give the script the best chance of working, no dice still got an error, only slightly different this time.

 83%] Building CXX object src/liboslexec/CMakeFiles/oslexec.dir/osllex.cpp.o
[ 84%] Building CXX object src/liboslexec/CMakeFiles/oslexec.dir/llvm_ops.cpp.o
[ 85%] Linking CXX shared library ../../lib/liboslexec.so
[ 85%] Built target oslexec
make: *** [Makefile:152: all] Error 2
ERROR! OpenShadingLanguage-1.11.10.0 failed to compile, exiting

There doesn’t appear to be a way past this as far as I can tell. Heck I am playing a script kiddie here just following the build instructions with little idea what goes on and hoping they work.

They don’t.

But that’s ok, I guess this is what open source is good for, getting problems like this ‘out there’ so they can be fixed. Though I hate to admit, I am not capable of fixing this issue, need help!!

From the relevant change:
https://developer.blender.org/D10958

I focused on the “make deps” workflow, since with the resulting precompiled libraries one can build Blender on Linux systems that have older packages than the ones Blender requires (e.g. Ubuntu 18.04). So the “install_deps.sh” workflow may not fully work on aarch64 still.

So what you’re trying to do indeed is not known to work.

Partial build logs are not good for finding the root cause of issues. Showing the full commands you ran and the full resulting output helps to find the actual issue.

Yep, I reckon I pretty much confirmed that, hoping by reviving this thread we can get it to work though?

I’ve tried a lot of stuff, I might wait posting until I’ve found a path that actually can build the required dependencies first. If not then I’ll do a clean run and post the logs from that.

Also it would help to know if the install_deps.sh records its logs somewhere? If not I can save he screen buffer, but I’d like to know if it captures its own logs. I saw something about a build notes file, but it wasn’t generated.

Hi, I never got all dependencies build on Opensuse, for example, so it is recomended to use the prebuild libaries as descipted on the wiki with SVN.
If you fix OpenEXR next is OSL and so forth.

Cheers, mib

There are no prebuilt libraries for Linux Arm64.

I don’t know of a log for install deps, just piping the output to a text file should work.

1 Like

Just a quick update here, it turns out that Blender 2.82 is actually available on aarch64 via Ubuntu. I believe you need to have Ubuntu 18.04 or greater installed on the device/system. You can then simply do sudo apt get Blender.

I’ve tested this in the cloud with an AWS C6 node and another user has tested it with a Raspberry Pi running Ubuntu.

I also tested the crowdrender addon with these setups and it worked on both systems allowing distributed/network rendering on arm systems. Its possible that other’s might be interested in doing the same since a lot of people contact me asking for support for the Raspberry Pi as a way to distribute rendering.

The only issue here is that the latest version we can get to run is 2.82, which lacks the latest improvements to cycles and other features such as geometry nodes. I was hoping there might be a way to get in touch with the package maintainer and see if I can help them out, at least with testing, so we can get the supported version of Blender up to at least 2.93.

Do you have any idea how to go about contacting the maintainers of the Ubuntu Blender package? Or do you perhaps know who that is?

Thanks!

Information about the package is here:
https://tracker.debian.org/pkg/blender

It might not have all the same features or library dependency versions matching official Blender releases though. So you may encounter differences in renders.

If you want help building from source, posting full build logs will help.

G’day Brecht, ok, I’ll try to get you guys some logs. Should I post them here or is there an issue in the tracker already for this? If not should I create one?

You can post the logs here, maybe upload them to Login and link them.