Bug #6250
Jammy: Build fails after commit 2a370dd (debian/compat update)
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
History
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.
Updated by Alin Gherghescu almost 2 years ago
- File error3.png error3.png added
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.
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.