pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/52487: www/firefox FreeBSD current Undefined symbols for architecture x86_64 "vtable for mozilla::dom::MessagePortChild"



>Number:         52487
>Category:       pkg
>Synopsis:       www/firefox FreeBSD current Undefined symbols for architecture x86_64 "vtable for mozilla::dom::MessagePortChild"
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 15 23:20:00 +0000 2017
>Originator:     David Shao
>Release:        pkgsrc current
>Organization:
>Environment:
FreeBSD xxxxxx.xxx 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r322448+3042c42db42(svn_head): Sat Aug 12 20:19:21 PDT 2017     xxxxxx%xxxxxx.xxx@localhost:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
Building www/firefox 54 and now 55.0.1 fails on FreeBSD 12 current, at least post import of llvm 5, with an error message such as:

Undefined symbols for architecture x86_64:
  "vtable for mozilla::dom::MessagePortChild", referenced from:
    mozilla::dom::MessagePortChild::MessagePortChild() in BackgroundChildImpl.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.

This problem and patches that fix the problem for Firefox 56 are reported at:

https://bugzilla.mozilla.org/show_bug.cgi?id=1382863

"Undefined symbols for architecture x86_64 "vtable for mozilla::dom::MessagePortChild"

This problem was actually noticed first on MacOS and may afflict other OSes that use llvm as the base compiler.


>How-To-Repeat:

>Fix:
https://hg.mozilla.org/integration/autoland/rev/4e853e81c2be

$NetBSD$

Undefined symbols for architecture x86_64 "vtable for mozilla::dom::MessagePortChild"

https://bugzilla.mozilla.org/show_bug.cgi?id=1382863

Bug 1382863 Part 1: Move MessagePortChild constructor out of inline, creating a vtable needed for clang compilation.

Already committed for Firefox 56.

--- dom/messagechannel/MessagePortChild.cpp.orig	2017-06-15 20:52:23.000000000 +0000
+++ dom/messagechannel/MessagePortChild.cpp
@@ -11,6 +11,11 @@
 namespace mozilla {
 namespace dom {
 
+MessagePortChild::MessagePortChild()
+  : mPort(nullptr)
+{
+}
+
 mozilla::ipc::IPCResult
 MessagePortChild::RecvStopSendingDataConfirmed()
 {

$NetBSD$

Undefined symbols for architecture x86_64 "vtable for mozilla::dom::MessagePortChild"

https://bugzilla.mozilla.org/show_bug.cgi?id=1382863

Bug 1382863 Part 1: Move MessagePortChild constructor out of inline, creating a vtable needed for clang compilation.

Already committed for Firefox 56.

--- dom/messagechannel/MessagePortChild.h.orig	2017-06-15 20:52:23.000000000 +0000
+++ dom/messagechannel/MessagePortChild.h
@@ -19,7 +19,7 @@ class MessagePortChild final : public PMessagePortChil
 public:
   NS_INLINE_DECL_REFCOUNTING(MessagePortChild)
 
-  MessagePortChild() : mPort(nullptr) {}
+  MessagePortChild();
 
   void SetPort(MessagePort* aPort)
   {



Home | Main Index | Thread Index | Old Index