Closed Bug 1051209 Opened 10 years ago Closed 10 years ago

GTK3 build cannot display Flash contents.

Categories

(Core :: Widget: Gtk, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35
Tracking Status
firefox34 --- affected
firefox35 --- fixed

People

(Reporter: hidenosuke, Assigned: glandium)

References

Details

Attachments

(1 file)

Firefox GTK3 build cannot display Flash contents. Steps to reroduce: 1. Open http://japanese.engadget.com/video/5min/518281818/ Actual result: 1. Flash player are not displayed. Environment: OS: Debian GNU/Linux adm64 unstable(most recent) GNOME 3.12 GTK: 3.12.2-1+b1
The output to console is following: (plugin-container:4781): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported [4682] WARNING: pipe error (93): 接続が相手からリセットされました: file /home/hideo/develop/mozilla-central/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 452
What version of Firefox (cset, ideally?) are you using? What version of flash player?
Blocks: gtk3
Component: General → Widget: Gtk
Flags: needinfo?(hidenosuke)
Product: Firefox → Core
Version: unspecified → Trunk
(In reply to :Gijs Kruitbosch from comment #2) > What version of Firefox (cset, ideally?) are you using? What version of > flash player? I pulled source codes form mozilla-central and built them. Version of Flash player is 11.2.202.394. .mozconfig is following: . $topsrcdir/browser/config/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/fx-opt mk_add_options AUTOCONF=autoconf2.13 # Options for 'configure' (same as command-line options). # Enable parallel compiling mk_add_options MOZ_MAKE_FLAGS="-j4" # Avoid dependency on libstdc++ 4.5 ac_add_options --enable-stdcxx-compat # Use ccache ac_add_options --with-ccache=/usr/bin/ccache # Enable Profile-guided Optimization mk_add_options PROFILE_GEN_SCRIPT='$(MAKE) -C $(MOZ_OBJDIR) pgo-profile-run' ac_add_options --enable-profiling # Use gtk3 for default toolkit ac_add_options --enable-default-toolkit=cairo-gtk3 #ac_add_options --disable-crashreporter ac_add_options --without-system-nspr ac_add_options --without-system-nss #ac_add_options --disable-optimize #ac_add_options --enable-debug mk_add_options AUTOCLOBBER=1
Flags: needinfo?(hidenosuke)
plugin-container should not be loading GTK3 libraries. http://hg.mozilla.org/mozilla-central/annotate/0c7eb00d3ef6/ipc/glue/GeckoChildProcessHost.cpp#l542 should mean that libmozgtk2.so is loaded instead of GTK3 libraries. Check that libmozgtk2.so does not depend on GTK3 libraries.
Yes, I can reproduce it, with latest trunk.
I have this too since Aurora was updated to 34. It was working fine before.
Libxul.so directly depends on libgtk-3.so.0. Seems like something screwed up the linking. I've also noticed that the build fails since 34 if the LDFLAGS contain -Wl,--as-needed.
libxu.so is linked with gtk3 (there are -lgtk-3 -lgdk-3 on the linker command line).
I created bug 1063359 for the --as-needed FTBFS.
I don't think the --as-needed is the problem here. Looks like a regression caused by Bug 1045783, which explicitly links libxul.so with the gtk3 libraries. See: http://hg.mozilla.org/mozilla-central/annotate/db7212847c14/toolkit/library/moz.build#l287
(In reply to Martin Stránský from comment #10) > I don't think the --as-needed is the problem here. Looks like a regression > caused by Bug 1045783, which explicitly links libxul.so with the gtk3 > libraries. See: > > http://hg.mozilla.org/mozilla-central/annotate/db7212847c14/toolkit/library/ > moz.build#l287 It's the exact opposite: that adds all flags from TK_LIBS *except* -lgtk-3 and -lgdk-3.
What does grep gtk-3 $objdir/config/autoconf.mk say?
grep gtk-3 $objdir/config/autoconf.mk: MOZ_GTK3_CFLAGS = -I/home/komat/tmp675-trunk-try/src/widget/gtk/compat-gtk3 -pthread -I/usr/include/gtk-3.0/unix-print -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include MOZ_GTK3_LIBS = -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
TK_LIBS='$(MOZ_GTK3_LIBS)' doh.
Try removing those single quotes.
Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
Comment on attachment 8484848 [details] [diff] [review] Properly link libxul.so on GTK+3 builds after bug 1045783 Works for me.
(In reply to Martin Stránský from comment #17) > Comment on attachment 8484848 [details] [diff] [review] > Properly link libxul.so on GTK+3 builds after bug 1045783 > > Works for me. I tried this patch and it works for me too. Thanks.
I can confirm the patch above fixed the issue for me too.
Blocks: 1045783
Comment on attachment 8484848 [details] [diff] [review] Properly link libxul.so on GTK+3 builds after bug 1045783 Why does MOZ_GTK3_LIBS need to be different from MOZ_GTK2_LIBS and MOZ_GTK3_CFLAGS? If the single-quotes break MOZ_GTK3_LIBS, I'd expect it to be similarly broken for those other two variables. It isn't clear why they can't be consistent.
Flags: needinfo?(mh+mozilla)
MOZ_GTK3_LIBS needs to be different from MOZ_GTK2_LIBS and MOZ_GTK3_CFLAGS because of http://hg.mozilla.org/mozilla-central/annotate/db7212847c14/toolkit/library/moz.build#l286
Flags: needinfo?(mh+mozilla)
Comment on attachment 8484848 [details] [diff] [review] Properly link libxul.so on GTK+3 builds after bug 1045783 Ugh, please document that somehow in configure.in It's really not obvious at all from that file why it should be different.
Attachment #8484848 - Flags: review?(mshal) → review+
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: