https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117812

            Bug ID: 117812
           Summary: zstd dependency 1.5.1
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libbacktrace
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jeffrey.cliff at gmail dot com
                CC: ian at gcc dot gnu.org
  Target Milestone: ---

gcc being compiled: master e876acab6cd
gcc doing the compiling: gcc (GCC) 15.0.0 20240509 (experimental)
[ sadly terminal crashed and configure options were lost ]
zstd installed:  64-bits v1.3.4, by Yann Collet 

I realize this latter bit is kind of the main issue - that this is a fairly
outdated version
however

ZSTD_CLEVEL_DEFAULT appears to have been introduced to zstd in 1.5.5

libbacktrace 's tests in zstdtest.c make use of it (

               gcc -DHAVE_CONFIG_H -I. -I../../libbacktrace  -I
../../libbacktrace/../include -I ../../libbacktrace/../libgcc -I ../libgcc
-D_GNU_SOURCE  -funwind-tables -frandom-seed=zstdtest_alloc-zstdtest.o -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-Wmissing-format-attribute -Wcast-qual -Wno-attributes -Wpointer-arith -g
-DSRCDIR=\"../../libbacktrace\" -D_GNU_SOURCE -std=gnu23 -Oz -march=native     
-c -o zstdtest_alloc-zstdtest.o `test -f 'zstdtest.c' || echo
'../../libbacktrace/'`zstdtest.c
               ../../libbacktrace/zstdtest.c: In function ‘test_large’:
               ../../libbacktrace/zstdtest.c:383:22: error:
‘ZSTD_CLEVEL_DEFAULT’ undeclared (first use in this function)
                 383 |                      ZSTD_CLEVEL_DEFAULT);
                     |                      ^~~~~~~~~~~~~~~~~~~

during configure zstd was detected:

# grep -i 'zstd' config.log
Supported LTO compression algorithms: zlib zstd
Supported LTO compression algorithms: zlib zstd

which makes sense since it is installed, just a version that does not have
ZSTD_CLEVEL_DEFAULT

this suggests that all gcc is checking for is whether there is a zstd installed
and not its particular version.  if however gcc is going to depend on newer and
newer versions of zstd, it should probably verify that zstd is up to date
enough to actually support what it's using at the very least (ie 1.5.5).

configure seems to bear this out

Reply via email to