Project

General

Profile

Bug #6250

Jammy: Build fails after commit 2a370dd (debian/compat update)

Added by John Hunt almost 2 years ago. Updated almost 2 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
Packaging
Target version:
-
Start date:
2023-01-27
Due date:
% Done:

0%

Estimated time:
Found in version:
20230124-2a370dd
Affected Versions:

Description

compat levels > 8 fail on Ubuntu Jammy.

To test, I installed a new instance of Jammy in a virtual machine and based on the test-compile.yml workflow, I built tvheadend using the following:

sudo apt-get install -y cmake git build-essential pkg-config gettext libavahi-client-dev libssl-dev zlib1g-dev wget bzip2 git-core liburiparser-dev libpcre2-dev libdvbcsa-dev python3 python3-requests debhelper ccache
AUTOBUILD_CONFIGURE_EXTRA=--enable-ccache\ --enable-ffmpeg_static\ --enable-hdhomerun_static\ --python=python3 ./Autobuild.sh -t jammy-x86_64

Everything compiles fine. But, debian/compat > 8 produces the following errors while linking tvheadend -- and the build fails:
src/transcoding/codec/codec.c:59:17: error: type of ‘tvh_codec_libopus’ does not match original declaration [-Werror=lto-type-mismatch]
   59 | extern TVHCodec tvh_codec_libopus;
      |                 ^
