RenderKit / oidn

Intel® Open Image Denoise library
https://www.openimagedenoise.org/
Apache License 2.0
1.74k stars 160 forks source link

Building oidn on Ubuntu 18.04 ARM64 #125

Closed nyue closed 2 years ago

nyue commented 2 years ago

Hi,

Using 1.4.1 code base as a reference, I am able to build oidn on Ubuntu 18.04 Intel x86_64

However, attempting to build the same code base on Ubuntu 18.04 ARM64 produces these errors, I am wondering if others have encountered similar errors and how it can be resolved ?

[  8%] Built target common
[ 10%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_nrm.tza
[ 13%] Building ISPC object /home/picocluster/projects/oidn/build/local__core/color.dev.o
[ 15%] Building ISPC object /home/picocluster/projects/oidn/build/local__core/input_reorder.dev.o
[ 17%] Building ISPC object /home/picocluster/projects/oidn/build/local__core/output_copy.dev.o
[ 19%] Building ISPC object /home/picocluster/projects/oidn/build/local__core/output_reorder.dev.o
[ 21%] Building ISPC object /home/picocluster/projects/oidn/build/local__core/upsample.dev.o
[ 23%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_alb.tza
[ 26%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_hdr.tza
[ 28%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_hdr_alb.tza
[ 30%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_hdr_alb_nrm.tza
[ 32%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_hdr_calb_cnrm.tza
[ 34%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_ldr.tza
[ 36%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_ldr_alb.tza
[ 39%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_ldr_alb_nrm.tza
[ 41%] Generating CXX source files from blob /home/picocluster/projects/oidn/oidn-1.4.1/weights/rt_ldr_calb_cnrm.tza
[ 43%] Building CXX object CMakeFiles/OpenImageDenoise.dir/core/api.cpp.o
[ 45%] Building CXX object CMakeFiles/OpenImageDenoise.dir/core/color.cpp.o
[ 47%] Building CXX object CMakeFiles/OpenImageDenoise.dir/core/device.cpp.o
[ 50%] Building CXX object CMakeFiles/OpenImageDenoise.dir/core/filter.cpp.o
[ 52%] Building CXX object CMakeFiles/OpenImageDenoise.dir/core/network.cpp.o
In file included from /home/picocluster/projects/oidn/oidn-1.4.1/core/network.cpp:5:0:
/home/picocluster/projects/oidn/oidn-1.4.1/core/pool.h:53:3: error: expected class-name before ‘{’ token
   {
   ^
/home/picocluster/projects/oidn/oidn-1.4.1/core/pool.h:80:10: error: ‘void oidn::PoolNode::execute()’ marked ‘override’, but does not override
     void execute() override
          ^~~~~~~
/home/picocluster/projects/oidn/oidn-1.4.1/core/pool.h:85:29: error: ‘std::shared_ptr<oidn::Tensor> oidn::PoolNode::getDst() const’ marked ‘override’, but does not override
     std::shared_ptr<Tensor> getDst() const override { return dst; }
                             ^~~~~~
/home/picocluster/projects/oidn/oidn-1.4.1/core/pool.h: In constructor ‘oidn::PoolNode::PoolNode(const oidn::Ref<oidn::Device>&, const std::shared_ptr<oidn::Tensor>&, const std::shared_ptr<oidn::Tensor>&)’:
/home/picocluster/projects/oidn/oidn-1.4.1/core/pool.h:62:9: error: class ‘oidn::PoolNode’ does not have any field named ‘BNNSNode’
       : BNNSNode(device),
         ^~~~~~~~
/home/picocluster/projects/oidn/oidn-1.4.1/core/pool.h:65:7: error: ‘BNNSLayerParametersPooling’ was not declared in this scope
       BNNSLayerParametersPooling params = {
       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/picocluster/projects/oidn/oidn-1.4.1/core/pool.h:75:7: error: ‘filter’ was not declared in this scope
       filter = BNNSFilterCreateLayerPooling(&params, nullptr);

Cheers

atafra commented 2 years ago

ARM is supported only on macOS (Apple Silicon). It's not possible to compile the library for Linux ARM64.