[Bug 216266] New: Firefox prints LD_PRELOAD warning on startup
https://bugzilla.novell.com/show_bug.cgi?id=216266 Summary: Firefox prints LD_PRELOAD warning on startup Product: openSUSE 10.2 Version: Beta 1 Platform: x86-64 OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Firefox AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: max@novell.com QAContact: qa@suse.de When I start firefox from the command line, it prints the following message before it starts up: ERROR: ld.so: object '/usr/lib/libaoss.so' from LD_PRELOAD cannot be preloaded: ignored. I think an explicit dependency on libaoss.so.0 should be added to the package. This won't hurt on 32bit systems (where alsa is most likely installed anyways), but it will force alsa-32bit to be installed on 64bit systems. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 chrubis@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team- |bnc-team-gnome@forge.provo.novell.com |screening@forge.provo.novell| |.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 wolfgang@rosenauer.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wolfgang@rosenauer.org ------- Comment #1 from wolfgang@rosenauer.org 2006-11-06 23:00 MST ------- Would Requires: /usr/lib/libaoss.so work correctly? If only libaoss.so would be there it would also fit the 64bit version. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 ------- Comment #2 from max@novell.com 2006-11-07 02:09 MST ------- (In reply to comment #1)
If only libaoss.so would be there it would also fit the 64bit version.
It doesn't look so to me: $ rpm -q --whatprovides libaoss.so.0 alsa-32bit-1.0.13-16 $ rpm -q --whatprovides 'libaoss.so.0()(64bit)' alsa-1.0.13-16 So, the symbols provided for this library are different between the 32bit and 64bit version of the alsa package. This means that requiring libaoss.so.0 is enough to get the -32bit package on a 64bit system, but for a 64bit build the other symbol has to be required. So I suggest this: %if "%_lib" == "lib64" Requires: libaoss.so.0()(64bit) %else Requires: libaoss.so.0 %endif -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 ------- Comment #3 from andreas.hanke@gmx-topmail.de 2006-11-07 02:32 MST ------- Remember that MozillaFirefox is a i586 package even on x86_64. There are several options: (1) Requires: /usr/%{_lib}/libaoss.so in MozillaFirefox.spec (2) Add alsa-32bit to some base pattern so that it's always installed by default I think that (2) is better because there are more affected packages than just MozillaFirefox (RealPlayer and banshee are examples). The proposal from comment 2 does not work: %if "%_lib" == "lib64" Requires: libaoss.so.0()(64bit) %else Requires: libaoss.so.0 %endif This is impossible because on IA64, "%_lib" is "lib" (not lib64) even though it is a 64-bit arch. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 ------- Comment #4 from max@novell.com 2006-11-07 04:48 MST ------- (In reply to comment #3)
Remember that MozillaFirefox is a i586 package even on x86_64.
Yes, that's the reason why a simple "Requires: alsa" won't work.
There are several options:
(1) Requires: /usr/%{_lib}/libaoss.so in MozillaFirefox.spec
/usr/%{_lib} is usually referred to as %{_libdir} .
(2) Add alsa-32bit to some base pattern so that it's always installed by default
I think that (2) is better because there are more affected packages than just MozillaFirefox (RealPlayer and banshee are examples).
I think (2) is worse, because it is a workaround rather than a fix.
The proposal from comment 2 does not work:
%if "%_lib" == "lib64" Requires: libaoss.so.0()(64bit) %else Requires: libaoss.so.0 %endif
This is impossible because on IA64, "%_lib" is "lib" (not lib64) even though it is a 64-bit arch.
Ah - yes, I wrongly assumed that on IA64 the provided symbol would also be libaoss.so.0 . So, to make it work on IA64 as well, change the %if line to: %if "%_lib" == "lib64" || "%_arch" == "ia64" BTW, how about actually linking Firefox to libaoss.so, so that the automatic dependency checking handles it? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 ------- Comment #5 from andreas.hanke@gmx-topmail.de 2006-11-07 05:04 MST ------- (In reply to comment #4)
/usr/%{_lib} is usually referred to as %{_libdir}.
%_libdir is convenient for files from the same package, it's not very reliable when referencing a file that belongs to a different package. But it doesn't really matter so much and /usr/%_lib isn't 100% reliable either. %_libdir breaks if either alsa or firefox change their prefix, /usr/%_lib would break only if alsa changes its prefix.
Ah - yes, I wrongly assumed that on IA64 the provided symbol would also be libaoss.so.0 . So, to make it work on IA64 as well, change the %if line to:
%if "%_lib" == "lib64" || "%_arch" == "ia64"
This is still not entirely accurate because the startup script preloads libaoss.so and not libaoss.so.0 (which is the SONAME and therefore the only symbol that ends up in the Provides list, except for absolute filenames).
BTW, how about actually linking Firefox to libaoss.so, so that the automatic dependency checking handles it?
The sole purpose of libaoss.so is being preloaded by applications that don't support ALSA natively, nothing in the distribution links to it. Firefox does not have native ALSA support yet. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 ------- Comment #6 from andreas.hanke@gmx-topmail.de 2006-11-07 05:34 MST ------- Forgot to mention the binary-only plugins without native ALSA support, they are dynamically loaded by firefox and therefore the only place to prevent them from blocking the sound device is the firefox startup script. Strictly speaking, libaoss shouldn't have an SONAME at all. That it has one is probably caused by bad usage of libtool. I do not think that using it to express this firefox <-> alsa relationship is a good idea. The script preloads the library by its filename, and the relationships should be expressed as closely as possible to the actual usage. alsa should be installed by patterns in any case, who knows how many packages would have to be fixed individually, this pulls alsa-32bit on x86_64 as well and makes sense independently of firefox because there are many other packages and also unpackaged software that make use of libaoss. Besides that, the warning on startup is ugly and should be avoided and making sure that libaoss is installed is the most accurate solution, but not the only one. Firefox could, for example, check if libaoss is available before trying to preload it. libaoss is not a hard dependency of firefox, upstream binaries from mozilla.org don't use it at all. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 ------- Comment #7 from sbrabec@novell.com 2006-11-10 09:14 MST ------- Ah. Looking again at firefox start script, correct should be: LD_PRELOAD=/usr/\$LIB/libaoss.so${LD_PRELOAD:+:$LD_PRELOAD} $MOZ_PROGRAM $@ Note the \$LIB - $LIB is passed to glibc and is evaluated there. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=216266 aj@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Fixed in Milestone|--- |Beta 2 plus ------- Comment #8 from aj@novell.com 2006-11-12 01:53 MST ------- Fixed. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com