Opened 9 years ago
Closed 9 years ago
#47996 closed defect (fixed)
libgcc @5.1.0_1: build fails with clang from Xcode 4.0.1 (out-of-line definition of '...' does not match any declaration in '...')
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | mww@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | BjarneDMat | |
Port: | gcc5 |
Description
libgcc @5.1.0_1 fails to build on OS X 10.6 with the old version of clang in Xcode 4.0.1, but works with MacPorts clang 3.4: https://lists.macosforge.org/pipermail/macports-dev/2015-June/030778.html
:info:build In file included from /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc5/libgcc/work/gcc-5.1.0/gcc/genmatch.c:32: :info:build /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc5/libgcc/work/gcc-5.1.0/gcc/hash-table.h:1047:43: error: out-of-line definition of 'traverse_noresize' does not match any declaration in 'hash_table<type-parameter-0-0, Allocator, 0>' :info:build hash_table<Descriptor, Allocator, false>::traverse_noresize (Argument argument) :info:build ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ :info:build /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc5/libgcc/work/gcc-5.1.0/gcc/hash-table.h:1073:43: error: out-of-line definition of 'traverse' does not match any declaration in 'hash_table<type-parameter-0-0, Allocator, 0>' :info:build hash_table<Descriptor, Allocator, false>::traverse (Argument argument) :info:build ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ :info:build /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc5/libgcc/work/gcc-5.1.0/gcc/hash-table.h:1623:42: error: out-of-line definition of 'traverse_noresize' does not match any declaration in 'hash_table<type-parameter-0-0, Allocator, 1>' :info:build hash_table<Descriptor, Allocator, true>::traverse_noresize (Argument argument) :info:build ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ :info:build /macports/var/macports/build/_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc5/libgcc/work/gcc-5.1.0/gcc/hash-table.h:1649:42: error: out-of-line definition of 'traverse' does not match any declaration in 'hash_table<type-parameter-0-0, Allocator, 1>' :info:build hash_table<Descriptor, Allocator, true>::traverse (Argument argument) :info:build ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
So we should blacklist old clang, using the compiler_blacklist_versions portgroup. We should test whether the clang from Xcode versions 4.2, 4.1 or 4.0.2 works, so that we'll know how far back the clang blacklist needs to go. We'll also have to see which of the gcc ports need this blacklist.
Attachments (1)
Change History (3)
Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | macmini2,1-libgcc-main.log.bz2 added |
---|
comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | macintosh@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Confirmed issue with gcc5 @5.1.0 and gcc6 @6-20150531. Issue not present with gcc49 @4.9.2.
Blacklisted clang from Xcode 4.2 and earlier in gcc5 and gcc6 in r137376.
Note: See
TracTickets for help on using
tickets.
Forcing the use of clang from Xcode 3.2.6, configure fails with:
Also, I confirmed the issue with Xcode 4.2 with libgcc @5.1.0 and libgcc-devel @6-20150531.
Now building libgcc with macports-clang-3.4. Will then check gcc6, gcc5, gcc49.