occ-ai/obs-backgroundremoval

Cant compile on asahi linux (aarch64 linux on mac hardware)

Closed this issue · 12 comments

Hello,
Thanks for your plugin I'd like sooo much to use. I am using asahi linux fedora edition.
I got an error when compiling (but quite a real newb at compiling)
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
I saw #374 but ENABLE_QT seems ON and #375 but could not get through my pb

[me@obs-backgroundremoval]$ .github/scripts/build-linux --skip-deps
=> Configuring obs-backgroundremoval...
Preset CMake variables:

CMAKE_POSITION_INDEPENDENT_CODE:BOOL="TRUE"
ENABLE_FRONTEND_API:BOOL="TRUE"
ENABLE_QT:BOOL="TRUE"

-- Configuring done (0.9s)
-- Generating done (0.0s)
-- Build files have been written to: /home/moi/11.Repos/obs-backgroundremoval/build_aarch64
=> Building obs-backgroundremoval...
[1/1] Linking CXX shared module obs-backgroundremoval.so
FAILED: obs-backgroundremoval.so
: && /usr/bin/c++ -fPIC -O2 -g -DNDEBUG -shared -o obs-backgroundremoval.so CMakeFiles/obs-backgroundremoval.dir/obs-backgroundremoval_autogen/mocs_compilation.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/plugin-main.c.o CMakeFiles/obs-backgroundremoval.dir/src/ort-utils/ort-session-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/obs-utils/obs-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/obs-utils/obs-config-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/update-checker/github-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/update-checker/update-checker.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/update-checker/UpdateDialog.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/background-filter-info.c.o CMakeFiles/obs-backgroundremoval.dir/src/background-filter.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/enhance-filter.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/enhance-filter-info.c.o -Wl,-rpath,/home/moi/11.Repos/obs-backgroundremoval/build_aarch64/_deps/onnxruntime-src/lib: /usr/lib64/libobs-frontend-api.so.30 _deps/onnxruntime-src/lib/libonnxruntime.so.1.16.3 src/update-checker/CurlClient/libCurlClient.a libplugin-support.a /usr/lib64/libQt6Widgets.so.6.6.0 /usr/lib64/libQt6Gui.so.6.6.0 /usr/lib64/libGLX.so /usr/lib64/libOpenGL.so /usr/lib64/libQt6Core.so.6.6.0 _deps/opencv-src/lib/libopencv_imgproc.a _deps/opencv-src/lib/libopencv_core.a _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a /usr/lib64/libobs.so.30 /usr/lib64/libcurl.so && :
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ~
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @!
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @ /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie P0 /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie p; /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie p*> /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @ /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @?G /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie m /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie n /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 0 /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie PB /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ܜ /usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie T
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie P
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie P<
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @t!
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie )
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie j.
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 6
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie D
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie PF
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie J
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie O
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie dR
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie S
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie T
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie /X
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie _[
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ]
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 0
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie psi
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie x
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie s
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ԃ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 𫅀
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie p
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @Ϗ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie Х
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 얀
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie P
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ;
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie е
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 0y
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie SĀ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 'ǀ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie Ȁ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ր
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie d􀫪
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie P
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie u
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie _
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie `
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 0>
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @/
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @o#
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie '
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ,
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 0
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 3
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie p6
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie :
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie <
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie Pq?
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie F
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie H
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie M
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie R
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie U
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie Y
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie в
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie pkd
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie g
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie g
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie p
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie m
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 8m
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie w
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ~
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie 0$
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie p
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ࠈ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @߉
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie

/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie ⒁
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie d
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie }
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie `̞
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie Pܞ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie Ǡ
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie P
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie

/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie P
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie @l
/usr/bin/ld : architecture i386:x86-64 du fichier d'entrée « %B » est incompatible avec la sortie *
/usr/bin/ld: _deps/opencv-src/lib/libopencv_imgproc.a(box_filter.dispatch.cpp.o): réadressage inconnu (0x4) dans la section « .text._ZNSt23_Sp_counted_ptr_inplaceIN2cv12cpu_baseline12_GLOBAL__N_16RowSumIhiEESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv »
/usr/bin/ld: la version de l'éditeur de liens – version 2.40-13.fc39 – est-elle dépassée ?
/usr/bin/ld : échec de l'édition de liens finale : mauvaise valeur
collect2: erreur: ld a retourné le statut de sortie 1
ninja: build stopped: subcommand failed.

@uneseulevie Can you provide us the logs in English? You can change the locale of commands by the following commands.

export LANG=C

Here it is ;)

.github/scripts/build-linux --skip-deps
=> Configuring obs-backgroundremoval...
Preset CMake variables:

