Project

General

Profile

TVHeadend compiling for clean Ubuntu 22.04 LTS - Yet Another Question

Added by stefan ott about 2 years ago

Hey everyone,

Still the complete n00b here, so please be patient :)

I would have a few questions:
1. Where can i get detailed information what the different support/features in ./configure are?
--> i did not get far with "./configure --help"

2. Anyway, what would you think are the support/features i would need for my TVheadend Ubuntu 22.04 64 bit x86_64 platform?
--> With my words, what i need is defo:
  • support for my Hauppauge USB DVB-C-Tuner
  • EPG to the available channels
  • OSCam running on the same machine
  • different streaming profiles for the different clients with lots of transcoding
  • an always up system (running as a service, i guess?)

3. How would i enable/disable the support/features in ./configure? (or do i need to change that in ./Autobuild.sh?)
--> If it worked i probably would check in ./configure if the support/features is changed, right?

Maybe interessting is the output of my ./configure:

Checking support/features
  checking for cc execinfo.h ...                    ok
  checking for cc -mmmx ...                         ok
  checking for cc -msse2 ...                        ok
  checking for cc -Wunused-result ...               ok
  checking for cc -fstack-protector ...             ok
  checking for cc -fstack-protector-strong ...      ok
  checking for cc -fstack-check ...                 ok
  checking for cc -fPIE ...                         ok
  checking for cc strlcat ...                       fail
  checking for cc strlcpy ...                       fail
  checking for cc fdatasync ...                     ok
  checking for cc getloadavg ...                    ok
  checking for cc atomic32 ...                      ok
  checking for cc atomic64 ...                      ok
  checking for cc atomic_time_t ...                 ok
  checking for cc atomic_ptr ...                    ok
  checking for cc bitops64 ...                      ok
  checking for cc lockowner ...                     ok
  checking for cc qsort_r ...                       ok
  checking for cc stime ...                         fail
  checking for cc gmtoff ...                        ok
  checking for cc recvmmsg ...                      ok
  checking for cc sendmmsg ...                      ok
  checking for cc libiconv ...                      fail
    ^ using build-in glibc iconv routines
  checking for cc ifnames ...                       ok
  checking for cc cclang_threadsan ...              fail
  checking for py module gzip ...                   ok
  checking for pkg-config ...                       ok
  checking for xgettext ...                         ok
  checking for msgmerge ...                         ok
  checking for gzip ...                             ok
  checking for bzip2 ...                            ok
  checking for pkg openssl  ...                     ok (detected 3.0.2)
  checking for cc linux/dvb/version.h ...           ok
  checking for pkg zlib  ...                        ok (detected 1.2.11)
  checking for pkg libpcre2-8  ...                  ok (detected 10.39)
  checking for pkg liburiparser  ...                ok (detected 0.9.6)
  checking for pkg avahi-client  ...                ok (detected 0.8)
  checking for cmake ...                            ok
  checking for cc -lstdc++ ...                      ok
  checking for pkg libva >=0.38.0 ...               ok (detected 1.14.0)
  checking for pkg libva-drm >=0.38.0 ...           ok (detected 1.14.0)
  checking for cc sys/inotify.h ...                 ok
  checking for cc inotify_init1 ...                 ok
  checking for cc dvbcsa/dvbcsa.h ...               ok
  checking for cc -ldvbcsa ...                      ok
  fetching dvb-scan files ...                       ok
  checking for cc epoll_create1 ...                 ok
  checking for pkg dbus-1  ...                      ok (detected 1.12.20)

Compiler:
  Using C compiler:                        ccache cc
  Using LD flags:                           -ldvbcsa
  Build for arch:                          x86_64

Binaries:
  Using PYTHON:                            python
  Using GZIP:                              gzip
  Using BZIP2:                             bzip2

