jacksonlcrews / darkice

Automatically exported from code.google.com/p/darkice
0 stars 0 forks source link

PulseAudio patch #25

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
the patch adds pulseaudio support using the pulseaudio simple API. 

I have tested it for a while without any problems so far. 

Original issue reported on code.google.com by flip.ro...@gmail.com on 11 Jun 2010 at 4:23

Attachments:

GoogleCodeExporter commented 9 years ago
I just built a Fedora 13 server for my home, and was hoping this patch would 
help me avoid another fight with PulseAudio.  I'll state up-front that I'm a 
newbie when it comes to patching/compiling code, so this may be a really stupid 
comment.

I've downloaded and applied the patch, but it does not seem to have updated the 
configure script.

./configure --with-lame-prefix=/usr/local --with-pulseaudio

results in

configure: WARNING: unrecognized options: --with-pulseaudio
... lots of stuff ...
configure: WARNING: unrecognized options: --with-pulseaudio

How can I compile darkice with this patch?

Original comment by ali...@gmail.com on 20 Jun 2010 at 6:52

GoogleCodeExporter commented 9 years ago
download the version in svn, apply the patch and use the autogen.sh to generate 
the configure script. 
try this:
svn checkout http://darkice.googlecode.com/svn/darkice/trunk/ darkice-read-only
cd darkice-read-only/
patch -p0 -i ../pulseaudio_2.patch
./autogen.sh
./configure
make

Original comment by flip.ro...@gmail.com on 21 Jun 2010 at 12:51

GoogleCodeExporter commented 9 years ago
Thank you for your assistance.  I'm closer, but clearly I'm doing something 
wrong...

Everything works up until autogen.sh.  I can get that to complete successfully 
if I include "--with-lame-prefix=/usr/local" on that command line.

Configure is similar.  It completes successfully with 
"--with-lame-prefix=/usr/local --with-pulseaudio".

However, when I make, I get the following (among other errors):
PulseAudioDspSource.h:52:26: error: pulse/simple.h: No such file or directory
PulseAudioDspSource.h:53:25: error: pulse/error.h: No such file or directory
PulseAudioDspSource.h:54:28: error: pulse/gccmacro.h: No such file or directory

I checked the src/ directory and did not see any "pulse" sub-directory.  I also 
checked the .patch file and did not see any references to indexes for these 
files.

Again, I'm sure I'm doing something wrong and I apologize for being so dense.

Original comment by ali...@gmail.com on 23 Jun 2010 at 3:50

GoogleCodeExporter commented 9 years ago
You are confused, my friend. Whats missing is the pulseaudio headers and 
libraries. 

You need to install them. On Ubuntu/Debian its the libpulse-dev  package. I 
don't know about Fedora. 

This will install the .h files usually (but not necessary) on /usr/include and 
the libraries on /usr/lib. 

If you still have problems, please provide the output of configure. 

Original comment by flip.ro...@gmail.com on 23 Jun 2010 at 9:52

GoogleCodeExporter commented 9 years ago
Is this patch fine? Can I apply it to trunk?

Original comment by rafael2k...@gmail.com on 19 Jul 2010 at 8:57

GoogleCodeExporter commented 9 years ago
Sorry - I just moved houses and I'm getting married in 2 weeks, so things have 
been crazy.

I've got the headers and libraries installed, re-downloaded the SVN version and 
re-applied the patch.  Now configure runs cleanly, but I'm getting this compile 
time error:

/usr/bin/ld: PulseAudioDspSource.o: undefined reference to symbol 
'pa_strerror@@PULSE_0'
/usr/bin/ld: note: 'pa_strerror@@PULSE_0' is defined in DSO 
/usr/lib/libpulse.so.0 so try adding it to the linker command line
/usr/lib/libpulse.so.0: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[2]: *** [darkice] Error 1
make[2]: Leaving directory `/home/me/Downloads/darkice-read-only/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/me/Downloads/darkice-read-only/src'
make: *** [all-recursive] Error 1

autogen'd with './autogen.sh --with-lame-prefix=/usr/local --with-pulseaudio'
configured with './configure --with-lame-prefix=/usr/local --with-pulseaudio'

Configure output attached as requested.

My guess is that the patch is fine, and I'm just an idiot :-)

Original comment by ali...@gmail.com on 19 Jul 2010 at 9:22

Attachments:

GoogleCodeExporter commented 9 years ago
Your problem is related to the linking stage of the compile process.

In  theory the compiler should had linked to the libpulse-simple with no 
problem. I have no idea  why yours wasn't successful. 

Check what pulse libraries you have in /usr/lib/. And please provide more of 
the make process output.

Original comment by flip.ro...@gmail.com on 20 Jul 2010 at 3:35

GoogleCodeExporter commented 9 years ago
libpulse-simple appears to be installed:
/usr/lib/libpulse-simple.so
/usr/lib/libpulse-simple.so.0
/usr/lib/libpulse-simple.so.0.0.3

Other libpulse libraries installed in /usr/lib are:
libpulse
libpulse-browse
libpulse-mainloop
libpulsecommon
libpulsecore
libpulsedsp

I did a fresh SVN download and reapplied the patch just to be sure I didn't 
screw something else up.

Autogen, Configure, and Make output for this run is attached.

Original comment by ali...@gmail.com on 20 Jul 2010 at 4:01

Attachments:

GoogleCodeExporter commented 9 years ago
I believe this is a fedora issue. they made some changes to the way the linking 
process occurs, see http://fedoraproject.org/wiki/UnderstandingDSOLinkChange , 
https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking , 
http://doc.fedoraproject.org/en-US/Fedora/13/html/Release_Notes/sect-Release_Not
es-The_GCC_Compiler_Collection.html

So if I'm right on my pc when I link the libpulse-simple library the ld 
(linker) will automatically include libpulse, but in fedora, because they 
deactivated it, you will have to add the libpulse library in the Makefile or 
better yet in the configure.in. 

Original comment by flip.ro...@gmail.com on 20 Jul 2010 at 5:53

GoogleCodeExporter commented 9 years ago
Updated the patch for the current revision(487).
+ included libpulse in configure.in

Now compiles in fedora too(see above comment).

Original comment by johann....@gmail.com on 16 Sep 2010 at 2:02

Attachments:

GoogleCodeExporter commented 9 years ago
patch applied with a minor fix.
please test!

Original comment by rafael2k...@gmail.com on 17 Sep 2010 at 8:38