elan-ev / opencast-obs-plugin

GNU General Public License v2.0
8 stars 6 forks source link

Plugin could not be loaded with last OBS version #9

Closed stefanosgeo closed 4 years ago

stefanosgeo commented 4 years ago

I tried the last version from OBS and the plugin couldn't not be loaded

info: OBS 24.0.6-1 (linux) error: os_dlopen(/usr//lib/obs-plugins/libobsOpencastIngestPlugin.so->/usr//lib/obs-plugins/libobsOpencastIngestPlugin.so): libconfig++.so.9: cannot open shared object file: No such file or directory

warning: Module '/usr//lib/obs-plugins/libobsOpencastIngestPlugin.so' not loaded

also with an older version (21.0.2) I have the same problem

info: --------------------------------- error: os_dlopen(/usr//lib/x86_64-linux-gnu/obs-plugins/libobsOpencastIngestPlugin.so->/usr//lib/x86_64-linux-gnu/obs-plugins/libobsOpencastIngestPlugin.so): libconfig++.so.9: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden

warning: Module '/usr//lib/x86_64-linux-gnu/obs-plugins/libobsOpencastIngestPlugin.so' not loaded

Thanks in advance!!

lkiesow commented 4 years ago

The error is that a dependency cannot be found. Did you compile the plugin yourself? On which operating system did you test this?

I just compiled this against OBS 24.0.5 on Fedora 32 and had no problems.

stefanosgeo commented 4 years ago

Hi Lars, thanks for checking this .. No at first we download and copied the .so file, in the obs plugins folder [1].

We tried it both in XUbuntu 18.04 (OBR PC) and in my Archlinux system.

My colleague tried to build it without success. But I don't have the log files right now. Let me try to build and I will report back.

[1] https://elan-ev.github.io/opencast-obs-plugin/

lkiesow commented 4 years ago

I can probably try building this on a recent Ubuntu later today. Let's see…

lkiesow commented 4 years ago

@stefanosgeo, I've now successfully built this on Ubuntu 18.04. Here is what I did:

set -uex

apt update
apt install -y cmake git libcurl4-gnutls-dev libtinyxml2-dev g++ build-essential libobs-dev qtbase5-dev libconfig++-dev

cd
git clone https://github.com/elan-ev/lib-opencast-ingest.git
cd lib-opencast-ingest/
mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

cd
git clone https://github.com/elan-ev/opencast-obs-plugin.git
cd opencast-obs-plugin/libs/libOpencastIngest/include/
ln -s /root/lib-opencast-ingest/src/libOpencastIngest.h  
ln -s /root/lib-opencast-ingest/src/libOpencastIngest.hpp 
cd ../lib
ln -s /root/lib-opencast-ingest/build/libOpencastIngest_static.a  libOpencastIngest.a
cd ../../..
mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

If this works for you, maybe, you have time to add this as Ubuntu installation guide to the main README file ;-)

stefanosgeo commented 4 years ago

It's working in my system (Arch) let me test it in our Ubuntu machine and I will make a PR.

Again thanks for taking time to test it...

stefanosgeo commented 4 years ago

@lkiesow I get an libtinyxml2error when try to build lib-opencast-ingest in Ubuntu 18.04

obrs-test@OBRS-Test:~/test_obrs_oc_plugin/lib-opencast-ingest/build$ cmake --build . Scanning dependencies of target OpencastIngest_static [ 16%] Building CXX object CMakeFiles/OpencastIngest_static.dir/src/libOpencastIngest.cpp.o [ 33%] Linking CXX static library libOpencastIngest_static.a [ 33%] Built target OpencastIngest_static Scanning dependencies of target OpencastIngest [ 50%] Building CXX object CMakeFiles/OpencastIngest.dir/src/libOpencastIngest.cpp.o [ 66%] Linking CXX shared library libOpencastIngest.so /usr/bin/ld: /usr/local/lib/libtinyxml2.a(tinyxml2.o): relocation R_X86_64_PC32 against symbol `_ZN8tinyxml27StrPair5ResetEv' can not be used when making ein gemeinsames Objekt; recompile with -fPIC /usr/bin/ld: final link failed: Ungültiger Wert collect2: error: ld returned 1 exit status CMakeFiles/OpencastIngest.dir/build.make:96: recipe for target 'libOpencastIngest.so' failed make[2]: [libOpencastIngest.so] Error 1 CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/OpencastIngest.dir/all' failed make[1]: [CMakeFiles/OpencastIngest.dir/all] Error 2 Makefile:151: recipe for target 'all' failed make: *** [all] Error 2

Any idea?

stefanosgeo commented 4 years ago

@lkiesow ok seems like creating the build file, our PC used always used the old libtinyxml link in /usr/local/lib/libtinyxml2.a .

After deleting the .a old file, the build file assigned the correct path to tinyxml.so to /usr/lib/x86_64-linux-gnu/libtinyxml2.so

I will make a PR tomorrow to update the README installation instructions.