Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#49134 closed defect (fixed)

libgit2-glib @0.23.6 does not build on 10.6.8

Reported by: udbraumann Owned by: juanrgar@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: dbevans (David B. Evans)
Port: libgit2-glib

Description

While updating libgit2-glib from @0.23.4 to @0.23.6 I run into this problem:

...
:info:build libtool: compile:  /usr/bin/llvm-gcc-4.2 -arch x86_64 -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -I. -D_REENTRANT -I/opt/local/include -I/opt/local/include/gobject-introspection-1.0 -I/opt/local/lib/libffi-3.2.1/include -I/opt/local/i
nclude/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include -DGIT_SSH=1 -Wall -I/opt/local/include -pipe -Os -arch x86_64 -MT ggit-branch-enumerator.lo -MD -MP -MF .deps/ggit-branch-enumerator.Tpo -c ggit-b
ranch-enumerator.c  -fno-common -DPIC -o .libs/ggit-branch-enumerator.o
:info:build In file included from ggit-branch.h:24,
:info:build                  from ggit-branch.c:21:
:info:build ../libgit2-glib/ggit-ref.h:33: error: redefinition of typedef ‘GgitRef’
:info:build ../libgit2-glib/ggit-types.h:201: error: previous declaration of ‘GgitRef’ was here
:info:build make[3]: *** [ggit-branch.lo] Error 1
:info:build make[3]: *** Waiting for unfinished jobs....
:info:build In file included from ../libgit2-glib/ggit-branch.h:24,
:info:build                  from ggit-branch-enumerator.h:28,
:info:build                  from ggit-branch-enumerator.c:1:
:info:build ../libgit2-glib/ggit-ref.h:33: error: redefinition of typedef ‘GgitRef’
:info:build ../libgit2-glib/ggit-types.h:201: error: previous declaration of ‘GgitRef’ was here
:info:build make[3]: *** [ggit-branch-enumerator.lo] Error 1
:info:build mv -f .deps/ggit-blob.Tpo .deps/ggit-blob.Plo
:info:build mv -f .deps/ggit-blame-options.Tpo .deps/ggit-blame-options.Plo
:info:build mv -f .deps/ggit-enum-types.Tpo .deps/ggit-enum-types.Plo
:info:build mv -f .deps/ggit-blame.Tpo .deps/ggit-blame.Plo
:info:build mv -f .deps/ggit-annotated-commit.Tpo .deps/ggit-annotated-commit.Plo
:info:build In file included from ../libgit2-glib/ggit-branch.h:24,
:info:build                  from ggit-repository.h:34,
:info:build                  from ggit-blob-output-stream.c:22:
:info:build ../libgit2-glib/ggit-ref.h:33: error: redefinition of typedef ‘GgitRef’
:info:build ggit-types.h:201: error: previous declaration of ‘GgitRef’ was here
:info:build In file included from ggit-repository.h:40,
:info:build                  from ggit-blob-output-stream.c:22:
:info:build ../libgit2-glib/ggit-commit.h:37: error: redefinition of typedef ‘GgitCommit’
:info:build ../libgit2-glib/ggit-commit-parents.h:31: error: previous declaration of ‘GgitCommit’ was here
:info:build In file included from ggit-repository.h:42,
:info:build                  from ggit-blob-output-stream.c:22:
:info:build ../libgit2-glib/ggit-remote.h:34: error: redefinition of typedef ‘GgitRemote’
:info:build ggit-types.h:236: error: previous declaration of ‘GgitRemote’ was here
:info:build make[3]: *** [ggit-blob-output-stream.lo] Error 1
...

Will a more modern compiler tolerate this typedef redefinition?

Attachments (1)

main.log.gz (5.7 KB) - added by udbraumann 8 years ago.

Download all attachments as: .zip

Change History (5)

Changed 8 years ago by udbraumann

Attachment: main.log.gz added

comment:1 in reply to:  description Changed 8 years ago by udbraumann

macports-gcc-5 was able to build libgit2-glib @0.23.6.

comment:2 Changed 8 years ago by mf2k (Frank Schima)

Cc: juanrgar@… removed
Owner: changed from macports-tickets@… to juanrgar@…

comment:3 in reply to:  description Changed 8 years ago by dbevans (David B. Evans)

Replying to braumann@…:

Will a more modern compiler tolerate this typedef redefinition?

Yes. Traditionally C has not allowed typedef redefinition but C++ has. Typedef redefinition in C is now allowed as of the C11 standard. So you need a compiler that understands/accepts C11 code. In particular, gcc-4.2 and llvm-gcc-4.2 are outdated and do not. Newer clang and gcc compilers do.

comment:4 Changed 8 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

Fix committed in r142884 which blacklists default 10.6 compilers. Builds correctly on SL buildbot. Thanks for your report.

Last edited 8 years ago by dbevans (David B. Evans) (previous) (diff)
Note: See TracTickets for help on using tickets.