Actions
Bug #6250
closedJammy: 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
Updated by Flole Systems almost 3 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 saen acro almost 3 years ago
This bug exist on Centos, with or without this commit.
Updated by Alin Gherghescu almost 3 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 3 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.
Updated by Flole Systems almost 3 years ago
- Status changed from Accepted to Fixed
Actions