Closed Bug 178805 Opened 22 years ago Closed 12 years ago

[gtk2] should port bug 154206 [hack to make existing linux flashplayer & real binaries work with gcc 3.1 builds] to gtk2

Categories

(Core Graveyard :: Plug-ins, defect, P3)

x86
Linux

Tracking

(Not tracked)

RESOLVED WORKSFORME
mozilla1.4beta

People

(Reporter: iamawalrus, Assigned: srgchrpv)

References

Details

(Whiteboard: [PL2:NA])

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021017 Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021017 moz+gtk2 built by gcc3.2 will crash while using flash. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Blocks: gtk2
Status: UNCONFIRMED → NEW
Ever confirmed: true
Dan: is this something you would be able to do? If not, please hand it back to me
Assignee: beppe → dmose
Does this require any changes to the widget code? I thought all of that stuff was down in xpfe/
Yeah, that code is all in nsAppRunner.cpp, I think. Shouldn't require any porting. Robin, can you post more specifics, like any error messages that you see or a stack trace?
This is what the moz+gtk2 prints out before crash: For application/x-shockwave-flash found plugin /home/robin/nodes/trunk/mozilla_1/buildgtk2/dist/bin/plugins/libflashplayer.so LoadPlugin() /home/robin/nodes/trunk/mozilla_1/buildgtk2/dist/bin/plugins/libflashplayer.so returned 8943b80 ./dist/bin/mozilla-bin: relocation error: /home/robin/nodes/trunk/mozilla_1/buildgtk2/dist/bin/plugins/libflashplayer.so: undefined symbol: __builtin_vec_new The same trunk(Nov. 3) for moz+gtk1.2 build is ok for flash. But when I 'nm mozilla-bin' in my moz+gtk2 dist/bin, it does have __builtin_vec_new and the other old symbols, which means the MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPER works also for gtk2. It might be that I put a wrong summary for this bug. [robin@game bin]$ nm mozilla-bin | more U atoi@@GLIBC_2.0 08065388 A __bss_start 08052b10 T __builtin_delete 08052aea T __builtin_new 08052abe T __builtin_vec_delete 08052a94 T __builtin_vec_new 08052a08 t call_gmon_start 08065388 b completed.1 08064bd0 d __CTOR_END__ 08064bcc d __CTOR_LIST__ ... However, the flahs just can not find the symbol and I don't know why.
with flash6 only you can try setenv FLASH_GTK_LIBRARY libgtk-2.0.so
serge, it does not work for me.
Ed Millard, could you add some comment on gtk2 & flash6 plugin, please? Thanks.
I really wouldn't expect any kind of binary compatibility for using gtk 1.2 timers (which is what the flash plugin will expect to find) with gtk2. This is a major version release for a reason. :) Anyway, the error that you're seeing there is because the flash plugin in question is compiled with a different version of gcc than the 3.2 you're using right now. Adding the fake symbols that flash looks for may or may not work. The symbols might resolve but I doubt they are actually binary compatible. I think we're playing with fire here.
blizzard: I'm not sure what's causing this problem, but I don't think that's it. The symbols I added are not name-mangled at all (they have |extern "C"| linkage), so they should just work. They were added specifically to allow the flashplayer compiled with something other than gcc 3.2 to work with a gcc 3.2 build, and this functions fine on the current trunk build. In any case, the semantics should be correct, as they were verified by looking at the libgcc source code for the functions in question. Does the gtk2 port somehow have different linkage or linker options?
No, there are no differences like that.
I'm probably not going to have a chance to play with the GTK2 build for a while; handing back to beppe for now.
Assignee: dmose → beppe
setting out to 1.4 beta, this will have to wait
Assignee: beppe → serge
Priority: -- → P3
Whiteboard: [PL2:NA]
Target Milestone: --- → mozilla1.4beta
I tried to define those function in another .so(a stand alone so and independ anything of mozilla. like foo.so). And I set LD_PRELOAD=foo.so. After these step, flash plugin works well with mozilla(gtk2, gcc3.2 build). Who knows the reason of this issue?
Oh, geez. Not this again. The compiler versions use different name mangling.
I've tried the latest Flash 6 Beta and it works for moz+gtk2+gcc3.2. I am not sure how about the other plugins.
Robin: with Flash 6, are you saying the original report is now working for you? If so, can you please mark this as a works for me, thanks
I can not mark this as WFM currently because only flash plugin works for me while the other such as java plugin still does not work.
The Java plugin has a much more deep-rooted problem than the others. The fix from 154206 won't fix it; we need a newly compiled Java plugin. See bug 116444.
Flash 6 beta+moz+gtk2+xft+gcc3.2 build works for me.
*** Bug 198562 has been marked as a duplicate of this bug. ***
*** Bug 212211 has been marked as a duplicate of this bug. ***
*** Bug 212309 has been marked as a duplicate of this bug. ***
Would this bug, by chance, be the reason why the RealPlayer 8 plugin doesn't show up in Firebird (20031001, about:plugins)? The plugin does show up for me in Mozilla 1.2.1 but it always either crashes or freezes Mozilla when I try to load a page that uses the plugin.
FYI, RealNetworks has released a new (prerelease) Mozilla plugin as part of the Helix Player project (https://player.helixcommunity.org). It's open source, based on GTK2, and we've done builds with both GCC 2.95 and GCC 3.2, so many of the annoying compiler mismatch issues should go away with the selection of the right build. We're planning on having a release quality build early next year.
*** Bug 212211 has been marked as a duplicate of this bug. ***
*** Bug 223935 has been marked as a duplicate of this bug. ***
Blocks: 264538
Is this fixed with current SM builds (gtk2 based) and newest plugins? Seems to work for me.
QA Contact: shrir → plugins
this should not be an issue with current Firefox builds and plugins
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.