[vdr] vdr-1.7.32 plugin dvbhddevice fails

Richard Scobie r.scobie at clear.net.nz
Tue Nov 20 04:38:54 CET 2012


Hi Klaus,

Klaus Schmidinger wrote:

> Maybe this was caused by the change I introduced in order to be able to
> easily build a 32-bit version of VDR (and all its plugins) on a 64-bit
> machine:
> 
> -------------------------------------------------------------------------------------------- 
> 
> --- PLUGINS/src/dvbhddevice/libhdffcmd/Makefile 2012/01/18 12:25:20     1.2
> +++ PLUGINS/src/dvbhddevice/libhdffcmd/Makefile 2012/10/09 09:54:26     1.3
> @@ -24,6 +24,18 @@
>  AR      ?= ar
>  ARFLAGS ?= r
> 
> +### The directory environment:
> +
> +VDRDIR ?= ../../../..
> +
> +### Make sure that necessary options are included:
> +
> +include $(VDRDIR)/Make.global
> +
> +### Allow user defined options to overwrite defaults:
> +
> +-include $(VDRDIR)/Make.config
> +
>  ### Implicit rules:
> 
>  %.o: %.c
> -------------------------------------------------------------------------------------------- 
> 
> 
> However, I got no such error message here, and I do use a TT S2-6400.
> Maybe check your Make.global and/or Make.config files.
> 

I checked both and they seem OK. My previous post just showed the 
linking stage. Here is the full output from compiling the dvbhddevice 
plugin and "-fPIC" is present during compilation of all object files.


Plugin dvbhddevice:
make[1]: Entering directory `/home/rs/vdr-1.7.32/PLUGINS/src/dvbhddevice'
make[1]: Leaving directory `/home/rs/vdr-1.7.32/PLUGINS/src/dvbhddevice'
make[1]: Entering directory `/home/rs/vdr-1.7.32/PLUGINS/src/dvbhddevice'
g++ -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -c 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvbhddevice"' 
-I/mnt/storage/media_build_experimental/linux/include -I../../../include 
dvbhddevice.c
g++ -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -c 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvbhddevice"' 
-I/mnt/storage/media_build_experimental/linux/include -I../../../include 
dvbhdffdevice.c
g++ -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -c 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvbhddevice"' 
-I/mnt/storage/media_build_experimental/linux/include -I../../../include 
hdffcmd.c
g++ -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -c 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvbhddevice"' 
-I/mnt/storage/media_build_experimental/linux/include -I../../../include 
hdffosd.c
hdffosd.c: In member function ‘virtual void cHdffOsd::DrawText(int, 
int, const char*, tColor, tColor, const cFont*, int, int, int)’:
hdffosd.c:258:9: warning: variable ‘limit’ set but not used 
[-Wunused-but-set-variable]
g++ -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -c 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvbhddevice"' 
-I/mnt/storage/media_build_experimental/linux/include -I../../../include 
menu.c
g++ -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -c 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_GNU_SOURCE -DPLUGIN_NAME_I18N='"dvbhddevice"' 
-I/mnt/storage/media_build_experimental/linux/include -I../../../include 
setup.c
make -C libhdffcmd all
make[2]: Entering directory 
`/home/rs/vdr-1.7.32/PLUGINS/src/dvbhddevice/libhdffcmd'
gcc -O3 -Wall  -fPIC -shared -o libhdffcmd-0.1.0.so bitbuffer.o 
hdffcmd_av.o hdffcmd_base.o hdffcmd_generic.o hdffcmd_hdmi.o 
hdffcmd_mux.o hdffcmd_osd.o hdffcmd_remote.o
/usr/bin/ld: bitbuffer.o: relocation R_X86_64_PC32 against undefined 
symbol `memset@@GLIBC_2.2.5' can not be used when making a shared 
object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libhdffcmd-0.1.0.so] Error 1
make[2]: Leaving directory 
`/home/rs/vdr-1.7.32/PLUGINS/src/dvbhddevice/libhdffcmd'
make[1]: *** [libvdr-dvbhddevice.so] Error 2
make[1]: Leaving directory `/home/rs/vdr-1.7.32/PLUGINS/src/dvbhddevice'

The machine is running Fedora 16 64bit and gcc version 4.6.2 20111027 
(Red Hat 4.6.2-1) and I have no problem building vdr-1.7.31.

Regards,

Richard



More information about the vdr mailing list