Options:
  pie                                      yes
  ccdebug                                  no
  cardclient                               yes
  cwc                                      yes
  cccam                                    yes
  capmt                                    yes
  constcw                                  yes
  linuxdvb                                 yes
  satip_server                             yes
  satip_client                             yes
  hdhomerun_client                         yes
  hdhomerun_static                         yes
  iptv                                     yes
  tsfile                                   yes
  dvbscan                                  yes
  timeshift                                yes
  trace                                    yes
  avahi                                    yes
  zlib                                     yes
  libav                                    yes
  ffmpeg_static                            yes
  libx264                                  yes
  libx264_static                           yes
  libx265                                  yes
  libx265_static                           yes
  libvpx                                   yes
  libvpx_static                            yes
  libtheora                                yes
  libtheora_static                         yes
  libvorbis                                yes
  libvorbis_static                         yes
  libfdkaac                                no
  libfdkaac_static                         no
  libopus                                  yes
  libopus_static                           yes
  nvenc                                    no
  vaapi                                    yes
  mmal                                     no
  omx                                      no
  inotify                                  yes
  epoll                                    yes
  pcre                                     no
  pcre2                                    yes
  uriparser                                yes
  ccache                                   yes
  tvhcsa                                   yes
  bundle                                   no
  pngquant                                 no
  kqueue                                   no
  dbus_1                                   yes
  android                                  no
  gtimer_check                             no
  slow_memoryinfo                          no
  libsystemd_daemon                        no
  pcloud_cache                             yes
  ddci                                     yes
  cclang_threadsan                         no
  gperftools                               no
  execinfo                                 yes
  mmx                                      yes
  sse2                                     yes
  W_unused_result                          yes
  f_stack_protector                        yes
  f_stack_protector_strong                 yes
  f_stack_check                            yes
  f_PIE                                    yes
  fdatasync                                yes
  getloadavg                               yes
  atomic32                                 yes
  atomic64                                 yes
  atomic_time_t                            yes
  atomic_ptr                               yes
  bitops64                                 yes
  lockowner                                yes
  qsort_r                                  yes
  gmtoff                                   yes
  recvmmsg                                 yes
  sendmmsg                                 yes
  ifnames                                  yes
  py_gzip                                  yes
  bin_pkg_config                           yes
  bin_xgettext                             yes
  bin_msgmerge                             yes
  bin_gzip                                 yes
  bin_bzip2                                yes
  ssl                                      yes
  linuxdvbapi                              yes
  linuxdvb_ca                              yes
  upnp                                     yes
  bin_cmake                                yes
  stdcpp                                   yes
  libogg_static                            yes
  hwaccels                                 yes
  inotify_h                                yes
  inotify_init1                            yes
  dvbcsa                                   yes
  epoll_create1                            yes
  mpegts                                   yes
  mpegts_dvb                               yes

Packages:
  openssl                                  3.0.2
  zlib                                     1.2.11
  libpcre2-8                               10.39
  liburiparser                             0.9.6
  avahi-client                             0.8
  libva                                    1.14.0
  libva-drm                                1.14.0
  dbus-1                                   1.12.20

Installation paths:
  Prefix:                                  /usr/local
  Binaries:                                ${prefix}/bin
  Libraries:                               ${prefix}/lib
  Data files:                              ${prefix}/share
  Man pages:                               ${datadir}/man

Final Binary:
  /home/speedy/tvheadend/build.linux/tvheadend

Tvheadend Data Directory:
  /usr/local/share/tvheadend

Thanks for the help!


Replies (8)

RE: TVHeadend compiling for clean Ubuntu 22.04 LTS - Yet Another Question - Added by Jonas Lang about 2 years ago

Stefan this is a typical install used for Ubuntu 22.04 lts on an X86_64 platform. Where necessary you can use the enable/disable option to edit the Autobuild to include/exclude the different options https://tvheadend.org/boards/4/topics/47932

RE: TVHeadend compiling for clean Ubuntu 22.04 LTS - Yet Another Question - Added by stefan ott about 2 years ago

hey guys,

thanks for the answers.
i am aware of these two threads. sadly i did not find the answers to my questions there.
my interpretation of these two threads already are included in my questions.

@jonas: so i understand that changing it in the Autobuild is a onetime change only? Would it be sensible to change it in the configure - as i kinda found in a comment in the mentioned thread in a script?
--> for the notes: discussing question 3 here

RE: TVHeadend compiling for clean Ubuntu 22.04 LTS - Yet Another Question - Added by Jonas Lang about 2 years ago

As was pointed out to you previously, the scripts are designed for maximum flexibility across all Linux distributions. There’s no “one size fits all” in this case.

I created those instructions to simplify installation for beginners, or noobs as you described yourself as, wanting to build TVH on the X86_64 platform in Ubuntu. Anybody wanting to add or subtract from the build process can do so easily.

Further down the post you will indeed see discussion on the ./configure method of building referred to by Dave Pickles. This is indeed the most flexible option of all and once you manually create a service daemon you’re good to go with TVH.

Flexibility is the key here and you get configure TVH easily to suit your own needs. That’s the beauty of these methods when you are building TVH for your own particular platform. Of course you could simply add the PPA and install TVH that way. Of course you won’t be using the likes of transcoding which is particular to your platform.

RE: TVHeadend compiling for clean Ubuntu 22.04 LTS - Yet Another Question - Added by stefan ott about 2 years ago

thank you jonas, i appreciate your words.
can you point me exactly where the ./configure method of building was mentioned?
i seam not to realize this as answer to question 3

if this will solve question 3.. i still need to find answers to 1 and 2.
especially because i need transcoding, which i do notknow if it is already enabled in the standard or not, because i have no clue which option would be referring to that (and ./configure --help does not help me a lot)

RE: TVHeadend compiling for clean Ubuntu 22.04 LTS - Yet Another Question - Added by saen acro about 2 years ago

Build with all features is enough.
"Light" version is for specific cases.

RE: TVHeadend compiling for clean Ubuntu 22.04 LTS - Yet Another Question - Added by Jonas Lang about 2 years ago

Assuming your hardware will support transcoding my build instructions will give you the ability to transcode. During the build process you may be advised of missing packages (dependencies), each one will be named. Just install them as per my instructions.

Try my build instructions and once completed you can interrogate the system to see if transcoding is operational.

Also it might be worth reading up on transcoding in TVH once it is operational.

    (1-8/8)