src/transcoding/codec/codecs/libs/libopus.c:132:15: note: type ‘struct TVHAudioCodec’ should match type ‘struct TVHCodec’
  132 | TVHAudioCodec tvh_codec_libopus = {
      |               ^
src/transcoding/codec/codecs/libs/libopus.c:132:15: note: ‘tvh_codec_libopus’ was previously declared here
src/transcoding/codec/codecs/libs/libopus.c:132:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:51:17: error: type of ‘tvh_codec_libvorbis’ does not match original declaration [-Werror=lto-type-mismatch]
   51 | extern TVHCodec tvh_codec_libvorbis;
      |                 ^
src/transcoding/codec/codecs/libs/libvorbis.c:93:15: note: type ‘struct TVHAudioCodec’ should match type ‘struct TVHCodec’
   93 | TVHAudioCodec tvh_codec_libvorbis = {
      |               ^
src/transcoding/codec/codecs/libs/libvorbis.c:93:15: note: ‘tvh_codec_libvorbis’ was previously declared here
src/transcoding/codec/codecs/libs/libvorbis.c:93:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:48:17: error: type of ‘tvh_codec_libtheora’ does not match original declaration [-Werror=lto-type-mismatch]
   48 | extern TVHCodec tvh_codec_libtheora;
      |                 ^
src/transcoding/codec/codecs/libs/libtheora.c:74:15: note: type ‘struct TVHVideoCodec’ should match type ‘struct TVHCodec’
   74 | TVHVideoCodec tvh_codec_libtheora = {
      |               ^
src/transcoding/codec/codecs/libs/libtheora.c:74:15: note: ‘tvh_codec_libtheora’ was previously declared here
src/transcoding/codec/codecs/libs/libtheora.c:74:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:44:17: error: type of ‘tvh_codec_libvpx_vp9’ does not match original declaration [-Werror=lto-type-mismatch]
   44 | extern TVHCodec tvh_codec_libvpx_vp9;
      |                 ^
src/transcoding/codec/codecs/libs/libvpx.c:159:15: note: type ‘struct TVHVideoCodec’ should match type ‘struct TVHCodec’
  159 | TVHVideoCodec tvh_codec_libvpx_vp9 = {
      |               ^
src/transcoding/codec/codecs/libs/libvpx.c:159:15: note: ‘tvh_codec_libvpx_vp9’ was previously declared here
src/transcoding/codec/codecs/libs/libvpx.c:159:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:43:17: error: type of ‘tvh_codec_libvpx_vp8’ does not match original declaration [-Werror=lto-type-mismatch]
   43 | extern TVHCodec tvh_codec_libvpx_vp8;
      |                 ^
src/transcoding/codec/codecs/libs/libvpx.c:148:15: note: type ‘struct TVHVideoCodec’ should match type ‘struct TVHCodec’
  148 | TVHVideoCodec tvh_codec_libvpx_vp8 = {
      |               ^
src/transcoding/codec/codecs/libs/libvpx.c:148:15: note: ‘tvh_codec_libvpx_vp8’ was previously declared here
src/transcoding/codec/codecs/libs/libvpx.c:148:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:39:17: error: type of ‘tvh_codec_libx265’ does not match original declaration [-Werror=lto-type-mismatch]
   39 | extern TVHCodec tvh_codec_libx265;
      |                 ^
src/transcoding/codec/codecs/libs/libx26x.c:309:15: note: type ‘struct TVHVideoCodec’ should match type ‘struct TVHCodec’
  309 | TVHVideoCodec tvh_codec_libx265 = {
      |               ^
src/transcoding/codec/codecs/libs/libx26x.c:309:15: note: ‘tvh_codec_libx265’ was previously declared here
src/transcoding/codec/codecs/libs/libx26x.c:309:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:36:17: error: type of ‘tvh_codec_libx264’ does not match original declaration [-Werror=lto-type-mismatch]
   36 | extern TVHCodec tvh_codec_libx264;
      |                 ^
src/transcoding/codec/codecs/libs/libx26x.c:210:15: note: type ‘struct TVHVideoCodec’ should match type ‘struct TVHCodec’
  210 | TVHVideoCodec tvh_codec_libx264 = {
      |               ^
src/transcoding/codec/codecs/libs/libx26x.c:210:15: note: ‘tvh_codec_libx264’ was previously declared here
src/transcoding/codec/codecs/libs/libx26x.c:210:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:33:17: error: type of ‘tvh_codec_flac’ does not match original declaration [-Werror=lto-type-mismatch]
   33 | extern TVHCodec tvh_codec_flac;
      |                 ^
src/transcoding/codec/codecs/flac.c:87:15: note: type ‘struct TVHAudioCodec’ should match type ‘struct TVHCodec’
   87 | TVHAudioCodec tvh_codec_flac = {
      |               ^
src/transcoding/codec/codecs/flac.c:87:15: note: ‘tvh_codec_flac’ was previously declared here
src/transcoding/codec/codecs/flac.c:87:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:32:17: error: type of ‘tvh_codec_vorbis’ does not match original declaration [-Werror=lto-type-mismatch]
   32 | extern TVHCodec tvh_codec_vorbis;
      |                 ^
src/transcoding/codec/codecs/vorbis.c:65:15: note: type ‘struct TVHAudioCodec’ should match type ‘struct TVHCodec’
   65 | TVHAudioCodec tvh_codec_vorbis = {
      |               ^
src/transcoding/codec/codecs/vorbis.c:65:15: note: ‘tvh_codec_vorbis’ was previously declared here
src/transcoding/codec/codecs/vorbis.c:65:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:31:17: error: type of ‘tvh_codec_aac’ does not match original declaration [-Werror=lto-type-mismatch]
   31 | extern TVHCodec tvh_codec_aac;
      |                 ^
src/transcoding/codec/codecs/aac.c:134:15: note: type ‘struct TVHAudioCodec’ should match type ‘struct TVHCodec’
  134 | TVHAudioCodec tvh_codec_aac = {
      |               ^
src/transcoding/codec/codecs/aac.c:134:15: note: ‘tvh_codec_aac’ was previously declared here
src/transcoding/codec/codecs/aac.c:134:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:30:17: error: type of ‘tvh_codec_mp2’ does not match original declaration [-Werror=lto-type-mismatch]
   30 | extern TVHCodec tvh_codec_mp2;
      |                 ^
src/transcoding/codec/codecs/mp2.c:71:15: note: type ‘struct TVHAudioCodec’ should match type ‘struct TVHCodec’
   71 | TVHAudioCodec tvh_codec_mp2 = {
      |               ^
src/transcoding/codec/codecs/mp2.c:71:15: note: ‘tvh_codec_mp2’ was previously declared here
src/transcoding/codec/codecs/mp2.c:71:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
src/transcoding/codec/codec.c:29:17: error: type of ‘tvh_codec_mpeg2video’ does not match original declaration [-Werror=lto-type-mismatch]
   29 | extern TVHCodec tvh_codec_mpeg2video;
      |                 ^
src/transcoding/codec/codecs/mpeg2video.c:74:15: note: type ‘struct TVHVideoCodec’ should match type ‘struct TVHCodec’
   74 | TVHVideoCodec tvh_codec_mpeg2video = {
      |               ^
src/transcoding/codec/codecs/mpeg2video.c:74:15: note: ‘tvh_codec_mpeg2video’ was previously declared here
src/transcoding/codec/codecs/mpeg2video.c:74:15: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
lto1: all warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/cc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:710: /home/bow/src/tvh/tvheadend/build.linux/tvheadend] Error 1
make[3]: Leaving directory '/home/bow/src/tvh/tvheadend'
make[2]: *** [Makefile:107: ffmpeg_all] Error 2
make[2]: Leaving directory '/home/bow/src/tvh/tvheadend'
make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2
make[1]: Leaving directory '/home/bow/src/tvh/tvheadend'
make: *** [debian/rules:6: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2


Files

error3.png (79.1 KB) error3.png Alin Gherghescu, 2023-01-28 07:31

History

#1

Updated by Flole Systems almost 2 years ago

Already known and reported to the author of the PR. If there's no response soon the commit will be reverted.

#2

Updated by Flole Systems almost 2 years ago

  • Status changed from New to Accepted
#3

Updated by saen acro almost 2 years ago

This bug exist on Centos, with or without this commit.

#4

Updated by Alin Gherghescu almost 2 years ago

I reverted back to "update vaapi" using command: git checkout 0adacbdf18f018c9167bbceacc2d5ebb756688e2 and I cannot compile with Ubuntu 22.04.
I used ./Autobuild.sh on a Celeron 6305 platform.

#5

Updated by Alin Gherghescu almost 2 years ago

please disregard what I said: if I start fresh (delete folder an clone) and go back to commit (before compiling master) I am able to compile version ~2084 on Ubuntu 22.04.

#6

Updated by Flole Systems almost 2 years ago

  • Status changed from Accepted to Fixed

Also available in: Atom PDF