Compilation Error (Related to AudioEngine)
#1
Guys,
I've been compiling the git tarball once a week. yesterday I found the following error:
AR xbmc/cores/paplayer/paplayer.a
LD xbmc.bin
xbmc/cores/AudioEngine/audioengine.a(PulseAE.o): In function `CPulseAE::CanInit()':
/root/rpmbuild/BUILD/xbmc-12.0-ALPHA6/xbmc/cores/AudioEngine/Engines/PulseAE/PulseAE.cpp:113: undefined reference to `pa_simple_new'
/root/rpmbuild/BUILD/xbmc-12.0-ALPHA6/xbmc/cores/AudioEngine/Engines/PulseAE/PulseAE.cpp:117: undefined reference to `pa_simple_free'
collect2: error: ld returned 1 exit status

I waited until today to see if someone else noticed it... but same thing happened when I pulled it today. Is it me?
Reply
#2
clean. if it still errors I will look into it I did do some trivial changes there yesterday.
Reply
#3
I'm doing an RPM build so basically I do a clean every time I try to compile (well it actually uncompresses the whole tar again).

Just in case I'm compiling with:
./configure \
--prefix=%{_prefix} --bindir=%{_bindir} --includedir=%{_includedir} \
--libdir=%{_libdir} --datadir=%{_datadir} \
--with-lirc-device=/var/run/lirc/lircd \
--enable-external-libraries \
--enable-vdpau \
--enable-vaapi \
--enable-rtmp \
--enable-pulse \
--disable-dvdcss \
--disable-optimizations --disable-debug \
CPPFLAGS="-I/usr/include/ffmpeg" \
CFLAGS="$RPM_OPT_FLAGS -fPIC -I/usr/include/ffmpeg -D__STDC_CONSTANT_MACROS" \
CXXFLAGS="$RPM_OPT_FLAGS -fPIC -I/usr/include/ffmpeg -D__STDC_CONSTANT_MACROS" \
LDFLAGS="-fPIC" \
LIBS="-L%{_libdir}/mysql -lhdhomerun $LIBS" \
ASFLAGS=-fPIC

I'll try to disable pulseaudio and VAAPI, since I'm not really using them.
Well, I'm using pulseaudio, is VAAPI that i'm not using. Damn you Fedoraaa!
Reply
#4
I got the same error. My system is Archlinux 32-bit.
Here is my build log: https://pastee.org/bfvge
Reply
#5
You can solve it temporarily by not compiling with --enable-pulse . Apparently its broken...
Reply
#6
Alternatively, I think you could just revert ad7817fd49378376715616d0e3f1b2bc6546364c and 615af13d765da00258481f471115fe10b464aa68; they were merged in last week and seem to have some linking issues(?), but as long as you know your PA works it looks like you can do without them for now.

EDIT: Oh, seems pulse-simple is a separate library (libpulse-simple.so) from regular pulseaudio, so I guess it just needs to be added to the linker along with everything else.
Reply
#7
yeah, the issue seems to be that libpulse links to pulse-simple on ubuntu, but apparently not elsewhere.
Reply
#8
Does it? Admittedly I'm running Arch(64) like the other guy there, but I booted up the Eden XBMCBuntu livecd really quickly, and ldd on libpulse.so shows a dependency on pulsecommon, but I don't see anything on pulse-simple. Pulse-simple does depend on pulse, which makes sense to me, since as far as I know it's just a simplified intermediary to the normal pulse functions.

Is it possible that some devs are rolling their own pulse libraries? Or (much more likely, I think) am I misunderstanding something?
Reply
#9
it links for me on ubuntu. i didn't check the details, maybe libpulse has the symbols from pulse-simple then.
Reply
#10
It compiles now after applying this patch.
Code:
--- xbmc/configure.in    2012-10-21 22:41:20.368057835 +0200
+++ xbmc-build/configure.in    2012-10-21 22:53:53.511585402 +0200
@@ -1150,6 +1150,15 @@
         AC_MSG_RESULT($pulse_not_found)
       fi])
       USE_PULSE=1
+    AC_CHECK_LIB([pulse-simple], [main],,
+      [if test "x$use_pulse" = "xyes"; then
+        AC_MSG_ERROR($pulse_not_found)
+      else
+        use_pulse=no
+        USE_PULSE=0
+        AC_MSG_RESULT($pulse_not_found)
+      fi])
+      USE_PULSE=1
   fi
else
   AC_MSG_RESULT($pulse_disabled)
Reply
#11
Is this patch already upstream (on git)?
Reply
#12
(2012-10-24, 20:35)ncorrare Wrote: Is this patch already upstream (on git)?

Not sure, i got it from archvdr repo for Archlinux.
Reply

Logout Mark Read Team Forum Stats Members Help
Compilation Error (Related to AudioEngine)0