[Bug 221288] gcc5 links against libsupc++ when compiling

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Aug 6 17:57:03 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221288

            Bug ID: 221288
           Summary: gcc5 links against libsupc++ when compiling
           Product: Ports & Packages
           Version: Latest
          Hardware: i386
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: rm at gnu.org

I get this stacktrace using a program compiled with gcc 5.4.0 from ports. It is

gcc5-5.4.0_3                   GNU Compiler Collection 5

but previous package versions of 5.4 had the same issue. I cannot try out how
6.4 fares, because it fails to compile gnustep stuff for me.

#0  0x00000000 in ?? ()
#1  0x29c0ad42 in __cxxabiv1::__dynamic_cast (src_ptr=0x2e904a80,
   src_type=0x2973c618 <typeinfo for icu::UObject>,
   dst_type=0x2973d8b8 <typeinfo for icu::UnicodeString>, src2dst=0)
   at /usr/ports/lang/gcc5/work/gcc-5.4.0/libstdc++-v3/libsupc++/dyncast.cc:72
#2  0x2942d51d in icu::Calendar::makeInstance(icu::Locale const&, UErrorCode&)
   () from /usr/local/lib/libicui18n.so.58
#3  0x2942d3ba in icu::LocaleCacheKey<icu::SharedCalendar>::createObject(void
const*, UErrorCode&) const () from /usr/local/lib/libicui18n.so.58
#4  0x296d190f in icu::UnifiedCache::_get(icu::CacheKeyBase const&,
icu::SharedObject const*&, void const*, UErrorCode&) const ()
  from /usr/local/lib/libicuuc.so.58
#5  0x29438906 in void
icu::UnifiedCache::get<icu::SharedCalendar>(icu::CacheKey<icu::SharedCalendar>
const&, void const*, icu::SharedCalendar const*&, UErrorCode&) const () from
/usr/local/lib/libicui18n.so.58
#6  0x29437d78 in void
icu::UnifiedCache::getByLocale<icu::SharedCalendar>(icu::Locale const&,
icu::SharedCalendar const*&, UErrorCode&) ()
  from /usr/local/lib/libicui18n.so.58
#7  0x2942e90d in icu::Calendar::createInstance(icu::TimeZone*, icu::Locale
const&, UErrorCode&) () from /usr/local/lib/libicui18n.so.58
#8  0x293ec0f1 in icu::SimpleDateFormat::construct(icu::DateFormat::EStyle,
icu::DateFormat::EStyle, icu::Locale const&, UErrorCode&) ()
  from /usr/local/lib/libicui18n.so.58

and David Chisnall tells me:
This is quite surprising.  On FreeBSD, this function should be provided by
libcxxrt, not libsupc++.  Please file a bug report with the FreeBSD gcc
maintainer - it looks as if you’ve somehow ended up with a program linking both
libc++ from base and libstdc++ from ports, and the libstdc++ from ports is
incorrectly using its own internal libsupc++ instead of the system-provided
libcxxrt (which I wrote, so can help debugging a bit better).

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list