Open ILENIMARIUS opened 3 years ago
I encountered the same issue when loading the installed (make install) pylonsrc.
I am now using pylonsrc with pylon version 6 with similar modifications as you ILENIMARIUS and I am able to use the pylonsrc by loading the pylonsrc from my build directory by setting export GST_PLUGIN_PATH=/<MY_PATH>/gst-plugins-vision/build
Hello Thor,
Thank you for your answer.
There is only one mention for a gstreamer similar plugin path in /gst-plugins-vision/CMakeLists.txt at line 129 for windows version:
_get_filename_component(_PREFIX "${GSTREAMER_PLUGIN_DIR}/../" REALPATH)
else ()
set(PREFIX "/usr/lib")
endif ()
Additional I haven't found a system env variable called "GST_PLUGIN_PATH" .
Could you be more specific for instance, are you using from gst-plugins-vision -> libgstpylon (as plugin) with pylon6? or old pylonsrc plugin from zingmars repo with pylon6?
Could you be more specific with the steps and versions? Thank you!
I am using the GStreamer GST_PLUGIN_PATH env variable to load the libgstpylon plugin from the build directory, see more information here https://developer.gnome.org/gstreamer/stable/gst-running.html
You can also try different GStreamer plugin directories by running:
gst-launch-1.0 -e --gst-plugin-path=<PathToGstPluginVisionBuildDir> pylonsrc ! bayer2rgb ! videoconvert ! xvimagesink
This is just a work around. Of course we would want the installed plugin to work which is installed with the make install
command.
@ILENIMARIUS, in order to make libpylonc
visible add /opt/pylon/lib
to LD_LIBRARY_PATH
. Or use the solution described here https://github.com/joshdoe/gst-plugins-vision/issues/55.
Your step 3
can be turned into pull request as CMake's find_library
can resolve different paths.
Step 4
is wrong, you should use cmake -DCMAKE_INSTALL_PREFIX=/usr/lib/aarch64-linux-gnu ..
in step 5
instead.
GST_PLUGIN_PATH
is not needed in this case. libgstpylon
is visible, as it is in a standard location, but libpylonc
is not. That is why you should use LD_LIBRARY_PATH
I can confirm that adding /opt/pylon/lib
to LD_LIBRARY_PATH
works, thanks @mrstecklo
Hello, When compiling and running pylonsrc with arm64 ubuntu 18.04 on both pylon version 6 or pylon version 5 I got: Error -> Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpylon.so': libpylonc-6.2.0.so: cannot open shared object file: No such file or directory
Please see below the steps used: _Pylon + gst-plugins-vision build/compilation steps:
install latest Pylon6 version:
Download
install on linux arm64:
download and build the new gst-plugins-vision: git clone https://github.com/joshdoe/gst-plugins-vision.git
adapt the modules .make to match the latest pylon version of folder naming:
cd ~/Downloads/gst-plugins-vision-1.17.1/cmake/modules
sudo nano FindPylon.cmake else () set (_PYLON_DIR "/opt/pylon5") -> modify this to "/opt/pylon" endif ()
&
find_library (_PylonCLib NAMES PylonC_MD_VC120 pylonc PATHS "${PYLON_DIR}/Development/lib/x64" "${PYLON_DIR}/lib64") modify this to -> "/lib"
modify the sistem location where gst-pylon-plugin should be installed:
build gst-plugins-vision cd gst-plugins-vision mkdir build cd build cmake .. make
sudo make install
Result:
(gst-inspect-1.0:27087): GStreamer-WARNING **: 17:51:15.211: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstpylon.so': libpylonc-6.2.0.so: cannot open shared object file: No such file or directory Could not load plugin file: Opening module failed: libpylonc-6.2.0.so: cannot open shared object file: No such file or directory pes@pes-desktop:~/Downloads/gst-plugins-vision-1.17.1/build$
This plugin displays the same error for Pylon5 also._