occ-ai / obs-backgroundremoval

An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming.
GNU General Public License v2.0
2.7k stars 185 forks source link

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

Closed uneseulevie closed 6 months ago

uneseulevie commented 6 months ago

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_GLOBALN_16RowSumIhiEESaIS4_ELN9gnu_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.

umireon commented 6 months ago

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

export LANG=C
uneseulevie commented 6 months ago

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_GLOBALN_16RowSumIhiEESaIS4_ELN9gnu_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.

umireon commented 6 months ago

Linux on the ARM architecture is not supported currently.

umireon commented 6 months ago

@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
uneseulevie commented 6 months ago

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

umireon commented 6 months ago

@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
uneseulevie commented 6 months ago

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!

umireon commented 6 months ago

@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
uneseulevie commented 6 months ago

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

umireon commented 6 months ago

@royshil Should we provide the documentation for ARM Linux?

royshil commented 6 months ago

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

umireon commented 6 months ago

Currently not easy.