libheif
libheif copied to clipboard
1.12.0: build fails with latest glibc
MINSIGSTKSZ
is no longer define.
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/libheif-1.12.0/tests'
/usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../. -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -Wall -Werror -Wsign-compare -Wconversion -Wno-sign-conversion -Wno-error=conversion -Wno-error=unused-parameter -Wno-error=deprecated-declarations -c -o heif_unit_tests-main.o `test -f 'main.cc' || echo './'`main.cc
In file included from /usr/include/signal.h:328,
from catch.hpp:7644,
from main.cc:28:
catch.hpp:10376:58: error: call to non-‘constexpr’ function ‘long int sysconf(int)’
10376 | constexpr static std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
| ^~~~~~~~~~~
In file included from /usr/include/bits/sigstksz.h:24,
from /usr/include/signal.h:328,
from catch.hpp:7644,
from main.cc:28:
/usr/include/unistd.h:641:17: note: ‘long int sysconf(int)’ declared here
641 | extern long int sysconf (int __name) __THROW;
| ^~~~~~~
In file included from main.cc:28:
catch.hpp:10435:45: error: size of array ‘altStackMem’ is not an integral constant-expression
10435 | char FatalConditionHandler::altStackMem[sigStackSize] = {};
| ^~~~~~~~~~~~
make[2]: *** [Makefile:495: heif_unit_tests-main.o] Error 1
Duplicate of #539?
I am not seeing this, and that symbol does not appear in the current tree. Likely resolved by #669
Cannot apply that PR on top of last release.
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/libheif-Update-catch-to-the-latest-2.x-version.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
267 out of 268 hunks FAILED -- saving rejects to file tests/catch.hpp.rej
It's in that release, and several before it. Does the latest release work untouched?
Yes. Here is what exactly I gave in spec file
VCS: https://github.com/strukturag/libheif/
Source: %{VCS}/archive/v%{version}/%{name}-%{version}.tar.gz
Patch: %{VCS}/pull/669.patch#/%{name}-Update-catch-to-the-latest-2.x-version.patch
"untouched" - without the Patch
part, since that is already applied.
As a clarification: the change in #669 is not a proposed change to the released version. It should be present in any version from 1.14.0 onwards. So you don't need to patch anything. You just need to make sure the released version works for your test environment.
@kloczek Can you take another look at this?
1.17.5 still fails.
1.17.5 still fails.
I'd like to help, but you need to provide information so I have a chance to understand and reproduce the problem.
What are you doing, what where you expecting, and what are the results you observed instead?
What environment can this be reproduced on? What are the steps to reproduce it?
I'd like to help, but you need to provide information so I have a chance to understand and reproduce the problem.
cmake -L output
-- Cache values
BUILD_SHARED_LIBS:BOOL=ON
BUILD_TESTING:BOOL=ON
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/usr
ENABLE_MULTITHREADING_SUPPORT:BOOL=ON
ENABLE_PARALLEL_TILE_DECODING:BOOL=ON
ENABLE_PLUGIN_LOADING:BOOL=ON
FUZZING_COMPILE_OPTIONS:STRING=-fsanitize=fuzzer,address,shift,integer -fno-sanitize-recover=shift,integer
FUZZING_CXX_COMPILER:STRING=clang++
FUZZING_C_COMPILER:STRING=clang
FUZZING_LINKER_OPTIONS:STRING=
PLUGIN_DIRECTORY:STRING=/usr/lib64/libheif
WITH_AOM_DECODER:BOOL=ON
WITH_AOM_DECODER_PLUGIN:BOOL=ON
WITH_AOM_ENCODER:BOOL=ON
WITH_AOM_ENCODER_PLUGIN:BOOL=ON
WITH_DAV1D:BOOL=OFF
WITH_DAV1D_PLUGIN:BOOL=ON
WITH_DEFLATE_HEADER_COMPRESSION:BOOL=OFF
WITH_EXAMPLES:BOOL=ON
WITH_FFMPEG_DECODER:BOOL=OFF
WITH_FFMPEG_DECODER_PLUGIN:BOOL=ON
WITH_FUZZERS:BOOL=OFF
WITH_GDK_PIXBUF:BOOL=ON
WITH_JPEG_DECODER:BOOL=OFF
WITH_JPEG_DECODER_PLUGIN:BOOL=ON
WITH_JPEG_ENCODER:BOOL=OFF
WITH_JPEG_ENCODER_PLUGIN:BOOL=ON
WITH_KVAZAAR:BOOL=OFF
WITH_KVAZAAR_PLUGIN:BOOL=ON
WITH_LIBDE265:BOOL=ON
WITH_LIBDE265_PLUGIN:BOOL=ON
WITH_LIBSHARPYUV:BOOL=ON
WITH_OpenJPEG_DECODER:BOOL=OFF
WITH_OpenJPEG_DECODER_PLUGIN:BOOL=ON
WITH_OpenJPEG_ENCODER:BOOL=OFF
WITH_OpenJPEG_ENCODER_PLUGIN:BOOL=ON
WITH_RAV1E:BOOL=OFF
WITH_RAV1E_PLUGIN:BOOL=ON
WITH_REDUCED_VISIBILITY:BOOL=ON
WITH_SvtEnc:BOOL=OFF
WITH_SvtEnc_PLUGIN:BOOL=ON
WITH_UNCOMPRESSED_CODEC:BOOL=ON
WITH_X265:BOOL=ON
WITH_X265_PLUGIN:BOOL=ON
ctest output
+ cd libheif-1.17.5
+ /usr/bin/ctest --test-dir x86_64-redhat-linux-gnu --output-on-failure --force-new-ctest-process -j48 ' '
Internal ctest changing into directory: /home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/x86_64-redhat-linux-gnu
Test project /home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/x86_64-redhat-linux-gnu
Start 1: encode
Start 2: region
Start 3: uncompressed_decode
Start 4: uncompressed_encode
1/4 Test #1: encode ...........................***Failed 0.01 sec
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode is a Catch v2.13.9 host application.
Run with -? for options
-------------------------------------------------------------------------------
ispe odd size
-------------------------------------------------------------------------------
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/encode.cc:165
...............................................................................
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/encode.cc:140: FAILED:
REQUIRE( err.code == heif_error_Ok )
with expansion:
3 == 0
===============================================================================
test cases: 1 | 1 failed
assertions: 4 | 3 passed | 1 failed
2/4 Test #2: region ...........................***Failed 0.01 sec
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
region is a Catch v2.13.9 host application.
Run with -? for options
-------------------------------------------------------------------------------
create regions
-------------------------------------------------------------------------------
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:46
...............................................................................
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:60: FAILED:
REQUIRE( err.code == heif_error_Ok )
with expansion:
3 == 0
-------------------------------------------------------------------------------
create mask region
-------------------------------------------------------------------------------
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:228
...............................................................................
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:245: FAILED:
REQUIRE( err.code == heif_error_Ok )
with expansion:
3 == 0
-------------------------------------------------------------------------------
create inline mask region from data
-------------------------------------------------------------------------------
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:353
...............................................................................
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:370: FAILED:
REQUIRE( err.code == heif_error_Ok )
with expansion:
3 == 0
-------------------------------------------------------------------------------
create inline mask region from image
-------------------------------------------------------------------------------
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:448
...............................................................................
/home/tkloczko/rpmbuild/BUILD/libheif-1.17.5/tests/region.cc:465: FAILED:
REQUIRE( err.code == heif_error_Ok )
with expansion:
3 == 0
===============================================================================
test cases: 5 | 1 passed | 4 failed
assertions: 20 | 16 passed | 4 failed
3/4 Test #3: uncompressed_decode .............. Passed 0.02 sec
4/4 Test #4: uncompressed_encode .............. Passed 0.54 sec
50% tests passed, 2 tests failed out of 4
Total Test time (real) = 0.55 sec
The following tests FAILED:
1 - encode (Failed)
2 - region (Failed)
Errors while running CTest
If you need other details please let me know what exactly you need and I'll try to provide that ASP.
That isn't the same problem you are reporting here. Can you double check the report, please?
It is possibly related to https://github.com/strukturag/libheif/issues/986 though (which is closed). I'd suggest posting those details over there, or creating a new ticket and linking back to the original report. You may also need to provide details of your environment, and other steps, because that failure isn't happening on my system.
Sorry .. forgot to mention that library builds now but test suite fails.
Sorry .. forgot to mention that library builds now but test suite fails.
So this ticket is resolved, and you need a replacement for #986. And you still need to provide the repro.
So this ticket is resolved, and you need a replacement for #986. And you still need to provide the repro.
Yes and thank you 👍 😄 Closng. PS. Is it possible to keep opened #986 ? 🤔
PS. Is it possible to keep opened #986 ? 🤔
It looks like it is closed to me. You can always add more comments, and you may be able to reopen it (since you created it). I don't have such permissions though.
you may be able to reopen it
No I cannot do that.