News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - noone

#1
VOMP for Raspberry Pi / Static build possible?
October 16, 2019, 21:36:29
Hi, I'm trying to build a static binary of vompclient for raspberry pi.

I added -static in the GNUmakefile in the LDFLAGS variable:....
ifeq ($(vomp_platform),raspberry)
$(info Raspberry pi flags)
LDFLAGS = -Wall -static $(PICTURES)
LIBS = -L/opt/vc/lib  -lpthread -lrt -lbrcmEGL -lbrcmOpenVG -lopenmaxil -lbcm_host   -lavformat -lavcodec -lavutil -lavresample
....


But now I'm getting the following compile error:....
g++ -Wall -static -Wl,--format=binary  -Wl,other/vdrhires.png  -Wl,other/wallpaper720p.jpg  -Wl,other/properties.png  -Wl,other/radio.png  -Wl,other/timers.png  -Wl,other/tv.png  -Wl,other/recordings.png -Wl,other/restart.png  -Wl,other/hd1080i.png   -Wl,other/hd720p.png    -Wl,other/sd576i.png   -Wl,other/txtoff.png   -Wl,other/txton.png  -Wl,other/dolbyoff.png -Wl,other/dolbyon.png   -Wl,other/recording.png -Wl,other/recfolder.png   -Wl,other/defposter.png   -Wl,--format=default    -DIPV6 -o vompclient  command.o tcp.o dsock.o thread.o timers.o i18n.o vdp6.o message.o messagequeue.o udp.o wol.o audio.o video.o log.o mutex.o vdr.o recman.o recording.o recinfo.o channel.o rectimer.o event.o directory.o mark.o option.o player.o playerradio.o vfeed.o afeed.o demuxer.o demuxervdr.o demuxerts.o stream.o region.o colour.o boxstack.o boxx.o tbboxx.o vrecording.o vinfo.o vquestion.o vrecordinglist.o vrecordinglistclassic.o vrecordinglistadvanced.o vepgsummary.o vepglistadvanced.o vmute.o vvolume.o vtimerlist.o vtimeredit.o vrecordingmenu.o vchannellist.o vwelcome.o vvideorec.o vepgsettimer.o vchannelselect.o vserverselect.o vconnect.o vepg.o vrecmove.o vradiorec.o vaudioselector.o vscreensaver.o vopts.o wselectlist.o wjpeg.o wsymbol.o wbutton.o wtextbox.o woptionpane.o woptionbox.o wremoteconfig.o wtabbar.o led.o remote.o mtd.o osd.o surface.o vpicturebanner.o abstractoption.o eventdispatcher.o vdrrequestpacket.o vdrresponsepacket.o vvideolivetv.o vsleeptimer.o playerlivetv.o playerliveradio.o wprogressbar.o bitmap.o dvbsubtitles.o tfeed.o vteletextview.o teletextdecodervbiebu.o teletxt/txtfont.o movieinfo.o seriesinfo.o wmovieview.o wseriesview.o tvmedia.o wtvmedia.o wpictureview.o  main.o threadp.o  osdvector.o surfacevector.o osdopenvg.o ledraspberry.o mtdraspberry.o videoomx.o audioomx.o imageomx.o wjpegsimple.o remotelinux.o signal.o   -L/opt/vc/lib  -lpthread -lrt -lbrcmEGL -lbrcmOpenVG -lopenmaxil -lbcm_host   -lavformat -lavcodec -lavutil -lavresample -ldl -lfontconfig -lfreetype -L/usr/lib/arm-linux-gnueabihf -lMagick++-6.Q16
/usr/bin/ld: cannot find -lbrcmEGL
/usr/bin/ld: cannot find -lbrcmOpenVG
/usr/bin/ld: cannot find -lopenmaxil
/usr/bin/ld: cannot find -lbcm_host
/usr/bin/ld: remotelinux.o: in function `__gnu_cxx::__normal_iterator<Option**, std::vector<Option*, std::allocator<Option*> > >::difference_type __gnu_cxx::operator-<Option**, std::vector<Option*, std::allocator<Option*> > >(__gnu_cxx::__normal_iterator<Option**, std::vector<Option*, std::allocator<Option*> > > const&, __gnu_cxx::__normal_iterator<Option**, std::vector<Option*, std::allocator<Option*> > > const&)':
/usr/include/libcec/cecloader.h:124: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/usr/bin/ld: tcp.o: in function `TCP::connectTo(char*, unsigned short)':
/home/pi/vompclient/tcp.cc:151: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status
make: *** [GNUmakefile:123: vompclient] Error 1
pi@raspberrypi:~/vompclient $


Is building a static binary even possible at all?
It would be nice to run a minimal busybox and just the vompclient, nothing else.
And with the newly added IPv6 support there isn't even a need for a dhcp client any more. 8)

Best regards
NoOne
#2
Thanks for your great work on the vomp port so far, I like it  8)

Recently I discovered a bug on various Panasonic plasma and led tv sets where some buttons on the remote are not working, mostly the bottom ones for playback control (play, pause and the bottom up down arrow keys).

I used the most recent raspbian (2014-01-07) with vomp 0.4.1 on five different raspberry pies. The bug won't happen if vompclient is already started when the tv is turned on, it only occures if the tv "sees" the raspberry booting up. And then the tv gets stuck in an odd state where only "rebooting" the tv restores all buttons.

Also I noticed that on an older image I built with vomp 0.4.0 the bug never occures. So I played around with some config.txt options like disable_splash etc. and found out that an older version of the GPU firmware did the trick.

66b579b5a14beae8015306ad454ef319 /boot/start.elf

Maybe somebody has a clue on this as I think you can't use older firmware on newer raspberry pies even though I haven't got a raspberry where the older start.elf didn't work.