Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
installing pulseaudio with uclibc profile
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Tue Aug 19, 2014 7:23 am    Post subject: installing pulseaudio with uclibc profile Reply with quote

Has anyone done this? I have a very minimal stripped-down system that I use as an X server for a headless KVM instance. The server's eselected profile is hardened/linux/uclibc/x86 (built from the appropriate stage3) to which I want to add the PA sound server. So:
/etc/portage/make.conf:
CHOST="i686-gentoo-linux-uclibc"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
CFLAGS="-mfpmath=sse -O2 -march=native -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2 -s"
LINGUAS="en en_GB"
USE="usb vnc ssh freerdp fontconfig pam dbus wordexp -glamor -llvm -apm -doc pulseaudio theora v4l2 xvid threads -debug X opengl xnest xcomposite alsa ssl dri acpi glibc-omitfp unicode nls truetype mmap acl cairo libnotify -xattr ldap"
FEATURES="-xattr ccache"
INPUT_DEVICES="evdev"
VIDEO_CARDS="radeon"
ALSA_CARDS="intel"
GENTOO_MIRRORS="http://ftp.swin.edu.au/gentoo http://mirror.pacific.net.au/linux/Gentoo ftp://ftp.swin.edu.au/gentoo ftp://mirror.pacific.net.au/linux/Gentoo "
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
PORTDIR="/usr/portage"
and
/etc/portage/package.use/uclibc:
sys-libs/uclibc -* savedconfig iconv
I added iconv but the rest was already there.