CMAKE_POSITION_INDEPENDENT_CODE:BOOL="TRUE"
ENABLE_FRONTEND_API:BOOL="TRUE"
ENABLE_QT:BOOL="TRUE"

-- Configuring done (1.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/moi/11.Repos/obs-backgroundremoval/build_aarch64
=> Building obs-backgroundremoval...
[1/1] Linking CXX shared module obs-backgroundremoval.so
FAILED: obs-backgroundremoval.so
: && /usr/bin/c++ -fPIC -O2 -g -DNDEBUG -shared -o obs-backgroundremoval.so CMakeFiles/obs-backgroundremoval.dir/obs-backgroundremoval_autogen/mocs_compilation.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/plugin-main.c.o CMakeFiles/obs-backgroundremoval.dir/src/ort-utils/ort-session-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/obs-utils/obs-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/obs-utils/obs-config-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/update-checker/github-utils.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/update-checker/update-checker.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/update-checker/UpdateDialog.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/background-filter-info.c.o CMakeFiles/obs-backgroundremoval.dir/src/background-filter.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/enhance-filter.cpp.o CMakeFiles/obs-backgroundremoval.dir/src/enhance-filter-info.c.o -Wl,-rpath,/home/moi/11.Repos/obs-backgroundremoval/build_aarch64/_deps/onnxruntime-src/lib: /usr/lib64/libobs-frontend-api.so.30 _deps/onnxruntime-src/lib/libonnxruntime.so.1.16.3 src/update-checker/CurlClient/libCurlClient.a libplugin-support.a /usr/lib64/libQt6Widgets.so.6.6.0 /usr/lib64/libQt6Gui.so.6.6.0 /usr/lib64/libGLX.so /usr/lib64/libOpenGL.so /usr/lib64/libQt6Core.so.6.6.0 _deps/opencv-src/lib/libopencv_imgproc.a _deps/opencv-src/lib/libopencv_core.a _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a /usr/lib64/libobs.so.30 /usr/lib64/libcurl.so && :
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(box_filter.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_hsv.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_lab.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_rgb.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_yuv.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(contours.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(demosaicing.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(drawing.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(filter.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(hershey_fonts.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(morph.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(resize.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(shapedescr.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(stackblur.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(tables.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(templmatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(thresh.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(utils.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(resize.sse4_1.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(box_filter.sse4_1.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(filter.sse4_1.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_hsv.sse4_1.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_rgb.sse4_1.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_yuv.sse4_1.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(morph.sse4_1.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(resize.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(box_filter.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(filter.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_hsv.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_rgb.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(color_yuv.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(morph.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(approx.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(smooth.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(sumpixels.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(smooth.sse4_1.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(smooth.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(sumpixels.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(sumpixels.avx512_skx.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(bilateral_filter.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(median_blur.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(median_blur.sse4_1.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(bilateral_filter.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_imgproc.a(median_blur.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(alloc.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(arithm.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(arithm.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(array.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(buffer_area.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(channels.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(check.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(convert.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(convert_scale.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(copy.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(count_non_zero.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(datastructs.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(dxt.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(lapack.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(lda.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(logger.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(mathfuncs.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(mathfuncs_core.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matmul.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_c.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_decomp.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_expressions.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_iterator.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_operations.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_transform.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_wrap.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(mean.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(merge.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(minmax.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(norm.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(out.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(parallel.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(parallel.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(parallel_impl.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(pca.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(persistence.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(persistence_base64_encoding.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(persistence_json.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(persistence_types.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(persistence_xml.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(persistence_yml.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(rand.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(softfloat.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(split.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(stat.dispatch.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(sum.dispatch.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(system.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(tables.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(trace.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(umatrix.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(datafile.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(filesystem.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(logtagmanager.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(arithm.sse4_1.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matmul.sse4_1.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(stat.sse4_2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(mathfuncs_core.avx.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(mathfuncs_core.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(stat.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(arithm.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(convert.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(convert_scale.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(count_non_zero.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matmul.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(mean.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(merge.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(split.avx2.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(sum.avx2.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matmul.avx512_skx.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(glob.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(kmeans.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(matrix_sparse.cpp.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/libopencv_core.a(logtagconfigparser.cpp.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(crc32.c.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(deflate.c.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(gzclose.c.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(gzlib.c.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(gzread.c.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(gzwrite.c.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(inflate.c.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(inftrees.c.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(inffast.c.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(trees.c.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(uncompr.c.o)' is incompatible with aarch64 output
/usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(zutil.c.o)' is incompatible with aarch64 output /usr/bin/ld: i386:x86-64 architecture of input file _deps/opencv-src/lib/opencv4/3rdparty/libzlib.a(adler32.c.o)' is incompatible with aarch64 output
/usr/bin/ld: _deps/opencv-src/lib/libopencv_imgproc.a(box_filter.dispatch.cpp.o): unrecognized relocation type 0x4 in section `.text._ZNSt23_Sp_counted_ptr_inplaceIN2cv12cpu_baseline12_GLOBAL__N_16RowSumIhiEESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv'
/usr/bin/ld: is this version of the linker - version 2.40-13.fc39 - out of date ?
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Linux on the ARM architecture is not supported currently.

@uneseulevie Can you try the following command? Please install opencv with your package manager.

cmake . -B build_aarch64 \
  -DQT_VERSION=6 \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DENABLE_FRONTEND_API=ON \
  -DENABLE_QT=ON \
  -DUSE_SYSTEM_OPENCV=ON
  -DCUSTOM_ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.16.3/onnxruntime-linux-aarch64-1.16.3.tgz \
  -DCUSTOM_ONNXRUNTIME_HASH=SHA265=784dbef93b40196aa668d29d78294a81c0d21361d36530b817bb24d87e8730e8

cmake --build build_aarch64

sudo cmake --install build_aarch64 --prefix /usr

Still an error chich seems "stupid" but that i couldnt bypass, knowing that i've downloaded successfully the tgz from MS

-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Qt version found: 6
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found XKB: /usr/lib64/libxkbcommon.so (found suitable version "1.6.0", minimum required is "0.5.0")
-- Found WrapVulkanHeaders: /usr/include
-- Found OpenCV: /usr (found version "4.8.1") found components: core imgproc
-- Found CURL: /usr/lib64/libcurl.so (found version "8.2.1")
-- Configuring done (16.9s)
-- Generating done (0.0s)
-- Build files have been written to: /home/moi/11.Repos/obs-backgroundremoval/build_aarch64
bash: -DCUSTOM_ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.16.3/onnxruntime-linux-aarch64-1.16.3.tgz: No such file or directory

@uneseulevie The previous code lacks one backslash. Please try again with the following code.

rm -rf build_aarch64

cmake . -B build_aarch64 \
  -DQT_VERSION=6 \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DENABLE_FRONTEND_API=ON \
  -DENABLE_QT=ON \
  -DUSE_SYSTEM_OPENCV=ON \
  -DCUSTOM_ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.16.3/onnxruntime-linux-aarch64-1.16.3.tgz \
  -DCUSTOM_ONNXRUNTIME_HASH=SHA265=784dbef93b40196aa668d29d78294a81c0d21361d36530b817bb24d87e8730e8

cmake --build build_aarch64

sudo cmake --install build_aarch64 --prefix /usr

cmake . -B build_aarch64
-DQT_VERSION=6
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DENABLE_FRONTEND_API=ON
-DENABLE_QT=ON
-DUSE_SYSTEM_OPENCV=ON
-DCUSTOM_ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.16.3/onnxruntime-linux-aarch64-1.16.3.tgz
-DCUSTOM_ONNXRUNTIME_HASH=SHA265=784dbef93b40196aa668d29d78294a81c0d21361d36530b817bb24d87e8730e8
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Qt version found: 6
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found XKB: /usr/lib64/libxkbcommon.so (found suitable version "1.6.0", minimum required is "0.5.0")
-- Found WrapVulkanHeaders: /usr/include
CMake Error at /usr/share/cmake/Modules/ExternalProject.cmake:2986 (message):
URL_HASH is set to

SHA265=784dbef93b40196aa668d29d78294a81c0d21361d36530b817bb24d87e8730e8

but must be ALGO=value where ALGO is

MD5|SHA1|SHA224|SHA256|SHA384|SHA512|SHA3_224|SHA3_256|SHA3_384|SHA3_512

and value is a hex string.
Call Stack (most recent call first):
/usr/share/cmake/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
CMakeLists.txt:21 (ExternalProject_Add)

-- Configuring incomplete, errors occurred!

CMake Error at /usr/share/cmake/Modules/FetchContent.cmake:1650 (message):
CMake step for onnxruntime failed: 1
Call Stack (most recent call first):
/usr/share/cmake/Modules/FetchContent.cmake:1802:EVAL:2 (__FetchContent_directPopulate)
/usr/share/cmake/Modules/FetchContent.cmake:1802 (cmake_language)
/usr/share/cmake/Modules/FetchContent.cmake:2016 (FetchContent_Populate)
cmake/FetchOnnxruntime.cmake:54 (FetchContent_MakeAvailable)
CMakeLists.txt:52 (include)

-- Configuring incomplete, errors occurred!

@uneseulevie I'm sorry but there was a typo. Please try again with the following code.

rm -rf build_aarch64

cmake . -B build_aarch64 \
  -DQT_VERSION=6 \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DENABLE_FRONTEND_API=ON \
  -DENABLE_QT=ON \
  -DUSE_SYSTEM_OPENCV=ON \
  -DCUSTOM_ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.16.3/onnxruntime-linux-aarch64-1.16.3.tgz \
  -DCUSTOM_ONNXRUNTIME_HASH=SHA256=784dbef93b40196aa668d29d78294a81c0d21361d36530b817bb24d87e8730e8

cmake --build build_aarch64

sudo cmake --install build_aarch64 --prefix /usr

It worked !!!!!! and the plugin also works ! Thank you!
Shoud I close the case or tab as SOLVED ?

rm -rf build_aarch64

cmake . -B build_aarch64
-DQT_VERSION=6
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DENABLE_FRONTEND_API=ON
-DENABLE_QT=ON
-DUSE_SYSTEM_OPENCV=ON
-DCUSTOM_ONNXRUNTIME_URL=https://github.com/microsoft/onnxruntime/releases/download/v1.16.3/onnxruntime-linux-aarch64-1.16.3.tgz
-DCUSTOM_ONNXRUNTIME_HASH=SHA256=784dbef93b40196aa668d29d78294a81c0d21361d36530b817bb24d87e8730e8

cmake --build build_aarch64

sudo cmake --install build_aarch64 --prefix /usr
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Threads: TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Qt version found: 6
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found WrapOpenGL: TRUE
-- Found XKB: /usr/lib64/libxkbcommon.so (found suitable version "1.6.0", minimum required is "0.5.0")
-- Found WrapVulkanHeaders: /usr/include
-- Found OpenCV: /usr (found version "4.8.1") found components: core imgproc
-- Found CURL: /usr/lib64/libcurl.so (found version "8.2.1")
-- Configuring done (12.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/moi/11.Repos/obs-backgroundremoval/build_aarch64
[ 5%] Building C object CMakeFiles/plugin-support.dir/plugin-support.c.o
[ 11%] Linking C static library libplugin-support.a
[ 11%] Built target plugin-support
[ 16%] Building CXX object src/update-checker/CurlClient/CMakeFiles/CurlClient.dir/CurlClient.cpp.o
[ 22%] Linking CXX static library libCurlClient.a
[ 22%] Built target CurlClient
[ 27%] Automatic MOC and UIC for target obs-backgroundremoval
[ 27%] Built target obs-backgroundremoval_autogen
[ 33%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/obs-backgroundremoval_autogen/mocs_compilation.cpp.o
[ 38%] Building C object CMakeFiles/obs-backgroundremoval.dir/src/plugin-main.c.o
[ 44%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/ort-utils/ort-session-utils.cpp.o
[ 50%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/obs-utils/obs-utils.cpp.o
[ 55%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/obs-utils/obs-config-utils.cpp.o
[ 61%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/update-checker/github-utils.cpp.o
[ 66%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/update-checker/update-checker.cpp.o
[ 72%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/update-checker/UpdateDialog.cpp.o
[ 77%] Building C object CMakeFiles/obs-backgroundremoval.dir/src/background-filter-info.c.o
[ 83%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/background-filter.cpp.o
[ 88%] Building CXX object CMakeFiles/obs-backgroundremoval.dir/src/enhance-filter.cpp.o
[ 94%] Building C object CMakeFiles/obs-backgroundremoval.dir/src/enhance-filter-info.c.o
[100%] Linking CXX shared module obs-backgroundremoval.so
[100%] Built target obs-backgroundremoval
[sudo] password for moi:
-- Install configuration: "RelWithDebInfo"
-- Installing: /usr/lib64/obs-plugins/obs-backgroundremoval/libonnxruntime.so.1.16.3
-- Installing: /usr/lib64/obs-plugins/obs-backgroundremoval.so
-- Set runtime path of "/usr/lib64/obs-plugins/obs-backgroundremoval.so" to "$ORIGIN/obs-backgroundremoval"
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/config.json
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/effects
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/effects/blend_images.effect
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/effects/kawase_blur.effect
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/effects/mask_alpha_filter.effect
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/ar-EG.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/bn-IN.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/en-US.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/es-SP.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/fr-FR.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/hi-IN.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/it-IT.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/ja-JP.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/ko-KR.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/pt-BR.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/ru-RU.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/ta-IN.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/tr-TR.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/locale/zh-CN.ini
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/SINet_Softmax_simple.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/mediapipe.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/pphumanseg_fp32.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/rvm_mobilenetv3_fp32.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/selfie_segmentation.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/semantic_guided_llie_180x324.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/tbefn_fp32.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/tcmonodepth_tcsmallnet_192x320.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/uretinex_net_180x320.onnx
-- Installing: /usr/share/obs/obs-plugins/obs-backgroundremoval/models/zero_dce_180x320.onnx

@royshil Should we provide the documentation for ARM Linux?

@umireon can we build for linux aarch64 in our CI?

Currently not easy.