Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 97507 - media-libs/libmikmod fails to build ALSA support
Summary: media-libs/libmikmod fails to build ALSA support
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
: 308919 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-06-30 09:01 UTC by Rohan McGovern
Modified: 2010-03-12 12:23 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
A ebuild for media-libs/libmikmod-3.1.11-r2 (Added BLFS's sed line) (libmikmod-3.1.11-r2.ebuild,1.37 KB, text/plain)
2006-02-02 19:03 UTC, hiyuh
Details
files/libmikmod-3.1.11-alsa.patch (libmikmod-3.1.11-alsa.patch,816 bytes, patch)
2007-01-14 02:47 UTC, MATSUU Takuto (RETIRED)
Details | Diff
quick-fix hack to prevent music.raw problem (mikmod_dont_fill_up_hd.patch,944 bytes, patch)
2009-12-28 20:41 UTC, Daniel Santos
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rohan McGovern 2005-06-30 09:01:47 UTC
With libmikmod-3.1.11-r1 and alsa-lib-1.0.8, libmikmod consistently fails to build ALSA support with the alsa USE flag enabled.  It seems to check ALSA using a symbol which isn't in newer versions.

As written at http://www.linuxfromscratch.org/blfs/view/cvs/multimedia/libmikmod.html , putting the below in src_unpack at first appears to fix the problem:

sed -i -e "s/VERSION=10/VERSION=11/" \
       -e "s/sys_asoundlib/alsa_asoundlib/" \
       -e "s/snd_cards/snd_card_load/g" \
       -e "s|sys/asoundlib.h|alsa/asoundlib.h|g" \
       -e "s/^LIBOBJS/#LIBOBJS/" \
    configure.in || die
autoconf || die

The output of the configure script then indicates that it is building ALSA support.  However, I still can't get any mikmod apps to see the driver (e.g. it does not appear in the output of 'mikmod -n'), while they worked fine with older versions of alsa-lib (I'm not sure with exactly which version the problems began, as I don't use libmikmod apps very often).
Comment 1 hiyuh 2006-02-02 19:01:25 UTC
I didn't know that problem when sound apps are emerged with -oss as USE flages.
It's posted a half years ago, but it's status is new,
and it looks like easy to fix.

emerge =media-libs/libmikmod-3.1.11-r1 with USE="alsa -esd -oss" said that.:
    (SNIP)
    Drivers to be compiled: raw wav pipe stdout nosound
    (SNIP)
Then, with libmikmod-3.1.11-r2 'mikmod -n' said like that.:
    -= MikMod 3.2.1 =-
    (SNIP)
    Available drivers are :
     1 Raw disk writer (music.raw) v1.1
     2 Wav disk writer (music.wav) v1.2
     3 Piped Output driver v0.2
     4 Standard output driver v1.1
     5 Nosound Direver v3.0
     
     Recognized module formats are :
     (SNIP)
So, its case, can't available alsa nor oss.
----------------------------------------------------------------------------
emerge =media-libs/libmikmod-3.1.11-r1 with USE="alsa -esd oss" said that.:
    (SNIP)
    Drivers to be compiled: oss raw wav pipe stdout nosound
    (SNIP)
Then, with libmikmod-3.1.11-r2 'mikmod -n' said like that.:
     1 Open Sound driver v1.7
     2 Raw disk writer (music.raw) v1.1
     3 Wav disk writer (music.wav) v1.2
     4 Piped Output driver v0.2
     5 Standard output driver v1.1
     6 Nosound Direver v3.0
So, its case, not available alsa.
============================================================================
Let the ebuild was added BLFS sed's lines is media-libs/libmikmod-3.1.11-r2.
emerge =media-libs/libmikmod-3.1.11-r2 with USE="alsa -esd -oss" said that.:
    (SNIP)
    Drivers to be compiled: alsa raw wav pipe stdout nosound
    (SNIP)
So, this tip seems work for libmikmod's configure.

Then, with libmikmod-3.1.11-r2 'mikmod -n' said like that.:
    -= MikMod 3.2.1 =-
    (SNIP)
    Available drivers are :
     1 Raw disk writer (music.raw) v1.1
     2 Wav disk writer (music.wav) v1.2
     3 Piped Output driver v0.2
     4 Standard output driver v1.1
     5 Nosound Direver v3.0
     
     Recognized module formats are :
     (SNIP)
So, its case, not available alsa nor oss.
----------------------------------------------------------------------------
emerge =media-libs/libmikmod-3.1.11-r2 with USE="alsa -esd oss" said that.:
    (SNIP)
    Drivers to be compiled: alsa oss raw wav pipe stdout nosound
    (SNIP)
So, this tip seems work for libmikmod's configure, too.

Then, with libmikmod-3.1.11-r2 'mikmod -n' said like that.:
    -= MikMod 3.2.1 =-
    (SNIP)
    Available drivers are :
     1 Open Sound driver v1.7
     2 Raw disk writer (music.raw) v1.1
     3 Wav disk writer (music.wav) v1.2
     4 Piped Output driver v0.2
     5 Standard output driver v1.1
     6 Nosound Direver v3.0
     
     Recognized module formats are :
     (SNIP)
So, its case, not available alsa.
Comment 2 hiyuh 2006-02-02 19:03:32 UTC
Created attachment 78775 [details]
A ebuild for media-libs/libmikmod-3.1.11-r2 (Added BLFS's sed line)
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-10-01 21:49:34 UTC
Can someone use a patch rather than a sed line? it's less likely to hit problems when newer versions are released.
Comment 4 Sylvain BERTRAND 2006-12-28 09:38:28 UTC
This bug is still around with alsa 1.0.14_rc1 and libmikmod 3.1.11-r3.
Comment 5 MATSUU Takuto (RETIRED) gentoo-dev 2007-01-14 02:47:09 UTC
Created attachment 106891 [details, diff]
files/libmikmod-3.1.11-alsa.patch
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2007-03-25 12:51:33 UTC
(In reply to comment #5)
> Created an attachment (id=106891) [edit]
> files/libmikmod-3.1.11-alsa.patch
> 

Applied in -r4, thanks.
Comment 7 Stian Skjelstad 2007-12-14 22:22:49 UTC
If anybody has peeked inside libmikmod-3.1.11/drivers/drv_alsa.c, you will find this piece of code

#include <sys/asoundlib.h>
#if defined(SND_LIB_VERSION) && (SND_LIB_VERSION >= 0x500)
#undef DRV_ALSA
#endif

Which should be there aswell, since the driver only supports OLD versions of libalsa. Upstream seems a bit dead, but if you want to write a patch for it, go-ahead. I would say that this is a upstream "bug", and that alsa support can be removed from the use-word listing, or depend on alsalib version lower than 0.5.0 (I believe it would be).

I would say that this should say that the current RESOLVED/FIXED status is wrong on this bug.

Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2007-12-15 04:15:34 UTC
Reopening
Comment 9 Stian Skjelstad 2008-01-14 23:15:31 UTC
Can't we just remove the alsa-use flag. mikmod is more or less an inactive project with no releases since 2004, or news since 2005 (several bugs in file-loaders for instance that makes mikmod freeze).
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2009-06-09 18:32:01 UTC
Unfortunately timidity++ ships a copy of libmikmod, we need to fix system copy and make it use one.
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2009-07-23 18:09:23 UTC
Fixed with 3.2.0_beta2, please test.
Comment 12 Samuli Suominen (RETIRED) gentoo-dev 2009-07-23 18:12:36 UTC
(In reply to comment #11)
> Fixed with 3.2.0_beta2, please test.
> 

Or not, prolly messed it up again... another problem is preventing me from testing it properly atm, will get back to it asap
Comment 13 Daniel Santos 2009-12-28 20:17:57 UTC
Please re-open this bug.

My wife keeps filling up my hard drive by playing gweled (see http://bugs.archlinux.org/task/15685?dev=418 or bug #108164 or bug #99590).  Please fix this!  The Gentoo maintainers of gweled said they don't want to use the patches that fedorka, debian and everybody else have used, saying they think MikMod shouldn't enable the file output when calling MikMod_RegisterAllDrivers(). Apparently, the rest of the GNU/Linux community disagrees.

Either way, if you fix this issue, mikmod should use the alsa output device instead (in myy case at least) and not write this horrendous file.  BTW, I tried doing a touch ~/misic.raw; chmod -w music.raw, but then gweled fails to start.  I think I'll see if I can symlink it to /dev/null next.



/usr/portage/media-libs/libmikmod# emerge -pv libmikmod gweled

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] media-libs/libmikmod-3.2.0_beta2  USE="alsa -oss" 0 kB
[ebuild   R   ] games-puzzle/gweled-0.7  0 kB

/usr/portage/media-libs/libmikmod# emerge --info
Portage 2.1.7.4 (default/linux/amd64/10.0/desktop, gcc-4.4.2, glibc-2.11-r0, 2.6.30-gentoo-r8 x86_64)
=================================================================
System uname: Linux-2.6.30-gentoo-r8-x86_64-AMD_Phenom-tm-_9850_Quad-Core_Processor-with-gentoo-2.0.1
Timestamp of tree: Mon, 28 Dec 2009 19:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r2
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.6.3, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=amdfam10 -O2 -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests buildpkg ccache distlocks fixpackages installsources news parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://mirrors.cs.wmich.edu/gentoo http://mirror.mcs.anl.gov/pub/gentoo/ http://osmirrors.cerias.purdue.edu/pub/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="en_US en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="bzip2"
PORTAGE_COMPRESS_FLAGS="-9"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude '/lost+found'"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/sunrise /usr/portage/local/layman/Spring"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac aalib acl acpi afs aim aio akode alsa amd64 amr ao aotuv apache2 apm applet ares async audacious audiofile authdaemond authfile autoipd automount avahi bash-completion berkdb binfilter bittorrent bl bluetooth bonjour boost branding bsf bzip2 c3p0 cairo calendar cdaudio cdb cdda cddb cdparanoia cdr cegui cg cgi chm cjk cli commons-digester console consolekit cpufreq cpulimit cracklib crypt cscope css cups curl curlwrappers custom-optimization cvs cxx dbus dedicated devil dga dirac directfb divx djbfft djvu dmx dns dolby-record-switch dri dtmf dts dv dvb dvd dvdr dxr3 editor eds emboss emoticon encode enscript esd evo excel exif expat extraicons faac faad fam fasttrack fax fbcon ffmpeg fftw firefox fits flac flash fltk fluidsynth fmod font-server fontconfig fontforge foomaticdb fortran fping fpx ftp fuse fusion gadu gcj gd gdbm geos ggi gif ginac git glib glitz glut gmedia gmp gmtfull gnokii gnome gnutella gnutls gphoto2 gpm gps graphviz gs gsl gsm gstreamer gtk gzip h323 hal hddtemp html htmlhandbook hwmixer icecast iceweasel iconv icq icu id3 id3tag idn ieee1394 ilbc imagemagick imap imlib inifile irc irda irrlicht ithreads jabber jack jadetex java java5 java6 javascript jbig jce jingle jmx joystick jpeg jpeg2k kde kdrive kpathsea lame latex lcms ldap libcaca libnotify libsamplerate libvisual libwww lirc live lm_sensors log4j logitech-mouse lua lzma lzo mad maildir maps math md5sum meanwhile mikmod mime mjpeg mmap mmkeys mmx mmxext mng modperl modplug modules motif mouse mozdevelop mozilla mp2 mp3 mp4 mp4live mpeg mpeg2 mplayer msn mtp mudflap multicall multilib multislot multitarget musepack music musicbrainz mysql mysqli mythtv nas ncurses net netjack network networkmanager njb nls nntp nptl nptlonly nsplugin nss nvidia nvtv ode odk offensive ogg openal openexr opengl openmp oscar otr pam pango pch pcntl pcre pda pdf perl phonon php player plotutils png portaudio posix postproc ppds pppd profile pulseaudio python qq qt3 qt3support qt4 quicktime radio rar raw readline reflection restrict-javascript rrdcgi rtc ruby samba sametime sasl scanner schroedinger sdl sdl-image sdl-sound sensord session sharedext silc sip slp smp smtp sndfile snmp soap sockets sound speex spell spl sql sqlite sqlite3 sse sse2 sse3 ssl startup-notification stream subtitles subversion suexec svg sysfs syslog sysvipc t1lib tagwriting tcl tcpd tga theora threads thumbnail thunar tidy tiff timidity tk tokenizer tools transcode translator trayicon truetype tse3 twolame unicode upnp urandom usb userlocales v4l v4l2 vcd vdpau vdr vhosts videos vim-syntax vim-with-x visualization vorbis vorbis-psy vxml wav wavpack webdav wifi wma wmf wxwidgets wxwindows x264 xanim xattr xcb xcomposite xface xforms xft xine xinerama xinetd xml xmlreader xmlrpc xmlwriter xorg xpm xprint xscreensaver xsl xulrunner xv xvid xvmc yaepg yahoo yv12 zeroconf zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_alias authn_dbd authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache dumpio env expires ext_filter file_cache filter headers ident imagemap include info log_config log_forensic logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias substitute" ELIBC="glibc" FOO2ZJS_DEVICES="hpp1006" INPUT_DEVICES="keyboard mouse joystick evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS
Comment 14 Daniel Santos 2009-12-28 20:41:39 UTC
Created attachment 214479 [details, diff]
quick-fix hack to prevent music.raw problem
Comment 15 Samuli Suominen (RETIRED) gentoo-dev 2010-03-11 01:22:30 UTC
Reopen for correct resolution.
Comment 16 Samuli Suominen (RETIRED) gentoo-dev 2010-03-12 12:23:58 UTC
*** Bug 308919 has been marked as a duplicate of this bug. ***