basler / gst-plugin-pylon

The official GStreamer plug-in for Basler cameras
BSD 3-Clause "New" or "Revised" License
40 stars 9 forks source link

Building on jetson orin nx deepstream 6.4 ubuntu 22 #95

Open erencerman opened 3 months ago

erencerman commented 3 months ago

Hi. I cannot install pylonsrc gst for Jetson Nx on Ubuntu 22 with Deepstream 6.4.

I have tried with pylon 7.4 and 7.3, both fails.

I have build system on SDK manager. DS 6.4 test samples work. Pylon camera works too. A Pylonsrc camera requires meson ninja as…:

ninja -C builddir test ninja: Entering directory `builddir’ [1/2] Running all tests. 1/1 generic_states FAIL 1.01s killed by signal 6 SIGABRT

GST_PLUGIN_SCANNER_1_0=/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner GST_PLUGIN_SYSTEM_PATH_1_0=‘’ GST_PLUGIN_PATH_1_0=/home/orin/Downloads/gst-plugin-pylon-main/builddir:/usr/lib/aarch64-linux-gnu/gstreamer-1.0:/usr/lib/aarch64-linux-gnu/gstreamer-1.0 GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:gst-plugin-pylon@/home/orin/Downloads/gst-plugin-pylon-main/builddir GST_STATE_IGNORE_ELEMENTS=’ ’ CK_DEFAULT_TIMEOUT=20 MALLOCPERTURB=30 GSETTINGS_BACKEND=memory ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 GST_REGISTRY=/home/orin/Downloads/gst-plugin-pylon-main/builddir/tests/check/generic_states.registry UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /home/orin/Downloads/gst-plugin-pylon-main/builddir/tests/check/generic_states ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀ ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― stderr: (generic_states:5025): GStreamer-WARNING **: 21:17:24.972: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.

(generic_states:5025): GStreamer-WARNING **: 21:17:25.576: Failed to load plugin ‘/home/orin/Downloads/gst-plugin-pylon-main/builddir/bindings/pygstpylon.cpython-310-aarch64-linux-gnu.so’: /home/orin/Downloads/gst-plugin-pylon-main/builddir/bindings/pygstpylon.cpython-310-aarch64-linux-gnu.so: undefined symbol: PyInstanceMethod_Type GLib (gthread-posix.c): Unexpected error from C library during ‘pthread_setspecific’: Invalid argument. Aborting. ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

Summary of Failures:

1/1 generic_states FAIL 1.01s killed by signal 6 SIGABRT

Ok: 0 Expected Fail: 0 Fail: 1 Unexpected Pass: 0 Skipped: 0 Timeout: 0

Full log written to /home/orin/Downloads/gst-plugin-pylon-main/builddir/meson-logs/testlog.txt FAILED: meson-internal__test /usr/local/bin/meson test --no-rebuild --print-errorlogs ninja: build stopped: subcommand failed.

LOG is AS follows: Log of Meson test suite run on 2024-03-22T21:17:24.951322

Inherited environment: LESSOPEN=‘| /usr/bin/lesspipe %s’ USER=orin XDG_SESSION_TYPE=x11 SHLVL=1 LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64: HOME=/home/orin DESKTOP_SESSION=ubuntu GNOME_SHELL_SESSION_MODE=ubuntu GTK_MODULES=gail:atk-bridge DBUS_STARTER_BUS_TYPE=session SYSTEMD_EXEC_PID=2521 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus,guid=72f53dc33c5c207045e998cb0000002c COLORTERM=truecolor IM_CONFIG_PHASE=1 GTK_IMMODULE=ibus LOGNAME=orin =/usr/local/bin/ninja XDG_SESSION_CLASS=user USERNAME=orin TERM=xterm-256color GNOME_DESKTOP_SESSION_ID=this-is-deprecated WINDOWPATH=2 PATH=/usr/local/cuda-12.2/bin:/home/orin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin SESSION_MANAGER=local/ubuntu:@/tmp/.ICE-unix/2521,unix/ubuntu:/tmp/.ICE-unix/2521 XDG_MENU_PREFIX=gnome- GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/d532de52_6168_4927_be36_ea14ac7d37d1 XDG_RUNTIME_DIR=/run/user/1000 DISPLAY=:1 LANG=en_US.UTF-8 XDG_CURRENT_DESKTOP=ubuntu:GNOME XMODIFIERS=@im=ibus XDG_SESSION_DESKTOP=ubuntu XAUTHORITY=/run/user/1000/gdm/Xauthority LS_COLORS=‘rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:’ GNOME_TERMINAL_SERVICE=:1.89 SSH_AGENT_LAUNCHER=gnome-keyring SSH_AUTH_SOCK=/run/user/1000/keyring/ssh SHELL=/bin/bash QT_ACCESSIBILITY=1 GDMSESSION=ubuntu LESSCLOSE=‘/usr/bin/lesspipe %s %s’ GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 QT_IM_MODULE=ibus PWD=/home/orin/Downloads/gst-plugin-pylon-main/builddir XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg PYLON_ROOT=/opt/pylon DBUS_STARTER_ADDRESS=unix:path=/run/user/1000/bus,guid=72f53dc33c5c207045e998cb0000002c XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop GENICAM_GENTL64_PATH=:/opt/pylon/lib/gentlproducer/gtl VTE_VERSION=6800

==================================== 1/1 ===================================== test: generic_states start time: 20:17:24 duration: 1.01s result: killed by signal 6 SIGABRT command: GST_PLUGIN_SCANNER_1_0=/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner GST_PLUGIN_SYSTEM_PATH_1_0=‘’ GST_PLUGIN_PATH_1_0=/home/orin/Downloads/gst-plugin-pylon-main/builddir:/usr/lib/aarch64-linux-gnu/gstreamer-1.0:/usr/lib/aarch64-linux-gnu/gstreamer-1.0 GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:gst-plugin-pylon@/home/orin/Downloads/gst-plugin-pylon-main/builddir GST_STATE_IGNORE_ELEMENTS=’ ’ CK_DEFAULT_TIMEOUT=20 MALLOCPERTURB=30 GSETTINGS_BACKEND=memory ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 GST_REGISTRY=/home/orin/Downloads/gst-plugin-pylon-main/builddir/tests/check/generic_states.registry UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /home/orin/Downloads/gst-plugin-pylon-main/builddir/tests/check/generic_states ----------------------------------- stderr -----------------------------------

(generic_states:5025): GStreamer-WARNING **: 21:17:24.972: External plugin loader failed. This most likely means that the plugin loader helper binary was not found or could not be run. You might need to set the GST_PLUGIN_SCANNER environment variable if your setup is unusual. This should normally not be required though.

(generic_states:5025): GStreamer-WARNING **: 21:17:25.576: Failed to load plugin ‘/home/orin/Downloads/gst-plugin-pylon-main/builddir/bindings/pygstpylon.cpython-310-aarch64-linux-gnu.so’: /home/orin/Downloads/gst-plugin-pylon-main/builddir/bindings/pygstpylon.cpython-310-aarch64-linux-gnu.so: undefined symbol: PyInstanceMethod_Type GLib (gthread-posix.c): Unexpected error from C library during ‘pthread_setspecific’: Invalid argument. Aborting. Summary of Failures:

1/1 generic_states FAIL 1.01s killed by signal 6 SIGABRT

Ok: 0 Expected Fail: 0 Fail: 1 Unexpected Pass: 0 Skipped: 0 Timeout: 0

.What could be the reason?

thiesmoeller commented 3 months ago

Error from testcode picking up the python extension during test.

Current code is not linking directly to python and expects that it gets loaded by python interpreter.

You can ignore the error for now. We need to check why gstreamer on JP 64 is loading the extension during test

erencerman commented 3 months ago

I just need the simple pylon gst to run Deepstream 6.4.

thiesmoeller commented 3 months ago

You call ninja -C builddir test

This executed the test, which cause an error in the b test.

Just call ninja -C builddir install

erencerman commented 3 months ago

Thanks for the help. Test is not the issue, I make ninja -C builddir install and apperently it seems to install without error, yet then, gst does not recognize pylon as a plug-in. gst-inspect-1.0 pylonsrc does not find it as installed...

erencerman commented 3 months ago

Maybe it builds "libgstpylon.so" and I have to define the LDpath or symlink?

thiesmoeller commented 3 months ago

no this shouldn't be required.

Could you please show the output of:

gst-inspect-1.0 fakesink | grep Filename

This will list the standard install directory of gstreamer plugins.

And list the output of

gst-inspect-1.0 -b

this will show if pylon plugin got blacklisted somehow.

and show the output of

ninja -C builddir install -v

This will show if somehow the plugin gets installed in the wrong place

erencerman commented 3 months ago

pylongst-log.txt Hi. Thanks. It seems to be blacklisted. The log is attached.

rm ~/.cache/gstreamer-1.0/registry.aarch64.bin

was not successful.. What would you suggest, how can I rescan or unblacklist? Is it because of

"0:00:00.033725172 6358 0xaaaae5951e00 INFO GST_INIT gst.c:833:init_post: GLib runtime version: 2.72.4 0:00:00.033738521 6358 0xaaaae5951e00 INFO GST_INIT gst.c:835:init_post: GLib headers version: 2.72.1" ?

thiesmoeller commented 3 months ago

You un+blacklist by deleting the registry from your log I can see that the rpath is not correctly set.

What is the meson version you use ?

We are using a feature of meson that was on deprecation list...

You can downgrade to e.g. meson. 1.0 by

pip install meson==1.0.0

erencerman commented 3 months ago

pip install meson==1.0.0 is not helpful either. Log : pylon-setup_log2.txt Any more suggestions?

Thanks a lot..

kostastsing commented 3 months ago

For dealing with (gst-plugin-scanner:22207): GStreamer-WARNING **: 14:48:56.269: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpylon.so': libGCBase_gcc_v3_1_Basler_pylon.so: cannot open shared object file: No such file or directory, you need to add /opt/pylon/lib to the LD_LIBRARY_PATH before executing gst-inspect-1.0 pylonsrc.

thiesmoeller commented 3 months ago

We can reproduce your issues now and are checking what in the combination of latest Ubuntu on latest jetpack triggers this regression

omerts commented 1 week ago

@thiesmoeller Any updates?