The emerge of pulseaudio fails with
Code:
...
libtool: link: ( cd ".libs" && rm -f "module-simple-protocol-tcp.la" && ln -s "../module-simple-protocol-tcp.la" "module-simple-protocol-tcp.la" )
libtool: link: i686-gentoo-linux-uclibc-gcc -std=gnu99 -shared  -fPIC -DPIC  modules/.libs/module-null-sink.o   -Wl,-rpath -Wl,/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs -Wl,-rpath -Wl,/usr/lib/pulseaudio -L/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs -Wl,--as-needed ./.libs/libpulsecore-5.0.so -L/usr/lib /usr/lib/libltdl.so -lspeexdsp /var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs/libpulse.so ./.libs/libpulsecommon-5.0.so ./.libs/libpulse.so /var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs/libpulsecommon-5.0.so -lX11-xcb -lX11 -lxcb -lICE -lSM -lXtst -ljson-c -lwrap /usr/lib/libiconv.so -lsndfile -lasyncns -ldbus-1 /usr/lib/libgdbm.so -lcap -lpthread -lrt -ldl -lm  -pthread -mfpmath=sse -O2 -march=native -Wl,-z -Wl,nodelete -Wl,--no-undefined -Wl,-O1   -pthread -Wl,-soname -Wl,module-null-sink.so -o .libs/module-null-sink.so
modules/.libs/module-null-sink.o: In function `module_null_sink_LTX_pa__get_description':
module-null-sink.c:(.text+0x7a3): undefined reference to `libintl_dgettext'
modules/.libs/module-null-sink.o: In function `module_null_sink_LTX_pa__init':
module-null-sink.c:(.text+0xb81): undefined reference to `libintl_dgettext'
collect2: error: ld returned 1 exit status
make[3]: *** [module-null-sink.la] Error 1
make[3]: *** Waiting for unfinished jobs....
libtool: link: i686-gentoo-linux-uclibc-gcc -std=gnu99 -shared  -fPIC -DPIC  modules/.libs/module-null-source.o   -Wl,-rpath -Wl,/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs -Wl,-rpath -Wl,/usr/lib/pulseaudio -L/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs -Wl,--as-needed ./.libs/libpulsecore-5.0.so -L/usr/lib /usr/lib/libltdl.so -lspeexdsp /var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs/libpulse.so ./.libs/libpulsecommon-5.0.so ./.libs/libpulse.so /var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs/libpulsecommon-5.0.so -lX11-xcb -lX11 -lxcb -lICE -lSM -lXtst -ljson-c -lwrap /usr/lib/libiconv.so -lsndfile -lasyncns -ldbus-1 /usr/lib/libgdbm.so -lcap -lpthread -lrt -ldl -lm  -pthread -mfpmath=sse -O2 -march=native -Wl,-z -Wl,nodelete -Wl,--no-undefined -Wl,-O1   -pthread -Wl,-soname -Wl,module-null-source.so -o .libs/module-null-source.so
libtool: link: ( cd ".libs" && rm -f "module-null-source.la" && ln -s "../module-null-source.la" "module-null-source.la" )
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
 * ERROR: media-sound/pulseaudio-5.0-r2::gentoo failed (compile phase):
 *   emake failed
 *
 * If you need support, post the output of `emerge --info '=media-sound/pulseaudio-5.0-r2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-sound/pulseaudio-5.0-r2::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/media-sound/pulseaudio-5.0-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/pulseaudio-5.0-r2/temp/environment'.
 * Working directory: '/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86'
 * S: '/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0'
Any ideas?
_________________
Michael Mounteney
Back to top
View user's profile Send private message
TheCubeIsALie
n00b
n00b


Joined: 11 Sep 2013
Posts: 19

PostPosted: Wed Aug 20, 2014 3:00 am    Post subject: Reply with quote

According to http://wiki.openwrt.org/doc/howto/pulseaudio, pulseaudio requires a libc with nptl. Do you have uclibc compiled with the nptl use flag?
Back to top
View user's profile Send private message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Wed Aug 20, 2014 7:41 pm    Post subject: Reply with quote

TheCubeIsALie wrote:
According to http://wiki.openwrt.org/doc/howto/pulseaudio, pulseaudio requires a libc with nptl. Do you have uclibc compiled with the nptl use flag?
Thanks; I tried that but no difference.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
TheCubeIsALie
n00b
n00b


Joined: 11 Sep 2013
Posts: 19

PostPosted: Wed Aug 20, 2014 7:52 pm    Post subject: Reply with quote

I saw a thread with a similar undefined reference issue, and it looks like he solved it by rebuilding gcc. Perhaps this would also work for you?
Back to top
View user's profile Send private message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Fri Aug 22, 2014 12:18 pm    Post subject: Reply with quote

TheCubeIsALie wrote:
I saw a thread with a similar undefined reference issue, and it looks like he solved it by rebuilding gcc. Perhaps this would also work for you?
His missing symbol was libintl_gettext and mine was libintl_dgettext. I rebuilt anyway but no go. The problem appears to be uclibc because /usr/include/libintl.h, which declares the symbol, belongs to package sys-libs/glibc on a glibc-based build.

I also looked at excluding USE flags for the pulseaudio emerge, to stop it linking to the unavailable symbol, but couldn't see anything obvious.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Sun Nov 02, 2014 7:44 pm    Post subject: still struggling Reply with quote

So libintl_dgettext is declared in /usr/include/libintl.h which belongs to package sys-devel/gettext so I assume that package must define the symbol as well but I can't see any use flag options that could be causing it not to do so.

equery u pulseaudio uclibc gettext:
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for media-sound/pulseaudio-5.0-r3:
 U I
 + + X             : Build the X11 publish module to export PulseAudio information through X11 protocol for clients to make use. Don't enable this flag if you want to use a system wide instance. If unsure, enable this flag.
 + + alsa          : Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture)
 + - asyncns       : Use libasyncns for asynchronous name resolution.
 - - bluetooth     : Enable Bluetooth Support
 + - caps          : Use Linux capabilities library to control privilege
 + + dbus          : Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
 - - doc           : Build the doxygen-described API documentation.
 - - equalizer     : Enable the equalizer module (requires sci-libs/fftw).
 + - gdbm          : Use sys-libs/gdbm to store PulseAudio databases. Recommended for desktop usage. This flag causes the whole package to be licensed under GPL-2 or later.
 - - glib          : Add support to dev-libs/glib-based mainloop for the libpulse client library, to allow using libpulse on glib-based programs.
 - - gnome         : Use GConf to store user preferences on streams and so on. Don't enable this flag if you want to use a system wide instance. If unsure, enable this flag.
 - - gtk           : Add support for x11-libs/gtk+ (The GIMP Toolkit)
 + + ipv6          : Add support for IP version 6
 - - jack          : Add support for the JACK Audio Connection Kit
 - - libsamplerate : Build with support for converting sample rates using libsamplerate
 - - lirc          : Add support for lirc (Linux's Infra-Red Remote Control)
 - - orc           : Use dev-lang/orc for just-in-time optimization of array operations
 - - qt4           : Add support for the Qt GUI/Application Toolkit version 4.x
 - - realtime      : (Restricted to >=media-sound/pulseaudio-0.9.21.2-r1)
                     Makes PulseAudio use RealtimeKit (sys-auth/rtkit) to get real-time priority while running.
 + + ssl           : Use dev-libs/openssl to provide support for RAOP (AirPort) streaming.
 + + tcpd          : Add support for TCP wrappers
 - - test          : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore
 + - udev          : Enable virtual/udev integration (device discovery, power and storage device support, etc)
 - - webrtc-aec    : Uses the webrtc.org AudioProcessing library for enhancing VoIP calls greatly in applications that support it by performing acoustic echo cancellation, analog gain control, noise suppression and other processing.
 - - zeroconf      : Support for DNS Service Discovery (DNS-SD)

 * Found these USE flags for sys-libs/uclibc-0.9.33.2-r12:
 U I
 - - debug         : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml
 + + iconv         : Enable support for the iconv character set conversion library
 - - ipv6          : Add support for IP version 6
 + + nptl          : Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)
 - - rpc           : Enable sun nis/rpc support (you should use libtirpc though)
 + + savedconfig   : Adds support for user defined configs
 - - ssp           : Force the use of ssp to be built into a hardened uclibc setup
 - - uclibc-compat : Build uclibc with backwards compatible options
 + - wordexp       : Add support for word expansion (wordexp.h)

 * Found these USE flags for sys-devel/gettext-0.19.3:
 U I
 + + acl         : Add support for Access Control Lists
 - - cvs         : When running `autopoint`, use cvs to store the internal development files; this requires cvs at runtime, but will be faster/smaller than raw archives
 + + cxx         : Build support for C++ (bindings, extra libraries, code generation, ...)
 - - doc         : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
 - - emacs       : Add support for GNU Emacs
 - - git         : When running `autopoint`, use git to store the internal development files; this requires git at runtime, but will be faster/smaller than raw archives
 - - java        : Add support for Java
 + + ncurses     : Add ncurses support (console display library)
 + + openmp      : Build support for the OpenMP (support parallel computing), requires >=sys-devel/gcc-4.2 built with USE="openmp"
 - + static-libs : Build static versions of dynamic libraries as well

I don't understand how the pulseaudio results have I column values because the package isn't installed yet, but there it is.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Tue Nov 11, 2014 11:39 am    Post subject: Reply with quote

Code:
libtool: link: i686-gentoo-linux-uclibc-gcc -std=gnu99 -shared  -fPIC -DPIC  modules/.libs/module-null-sink.o   -Wl,-rpath -Wl,/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs -Wl,-rpath -Wl,/usr/lib/pulseaudio -L/var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs -Wl,--as-needed ./.libs/libpulsecore-5.0.so -L/usr/lib /usr/lib/libltdl.so -lspeexdsp /var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs/libpulse.so ./.libs/libpulsecommon-5.0.so ./.libs/libpulse.so /var/tmp/portage/media-sound/pulseaudio-5.0-r2/work/pulseaudio-5.0-abi_x86_32.x86/src/.libs/libpulsecommon-5.0.so -lX11-xcb -lX11 -lxcb -lICE -lSM -lXtst -ljson-c -lwrap /usr/lib/libiconv.so -lsndfile -lasyncns -ldbus-1 /usr/lib/libgdbm.so -lcap -lpthread -lrt -ldl -lm  -pthread -mfpmath=sse -O2 -march=native -Wl,-z -Wl,nodelete -Wl,--no-undefined -Wl,-O1   -pthread -Wl,-soname -Wl,module-null-sink.so -o .libs/module-null-sink.so

This is the line that fails and if -lintl be added to it, it succeeds, but how that line is built is buried in a rat's nest of autoconf and ebuild stuff.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum