On Sat, 2019-04-13 at 13:11 -0700, John Reiser wrote:
> >  Unfortunately, the gcc in EL6 is too old to build zchunk
> 
> In what specific way(s)?  Can the complaints from gcc [which version?],
> or other tools in the toolchain, be listed here?
> Other developers may have faced the same or similar problems,
> and may have tools to help.

Sorry, I should have shared that the first time around.

The version of gcc that comes with EL6 is 4.4.7.

When building zchunk, I get a number of messages that look like:
$ ninja-build 
[1/178] Compiling C object 'src/lib/zck@sha/comp_zstd_zstd.c.o'.
FAILED: src/lib/zck@sha/comp_zstd_zstd.c.o 
cc  -Isrc/lib/zck@sha -Isrc/lib -I../src/lib -Iinclude -I../include -pipe 
-D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -O0 -g -DZCHUNK_ZSTD 
-DZCHUNK_OPENSSL -fvisibility=hidden -fPIC -MMD -MQ 
'src/lib/zck@sha/comp_zstd_zstd.c.o' -MF 'src/lib/zck@sha/comp_zstd_zstd.c.o.d' 
-o 'src/lib/zck@sha/comp_zstd_zstd.c.o' -c ../src/lib/comp/zstd/zstd.c
In file included from ../src/lib/comp/zstd/zstd.c:34:
../src/lib/zck_private.h:92: error: redefinition of typedef 'zckCtx'
include/zck.h:49: note: previous declaration of 'zckCtx' was here
../src/lib/zck_private.h:106: error: redefinition of typedef 'zck_log_type'
include/zck.h:47: note: previous declaration of 'zck_log_type' was here
../src/lib/zck_private.h:117: error: redefinition of typedef 'zckHash'
include/zck.h:50: note: previous declaration of 'zckHash' was here
../src/lib/zck_private.h:150: error: redefinition of typedef 'zckDL'
include/zck.h:54: note: previous declaration of 'zckDL' was here
../src/lib/zck_private.h:165: error: redefinition of typedef 'zckChunk'
include/zck.h:51: note: previous declaration of 'zckChunk' was here
../src/lib/zck_private.h:177: error: redefinition of typedef 'zckIndex'
include/zck.h:52: note: previous declaration of 'zckIndex' was here
../src/lib/zck_private.h:193: error: redefinition of typedef 'zckRange'
include/zck.h:53: note: previous declaration of 'zckRange' was here
../src/lib/zck_private.h:224: error: redefinition of typedef 'zckComp'
../src/lib/zck_private.h:91: note: previous declaration of 'zckComp' was here
../src/lib/zck_private.h:298: error: redefinition of typedef 'zckCtx'
../src/lib/zck_private.h:92: note: previous declaration of 'zckCtx' was here

For reference, you can find zck.h.in (which gets processed into zck.h
with the version added) at:
https://github.com/zchunk/zchunk/blob/master/include/zck.h.in

and zck_private.h at:
https://github.com/zchunk/zchunk/blob/master/src/lib/zck_private.h

As far as I can see, gcc-4.7 doesn't like that I'm typedefing the same
struct to the same type twice.  Later versions don't see it as a
problem at all.

(Just to be clear, this still happens if I change zck_private.h to say:
typedef struct zckCtx zckCtx;)

Jonathan
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to