Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
uneseulevie opened this issue Jan 8, 2024 · 12 comments
Closed

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

uneseulevie opened this issue Jan 8, 2024 · 12 comments
Labels
question Further information is requested

Comments

@uneseulevie
Copy link

uneseulevie commented Jan 8, 2024

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 uneseulevie added the bug Something isn't working label Jan 8, 2024
@umireon umireon added question Further information is requested and removed bug Something isn't working labels Jan 8, 2024
@umireon
Copy link
Member

umireon commented Jan 8, 2024

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

export LANG=C

@uneseulevie
Copy link
Author

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.

@umireon
Copy link
Member

umireon commented Jan 8, 2024

Linux on the ARM architecture is not supported currently.

@umireon
Copy link
Member

umireon commented Jan 8, 2024

@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
Copy link
Author

uneseulevie commented Jan 8, 2024

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
Copy link
Member

umireon commented Jan 8, 2024

@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
Copy link
Author

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
Copy link
Member

umireon commented Jan 8, 2024

@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
Copy link
Author

uneseulevie commented Jan 8, 2024

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 umireon closed this as completed Jan 8, 2024
@umireon
Copy link
Member

umireon commented Jan 8, 2024

@royshil Should we provide the documentation for ARM Linux?

@royshil
Copy link
Collaborator

royshil commented Jan 8, 2024

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

@umireon
Copy link
Member

umireon commented Jan 8, 2024

Currently not easy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants