Closed DrHyperKALICH closed 2 years ago
Is where way to get or download compiled deb file somewhere?
Maybe some members of the community are providing deb files, but nobody in our team feels comfortable doing that because of the legal implications that may entail from experimenting with these codecs in software. So unfortunately the answer to that question is that we don't know.
Please help, i am getting a error on ubuntu 20.04 server.
As far as we know, the latest official packages for 20.04 are openwebrx 0.20.3 where AMBE decoding is still done with dsd
, i.e. a version where AMBE software support hasn't been stripped yet. For that version, you don't really need codecserver-softmbe
(in fact there is no codecserver
for that version), but from your build log, it looks like you are somehow running a newer version of openwebrx... Are you sure that you really have to run a more recent version of openwebrx? If that is really the case, our suggestion is to either run a setup where everything is installed from compatible deb packages, or to install everything from source without packages.
That said, we believe that you somehow installed a version of the libcodecserver
package that is not compatible with the version of libprotonbuf
that is currently installed. For example, the libcodecserver
package found in the official openwebrx repository for Hirsute Hippo (Ubuntu 21.04) expects libprotonbuf23
but Focal Fossa (Ubuntu 20.04) ships with libprotonbuf17
. In fact, this exact combination would yield the issue that you describe since the missing google/protobuf/port_def.inc
file simply isn't part of the Ubuntu version that you are running. Strictly speaking this is an issue with openwebrx or Ubuntu, but not with codecserver-softmbe
...
If all of the above assumptions are correct, you could recompile the codecserver
packages, install those and the proceed with the codecserver-softmbe
install. That would be relatively easy but this may not be particularly smart. Then again you already went down the rabbit hole of mixing incompatible stuff. This may help you to compile compatible codecserver
packages:
apt-get install libprotobuf-dev protobuf-compiler libudev-dev
git clone git@github.com:jketterl/codecserver.git
cd codecserver
dpkg-buildpackage
There may be typos in this as I'm putting this from memory. Upon success, you should end up with a bunch of *.deb
files in the parent directory. Install them all and try to compile codecserver-softmbe
once again.
All that said, it is not wise to use deb packages that are meant for a different version of your operating system...
Thanks for quick answer! I am successfully compiled and installed deb files
Finally i getting this
Hello, I'm the codecserver. now scanning for modules... registering new driver: "ambe3k" registering new driver: "softmbe" loading devices from configuration... registering new device for codecs: ambe, auto-detecing devices... scanning for "ambe3k" devices... scanning for "softmbe" devices... device scan complete.
All services restarted, codecserver and openwebrx
But openwebrx do not want decode or show DMR modulation :(
Digging into this a little further, you probably have the same issue with the digiham
package. DMR and other digital voice modes with proprietary codecs can only be decoded when digiham
is installed. Can you check if the package is installed? (dpkg -l digiham
). If it is not installed, can you try to install it? (apt install digiham
). If that attempt tells you that the libprotobuf23
dependency cannot be satisfied, you are hitting the same issue as before. Remember -- your version of Ubuntu ships with libprotobuf17
so technically this is again not a bug in our project.
You could proceed and build a deb package of digiham
using the same method. However, you have to make sure to compile version 0.5.0 of digiham
since more recent digiham
code requires a libcsdr
version that is more recent than what is in the repository. So the course of action would be (again from memory):
apt install libicu-dev libcsdr-dev
git clone -b 0.5.0 git@github.com:jketterl/digiham.git
cd digiham
dpkg-buildpackage
cd ..
dpkg -i digiham*.deb
service openwebrx restart
That should be the end of the dependency hell as far as I can see but you're already pretty deep down the rabbit hole :-). Also you may have to pin some of the packages that you installed this way, otherwise apt upgrade
may replace them with the official but incompatible version from the repo...
All works for now! Marked digiham package on hold.
Thanks for support!!!
Please help, i am getting a error on ubuntu 20.04 server. Is where way to get or download compiled deb file somewhere?
dpkg-buildpackage: info: source package codecserver-driver-softmbe dpkg-buildpackage: info: source version 0.0.1 dpkg-buildpackage: info: source distribution UNRELEASED dpkg-buildpackage: info: source changed by The Knatterfunkers knatterfunker@protonmail.com dpkg-buildpackage: info: host architecture amd64 dpkg-source --before-build . fakeroot debian/rules clean debian/rules:12: warning: overriding recipe for target 'override_dh_shlibdeps' debian/rules:9: warning: ignoring old recipe for target 'override_dh_shlibdeps' dh clean dh_auto_clean dh_clean dpkg-source -b . dpkg-source: info: using source format '3.0 (native)' dpkg-source: info: building codecserver-driver-softmbe in codecserver-driver-softmbe_0.0.1.tar.xz dpkg-source: info: building codecserver-driver-softmbe in codecserver-driver-softmbe_0.0.1.dsc debian/rules build debian/rules:12: warning: overriding recipe for target 'override_dh_shlibdeps' debian/rules:9: warning: ignoring old recipe for target 'override_dh_shlibdeps' dh build dh_update_autotools_config dh_autoreconf dh_auto_configure cd obj-x86_64-linux-gnu && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu .. -- The C compiler identification is GNU 9.3.0 -- The CXX compiler identification is GNU 9.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.6.1") -- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found suitable version "3.6.1", minimum required is "3.0") -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project:
-- Build files have been written to: /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu dh_auto_build cd obj-x86_64-linux-gnu && make -j2 make[1]: Entering directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' /usr/bin/cmake -S/home/kalich/git/codecserver-softmbe -B/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu/CMakeFiles /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[2]: Entering directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' make -f src/CMakeFiles/softmbe.dir/build.make src/CMakeFiles/softmbe.dir/depend make[3]: Entering directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' cd /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/kalich/git/codecserver-softmbe /home/kalich/git/codecserver-softmbe/src /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu/src /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu/src/CMakeFiles/softmbe.dir/DependInfo.cmake --color= Scanning dependencies of target softmbe make[3]: Leaving directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' make -f src/CMakeFiles/softmbe.dir/build.make src/CMakeFiles/softmbe.dir/build make[3]: Entering directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' [ 20%] Building CXX object src/CMakeFiles/softmbe.dir/softmbedevice.cpp.o cd /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu/src && /usr/bin/c++ -Dsoftmbe_EXPORTS -I/usr/include/codecserver -g -O2 -fdebug-prefix-map=/home/kalich/git/codecserver-softmbe=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -std=gnu++11 -o CMakeFiles/softmbe.dir/softmbedevice.cpp.o -c /home/kalich/git/codecserver-softmbe/src/softmbedevice.cpp [ 40%] Building CXX object src/CMakeFiles/softmbe.dir/softmbedriver.cpp.o cd /home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu/src && /usr/bin/c++ -Dsoftmbe_EXPORTS -I/usr/include/codecserver -g -O2 -fdebug-prefix-map=/home/kalich/git/codecserver-softmbe=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -std=gnu++11 -o CMakeFiles/softmbe.dir/softmbedriver.cpp.o -c /home/kalich/git/codecserver-softmbe/src/softmbedriver.cpp In file included from /usr/include/codecserver/device.hpp:3, from /usr/include/codecserver/driver.hpp:3, from /home/kalich/git/codecserver-softmbe/src/softmbedriver.hpp:3, from /home/kalich/git/codecserver-softmbe/src/softmbedriver.cpp:1: /usr/include/codecserver/proto/request.pb.h:10:10: fatal error: google/protobuf/port_def.inc: No such file or directory 10 | #include <google/protobuf/port_def.inc> | ^
~~~~~~~~~ compilation terminated. In file included from /usr/include/codecserver/device.hpp:3, from /home/kalich/git/codecserver-softmbe/src/softmbedevice.hpp:3, from /home/kalich/git/codecserver-softmbe/src/softmbedevice.cpp:1: /usr/include/codecserver/proto/request.pb.h:10:10: fatal error: google/protobuf/port_def.inc: No such file or directory 10 | #include <google/protobuf/port_def.inc> | ^~~~~~~~~~ compilation terminated. make[3]: [src/CMakeFiles/softmbe.dir/build.make:66: src/CMakeFiles/softmbe.dir/softmbedriver.cpp.o] Error 1 make[3]: Waiting for unfinished jobs.... make[3]: [src/CMakeFiles/softmbe.dir/build.make:79: src/CMakeFiles/softmbe.dir/softmbedevice.cpp.o] Error 1 make[3]: Leaving directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' make[2]: [CMakeFiles/Makefile2:97: src/CMakeFiles/softmbe.dir/all] Error 2 make[2]: Leaving directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' make[1]: [Makefile:133: all] Error 2 make[1]: Leaving directory '/home/kalich/git/codecserver-softmbe/obj-x86_64-linux-gnu' dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j2 returned exit code 2 make: [debian/rules:3: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2