[Bug 279692] '#include <csetjmp>' is broken: error: "If libc++ starts defining <setjmp.h>, the __has_include check should move to libc++'s <setjmp.h>"

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 23 Oct 2024 16:31:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279692

bagas <bagas1983@mail.ru> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bagas1983@mail.ru

--- Comment #12 from bagas <bagas1983@mail.ru> ---
I get a similar error when installing the libheif port.
How can I fix it?

My system FreeBSD 14.1-RELEASE-p5 amd64


root@test_site:/usr/ports/graphics/libheif # make MAKE_JOBS_UNSAFE=yes install
clean
===>  Building for libheif-1.18.2
[  6% 1/15] /usr/bin/c++ -DENABLE_MULTITHREADING_SUPPORT=1
-DENABLE_PARALLEL_TILE_DECODING=1 -DENABLE_PLUGIN_LOADING=1
-DHAVE_AOM_DECODER=1 -DHAVE_AOM_ENCODER=1 -DHAVE_FFMPEG_DECODER=1
-DHAVE_JPEG_DECODER=1 -DHAVE_JPEG_ENCODER=1 -DHAVE_LIBSHARPYUV=1
-DHAVE_UNISTD_H -DHAVE_VISIBILITY -DHAVE_X265=1 -DLIBHEIF_EXPORTS
-Dheif_EXPORTS -I/usr/ports/graphics/libheif/work/.build
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/libheif
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/libheif/api
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/include/libheif
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/include
-I/usr/local/include/webp -O2 -pipe -march=nocona -fstack-protector-strong
-isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include
-O2 -pipe -march=nocona -fstack-protector-strong -isystem /usr/local/include
-fno-strict-aliasing  -isystem /usr/local/include  -DNDEBUG -std=c++11 -fPIC
-fvisibility=hidden -fvisibility-inlines-hidden   -Wall -Wsign-compare
-Wconversion -Wno-sign-conversion -Wno-error=conversion
-Wno-error=unused-parameter -Wno-error=deprecated-declarations
-Wno-error=tautological-compare
-Wno-error=tautological-constant-out-of-range-compare
-Wno-error=potentially-evaluated-expression -MD -MT
libheif/CMakeFiles/heif.dir/plugins/encoder_jpeg.cc.o -MF
libheif/CMakeFiles/heif.dir/plugins/encoder_jpeg.cc.o.d -o
libheif/CMakeFiles/heif.dir/plugins/encoder_jpeg.cc.o -c
/usr/ports/graphics/libheif/work/libheif-1.18.2/libheif/plugins/encoder_jpeg.cc
FAILED: libheif/CMakeFiles/heif.dir/plugins/encoder_jpeg.cc.o 
/usr/bin/c++ -DENABLE_MULTITHREADING_SUPPORT=1
-DENABLE_PARALLEL_TILE_DECODING=1 -DENABLE_PLUGIN_LOADING=1
-DHAVE_AOM_DECODER=1 -DHAVE_AOM_ENCODER=1 -DHAVE_FFMPEG_DECODER=1
-DHAVE_JPEG_DECODER=1 -DHAVE_JPEG_ENCODER=1 -DHAVE_LIBSHARPYUV=1
-DHAVE_UNISTD_H -DHAVE_VISIBILITY -DHAVE_X265=1 -DLIBHEIF_EXPORTS
-Dheif_EXPORTS -I/usr/ports/graphics/libheif/work/.build
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/libheif
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/libheif/api
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/include/libheif
-I/usr/ports/graphics/libheif/work/libheif-1.18.2/include
-I/usr/local/include/webp -O2 -pipe -march=nocona -fstack-protector-strong
-isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include
-O2 -pipe -march=nocona -fstack-protector-strong -isystem /usr/local/include
-fno-strict-aliasing  -isystem /usr/local/include  -DNDEBUG -std=c++11 -fPIC
-fvisibility=hidden -fvisibility-inlines-hidden   -Wall -Wsign-compare
-Wconversion -Wno-sign-conversion -Wno-error=conversion
-Wno-error=unused-parameter -Wno-error=deprecated-declarations
-Wno-error=tautological-compare
-Wno-error=tautological-constant-out-of-range-compare
-Wno-error=potentially-evaluated-expression -MD -MT
libheif/CMakeFiles/heif.dir/plugins/encoder_jpeg.cc.o -MF
libheif/CMakeFiles/heif.dir/plugins/encoder_jpeg.cc.o.d -o
libheif/CMakeFiles/heif.dir/plugins/encoder_jpeg.cc.o -c
/usr/ports/graphics/libheif/work/libheif-1.18.2/libheif/plugins/encoder_jpeg.cc
In file included from
/usr/ports/graphics/libheif/work/libheif-1.18.2/libheif/plugins/encoder_jpeg.cc:30:
/usr/include/c++/v1/csetjmp:40:6: error: "If libc++ starts defining <setjmp.h>,
the __has_include check should move to libc++'s <setjmp.h>"
   40 | #    error "If libc++ starts defining <setjmp.h>, the __has_include
check should move to libc++'s <setjmp.h>"
      |      ^
1 error generated.
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/graphics/libheif
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/libheif

-- 
You are receiving this mail because:
You are the assignee for the bug.