Em Sat, 12 Oct 2019 18:28:41 +0100 _ _ _ _ _ <clangers@xxxxxxxxxxxxxx> escreveu: > I've been waiting for a working version of DVB-S2 capable tools and utilities to appear in a stable release of Mint, but it hasn't happened yet, so I decided to build the latest stable v4l-utils from source. > > I built v4l-utils version 1.18.0 on Linux Mint 18.3 > > the compilation process appeared to run through OK with only 9 warnings (see below), but the resulting executables fail due to a lib ref issue. > configure: WARNING: doxygen not found - will not generate any doxygen documentation > configure: WARNING: libelf library not available > configure: WARNING: Qt5 or higher is not available > configure: WARNING: ALSA library not available > CC control/libv4lconvert_la-libv4lcontrol.lo > control/libv4lcontrol.c: In function ‘v4lcontrol_create’: > control/libv4lcontrol.c:728:3: warning: ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result [-Wunused-result] > ftruncate(shm_fd, V4LCONTROL_SHM_SIZE); > ^ > libtool: warning: relinking 'libv4l2.la' > libtool: warning: relinking 'v4l2convert.la' > libtool: warning: relinking 'libv4l1.la' > libtool: warning: relinking 'v4l1compat.la' > > Most of these look insignificant but the fifth one looks a bit worrying. Shouldn't have any real consequence. it is just because there's nothing like: ret = ftruncate(...) if (ret) { /* some error handling logic */ } > > End result :- > > stupiduser@somehost ~ $ gcc --version > gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 2016060 > > stupiduser@somehost ~ $ dvbv5-scan -V > dvbv5-scan version 1.18.0 > > stupiduser@somehost ~ $ dvbv5-scan /usr/share/dvb/dvb-s/Astra-28.2E > dvbv5-scan: symbol lookup error: dvbv5-scan: undefined symbol: dvb_dev_alloc > > stupiduser@somehost ~ $ dvb-fe-tool -m -a0 > dvb-fe-tool: symbol lookup error: dvb-fe-tool: undefined symbol: dvb_dev_alloc Probably you have an older version of DVB libraries installed on your machine. It is trying to use the older library when you try to run it. There are some ways of solving it: 1) Make configure to override the old library with: ./configure --prefix=/usr (the default is to install it at /usr/local) 2) Ensure that the dynamic linker will use the libraries from /usr/local Depending on how your distro is set, you could need to add a new file at /etc/ld.so.conf.d/, in order to teach the dynamic linker to use the /usr/local/lib directory to seek for libraries. For example, create a "/etc/ld.so.conf.d/local.conf" file, and make the system use it by running, as root: # echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf # ldconfig PS.: You may need to remove a previous install of the V4L and DVB libs, in order to avoid any conflicts. 3) use the environment var LD_LIBRARY_PATH in order to add /usr/local/lib to the list of directories it will seek for a library. Thanks, Mauro