Bug 856146 - /usr/bin/padsp is native arch only
/usr/bin/padsp is native arch only
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: pulseaudio (Show other bugs)
20
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Rex Dieter
Fedora Extras Quality Assurance
: FutureFeature
: 891425 (view as bug list)
Depends On: pulseaudio-5.0
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-11 06:03 EDT by Paolo Bonzini
Modified: 2014-08-19 08:54 EDT (History)
8 users (show)

See Also:
Fixed In Version: pulseaudio-5.0-7.fc20
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-08-19 08:34:30 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Paolo Bonzini 2012-09-11 06:03:50 EDT
Description of problem:
Because LD_PRELOAD is set to a library that is either in /usr/lib or in /usr/lib64, pulseaudio-utils cannot be installed for both .i686 and .x86_64

Version-Release number of selected component (if applicable):
2.0-4.fc18

How reproducible:
100%

Steps to Reproduce:
1. Try to install pulseaudio-utils for both i686 and x86_64
  
Actual results:
Installation fails

Expected results:
Installation succeeds

Additional info:
pulseaudio-1.1 used libpulsedsp.so, without a path, for the LD_PRELOAD library.  This worked for both i686 and x86_64.
Comment 1 Edgar Hoch 2013-05-01 22:09:13 EDT
The problem still exists with pulseaudio-utils-2.1-6:

Transaction Check Error:
  file /usr/bin/padsp from install of pulseaudio-utils-2.1-6.fc18.i686 conflicts with file from package pulseaudio-utils-2.1-6.fc18.x86_64
Comment 2 Edgar Hoch 2013-05-01 22:25:37 EDT
There is bug #912515 which describes the same problem.

pulseaudio-utils-2.1-7 does not solve the problem (see bug #912515).
Comment 3 Fedora End Of Life 2013-12-21 03:51:08 EST
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 4 Edgar Hoch 2013-12-21 04:13:45 EST
I actually checked the package at Fedora 19. It seems that it is not solved on Fedora 19.

- On Fedora 19 there exists only a x86_64 package of pulseaudio-utils, no i686 package (in the x86_64 repository):
    pulseaudio-utils-3.0-10.fc19.x86_64

  This solves the package conflict, but does not provide padsp for 32 bit programs.

- On Fedora 19 there exists packages
    pulseaudio-libs-3.0-10.fc19.x86_64
    pulseaudio-libs-3.0-10.fc19.i686
  which can be installed together. They provide libraries
    /usr/lib64/pulseaudio/libpulsedsp.so
    /usr/lib/pulseaudio/libpulsedsp.so
  but only the 64 bit version is used by padsp.


I think a solution could be to add an option to padsp to choose the 32 bit instead of the 64 bit library, or to create a new script padsp32 which uses the 32 bit library, or something similar.
Comment 5 Rex Dieter 2014-07-16 09:34:00 EDT
*** Bug 891425 has been marked as a duplicate of this bug. ***
Comment 6 Rex Dieter 2014-07-16 09:37:12 EDT
fun history lessons in bug #376721 and followup bug #891425

still pondering how best to solve this.
Comment 7 Rex Dieter 2014-07-16 11:21:43 EDT
%changelog
* Wed Jul 16 2014 Rex Dieter <rdieter@fedoraproject.org> 5.0-7
- Provide padsp-32, /usr/bin/padsp is native arch only (#856146)
Comment 8 Rex Dieter 2014-07-16 11:30:18 EDT
Meh, actually the source the problems here seems to the move from 
LD_PRELOAD="libpulsedsp.so"
to
LD_PRELOAD="@pkglibdir@/libpulsedsp.so"

in upstream commit
http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=a96390d86519cf38a23296d912a0271263774ec9

I'm considering simply reverting that too as a simpler fix (and let ld figure it out)
Comment 9 Rex Dieter 2014-07-16 14:35:03 EDT
Or not, that way has it's own set of problems :-/ , let's stick with providing a padsp-32 for awhile, and see how that goes.
Comment 10 Christian Costa 2014-08-18 20:24:48 EDT
Is there a fix for this problem? This is a bit annoying.

For what it worth I fixed the problem on my system with:

--- padsp_orig	2014-08-19 01:59:58.759071577 +0200
+++ padsp	2014-08-19 02:13:45.651089154 +0200
@@ -75,10 +75,16 @@
 
 shift $(( $OPTIND - 1 ))
 
+if [ x`file $1 | grep 32-bit` = x ] ; then
+   arch=x86_64-linux-gnu
+else
+   arch=i386-linux-gnu
+fi
+
 if [ x"$LD_PRELOAD" = x ] ; then
-   LD_PRELOAD="/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so"
+   LD_PRELOAD="/usr/lib/$arch/pulseaudio/libpulsedsp.so"
 else
-   LD_PRELOAD="$LD_PRELOAD /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so"
+   LD_PRELOAD="$LD_PRELOAD /usr/lib/$arch/pulseaudio/libpulsedsp.so"
 fi
 
 export LD_PRELOAD
Comment 11 Rex Dieter 2014-08-19 08:22:49 EDT
Use padsp-32 , see comment #7
Comment 12 Rex Dieter 2014-08-19 08:34:30 EDT
Included in pulseaudio-5.0-7.fc20
Comment 13 Christian Costa 2014-08-19 08:54:51 EDT
Ok. I was not sure if it was fixed that way. Thanks!

Note You need to log in before you can comment on or make changes to this bug.