To: FreeBSD-gnats-submit@freebsd.org From: Alexander Kabaev Reply-To: Alexander Kabaev Cc: X-send-pr-version: 3.113 X-GNATS-Notify: >Submitter-Id: current-users >Originator: Alexander Kabaev >Organization: >Confidential: no >Synopsis: Firefox/Thunderbird fail to build with system GCC >Severity: serious >Priority: medium >Category: ports >Class: sw-bug >Release: FreeBSD 10.0-CURRENT amd64 >Environment: System: FreeBSD kan.dyndns.org 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r237108+f8c0 b67: Fri Jun 15 14:25:52 EDT 2012 kan@kan.dyndns.org:/usr/obj/usr/src/sys/KANBSD amd64 >Description: Thunderbird and Firefox both fail to build due to failure similar to what is explained in this Mozilla bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=732340 >How-To-Repeat: Just try to build port using system GCC with no special options. >Fix: Attached patch taken verbatim from the bugzilla and expanded a bit to include explicit instantiation of template int SortedArrayOf::search(unsigned int const &) const; Apparently, other people get other symbols undefined, so I left all four in. Index: mail/thunderbird/files/patch-mozilla-gfx-harfbuzz-src-hb-ot-layout.cc =================================================================== RCS file: mail/thunderbird/files/patch-mozilla-gfx-harfbuzz-src-hb-ot-layout.cc diff -N mail/thunderbird/files/patch-mozilla-gfx-harfbuzz-src-hb-ot-layout.cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ mail/thunderbird/files/patch-mozilla-gfx-harfbuzz-src-hb-ot-layout.cc 25 Jun 2012 02:16:45 -0000 @@ -0,0 +1,11 @@ +--- mozilla/gfx/harfbuzz/src/hb-ot-layout.cc.orig 2012-06-24 22:14:46.4637 41874 -0400 ++++ mozilla/gfx/harfbuzz/src/hb-ot-layout.cc 2012-06-24 22:15:06.784770042 -0 400 +@@ -540,4 +540,8 @@ + GPOS::position_finish (buffer); + } + ++template int SortedArrayOf >::search(unsigned in t const &) const; ++template int SortedArrayOf >::search(unsigned int const &) const; ++template int SortedArrayOf >::search(uns igned int const &) const; ++template int SortedArrayOf::search(unsigned int con st &) const; + Index: www/firefox/files/patch-gfx-harfbuzz-src-hb-ot-layout.cc =================================================================== RCS file: www/firefox/files/patch-gfx-harfbuzz-src-hb-ot-layout.cc diff -N www/firefox/files/patch-gfx-harfbuzz-src-hb-ot-layout.cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/firefox/files/patch-gfx-harfbuzz-src-hb-ot-layout.cc 25 Jun 2012 02:2 3:00 -0000 @@ -0,0 +1,11 @@ +--- gfx/harfbuzz/src/hb-ot-layout.cc.orig 2012-06-24 22:14:46.463741874 -0 400 ++++ gfx/harfbuzz/src/hb-ot-layout.cc 2012-06-24 22:15:06.784770042 -0400 +@@ -540,4 +540,8 @@ + GPOS::position_finish (buffer); + } + ++template int SortedArrayOf >::search(unsigned in t const &) const; ++template int SortedArrayOf >::search(unsigned int const &) const; ++template int SortedArrayOf >::search(uns igned int const &) const; ++template int SortedArrayOf::search(unsigned int con st &) const; +