Closed ptamb3 closed 1 year ago
These symbols should be part of libdl which should already be installed on ubuntu. Do you have libc6-dev installed?
I started working on Ubuntu 22, so I never tested version 20 explicitly. I'll setup a VM and give it a shot.
Okay, first, thanks for your feedback!
I found a solution and it should be available tomorrow.
You can pull the latest change and give it a shot!
You were right that the "-ldl" flag was missing within the gsoap-2.8 Makefile. It's missing because this is no longer required in newer versions. I don' t own this project, so I can't fix it directly, but I was able to force the flag anyway .
I also caught a few additional issues specific for this version of Ubuntu.
I'm looking forward to hear back.
Now I received only a few warnings! However, it got past the prior listed error.
aclocal: warning: couldn't open directory 'm4': No such file or directory
aclocal: warning: couldn't open directory 'm4': No such file or directory
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
Above maybe solved with the suggestions listed in https://bugzilla.redhat.com/show_bug.cgi?id=901333
and the below warnings kept repeating for different modules. However, those are being spit out from gsoap-2.8 project. An example for OnvifDiscoveryLib shown.
config.status: executing libtool commands
*****************************
*** compile OnvifDiscoveryLib ***
*** Make Args : ***
*****************************
CC /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/libonvifdisco_la-dom.lo
CC /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/libonvifdisco_la-stdsoap2.lo
CC src/libonvifdisco_la-discoverer.lo
CC src/libonvifdisco_la-onvif_discovery.lo
CC src/libonvifdisco_la-probmatch.lo
CC /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/plugin/libonvifdisco_la-wsaapi.lo
CC /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/plugin/libonvifdisco_la-wsddapi.lo
CC src/generated/libonvifdisco_la-soapClient.lo
CC src/generated/libonvifdisco_la-soapC.lo
In file included from /usr/include/string.h:495,
from /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.h:662,
from /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c:75:
In function ‘strncpy’,
inlined from ‘soap_wstring_in’ at /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c:16518:15:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c: In function ‘soap_wstring_in’:
/home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c:16514:20: note: length computed here
16514 | size_t k = strlen(tp->name);
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/string.h:495,
from /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.h:662,
from /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c:75:
In function ‘strncpy’,
inlined from ‘soap_string_in’ at /home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c:15763:15:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c: In function ‘soap_string_in’:
/home/user/Downloads/OnvifDeviceManager/subprojects/gsoap-2.8/gsoap/stdsoap2.c:15759:20: note: length computed here
15759 | size_t k = strlen(tp->name);
| ^~~~~~~~~~~~~~~~
CCLD libonvifdisco.la
*****************************
It's taking a while to compile on the machine I have. Will keep you posted once the compilation is successful.
Got a different error now with a warning prior libtool: warning: relinking 'libatopology.la'
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
Updating files: 100% (10458/10458), done.
*****************************
*** Copy repo from cache ***
*** /home/user/Downloads/OnvifDeviceManager/subprojects/.cache/gstreamer-1.22.3 ***
*****************************
*****************************
* Building Github Project ***
* Src dir : gstreamer ***
* Prefix : /home/user/Downloads/OnvifDeviceManager/subprojects/gstreamer/build/dist ***
*****************************
*****************************
*** Download Subprojects gstreamer ***
*****************************
setup patch :
*****************************
*** Meson Setup gstreamer ***
*****************************
./autogen.sh: line 479: /home/user/.local/bin/meson: No such file or directory
*****************************
*** Meson Setup failed gstreamer ***
*****************************
On my machine.
/usr/share/meson
/usr/share/doc/meson
/usr/bin/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/drivers/clk/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/drivers/gpu/drm/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/drivers/media/platform/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/drivers/media/cec/platform/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/drivers/firmware/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/drivers/pinctrl/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/drivers/staging/media/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/sound/soc/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-73/include/linux/firmware/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/drivers/clk/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/drivers/gpu/drm/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/drivers/media/platform/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/drivers/media/cec/platform/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/drivers/firmware/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/drivers/pinctrl/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/drivers/staging/media/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/sound/soc/meson
/usr/src/linux-hwe-5.15-headers-5.15.0-75/include/linux/firmware/meson
/usr/lib/firmware/meson
Okay, the issue was that autogen.sh was checking if meson was installed, but not the version. The script would only fallback if the tool isn't installed at all.
I improved it so that it will get the latest version from pip if it doesn't meet the minimum requirement.
Give it a shot a let me know!
Thanks again for this feedback, it allowed to improve the autogen script.
Okay so now seems like that process completed.
I see openh264 warning
gst-plugins-bad| Run-time dependency openh264 found: NO (tried pkgconfig and cmake)
Other warnings were:
Program dotnet-format found: NO
.
libdrm| Run-time dependency pciaccess found: NO (tried pkgconfig and cmake)
gst-plugins-bad| Dependency libva from subproject libva found: NO (subproject failed to configure)
libdrm| subprojects/libdrm-2.4.111/meson.build:237:16: Exception: Dependency "pciaccess" not found, tried pkgconfig and cmake
gst-plugins-bad| Header "faac.h" has symbol "faacEncOpen" : NO
gst-plugins-bad| Run-time dependency fdk-aac found: NO (tried pkgconfig and cmake)
Not sure if any of these are a blocker.
I will run make
and make install
gst-plugins-base 1.22.3
Plugins: app, audioconvert, audioresample, audiotestsrc, overlaycomposition, pbtypes, playback, rawparse, tcp, typefindfunctions, videoconvertscale, videorate, videotestsrc, volume, alsa,
ximagesink
gst-plugins-good 1.22.3
Plugins: audioparsers, autodetect, navigationtest, debug, interleave, alaw, mulaw, level, rtp, rtpmanager, rtsp, udp, video4linux2, png, pulseaudio
gstreamer 1.22.3
Plugins: coreelements
gstreamer-full 1.22.3
Build options gstreamer-full library : YES Tools :
Subprojects fdk-aac : YES gst-devtools : NO Feature 'devtools' disabled gst-editing-services : NO Feature 'ges' disabled gst-examples : NO Feature 'gst-examples' disabled gst-integration-testsuites : NO Feature 'devtools' disabled gst-libav : NO Feature 'libav' disabled gst-omx : NO Feature 'omx' disabled gst-plugins-bad : YES 4 warnings gst-plugins-base : YES 1 warnings gst-plugins-good : YES gst-plugins-rs : NO Feature 'rs' disabled gst-plugins-ugly : NO Feature 'ugly' disabled gst-python : NO Feature 'python' disabled gst-rtsp-server : NO Feature 'rtsp_server' disabled gstreamer : YES 3 warnings gstreamer-sharp : NO Feature 'sharp' disabled gstreamer-vaapi : NO Feature 'vaapi' disabled libdrm : NO Dependency "pciaccess" not found, tried pkgconfig and cmake libnice : NO Feature 'libnice' disabled libva : NO Neither a subproject directory nor a libva.wrap file was found. openh264 : YES
User defined options auto_features : disabled buildtype : release default_library : static includedir : include libdir : lib prefix : /home/user/Downloads/OnvifDeviceManager/subprojects/gstreamer/build/dist strip : True bad : enabled base : enabled good : enabled gpl : enabled glib:tests : false gst-plugins-bad:fdkaac : enabled gst-plugins-bad:nvcodec : enabled gst-plugins-bad:onvif : enabled gst-plugins-bad:openh264 : enabled gst-plugins-bad:v4l2codecs : enabled gst-plugins-bad:videoparsers : enabled gst-plugins-base:alsa : enabled gst-plugins-base:app : enabled gst-plugins-base:audioconvert : enabled gst-plugins-base:audioresample : enabled gst-plugins-base:audiotestsrc : enabled gst-plugins-base:overlaycomposition: enabled gst-plugins-base:pbtypes : enabled gst-plugins-base:playback : enabled gst-plugins-base:rawparse : enabled gst-plugins-base:tcp : enabled gst-plugins-base:typefind : enabled gst-plugins-base:videoconvertscale : enabled gst-plugins-base:videorate : enabled gst-plugins-base:videotestsrc : enabled gst-plugins-base:volume : enabled gst-plugins-base:x11 : enabled gst-plugins-good:audioparsers : enabled gst-plugins-good:autodetect : enabled gst-plugins-good:debugutils : enabled gst-plugins-good:interleave : enabled gst-plugins-good:law : enabled gst-plugins-good:level : enabled gst-plugins-good:png : enabled gst-plugins-good:pulse : enabled gst-plugins-good:rtp : enabled gst-plugins-good:rtpmanager : enabled gst-plugins-good:rtsp : enabled gst-plugins-good:udp : enabled gst-plugins-good:v4l2 : enabled libdrm:cairo-tests : false x264:cli : false
The logs seems truncated, but everything looks fine.
autogen.sh builds dependency and may show several warnings outside my control. If the script finished successfully, you should be good to compile the project now.
user@user-master-2004:~/Downloads/OnvifDeviceManager (main)$ make install
make[1]: Entering directory '/home/user/Downloads/OnvifDeviceManager'
/usr/bin/mkdir -p '/home/user/Downloads/OnvifDeviceManager/dist/bin'
/bin/bash ./libtool --mode=install /usr/bin/install -c onvifmgr '/home/user/Downloads/OnvifDeviceManager/dist/bin'
libtool: install: /usr/bin/install -c onvifmgr /home/user/Downloads/OnvifDeviceManager/dist/bin/onvifmgr
make[1]: Nothing to be done for 'install-data-am'.
make[1]: Leaving directory '/home/user/Downloads/OnvifDeviceManager'
user@user-master-2004:~/Downloads/OnvifDeviceManager (main)$ /home/user/Downloads/OnvifDeviceManager/dist/bin/onvifmgr
Initializing Gstreamer plugins...
Loading static plugins...
Gstreamer plugins initialized...
Using Gstreamer Version : 1.22.3.0
EventQueue__create...
Reading Settings file onvifmgr_settings.ini
WARNING no config file found. Using default configs. 1
Creating backchannel using source element pulsesrc
EventQueue__start...
EventQueue__start...
EventQueue__start...
EventQueue__start...
EventQueue__start...
EventQueue__start...
EventQueue__start...
EventQueue__start...
GTK Thread Dispatch...
Seems like that binary built fine now. Thanks.
I'm glad you got it working.
Feel free to open more issues if you find some or enhancement request if you'd like to see features prioritized.
Thanks again!
Sure. Will do. Thanks for fixing the issues! Appreciate the prompt response.
Following instructions received an error.