gimp requires alsa-lib to be build with midi support if built with alsa use flag enabled. If alsa-lib is not build with midi support gimp will fail to compile. Reproducible: Always Steps to Reproduce: 1. USE="-midi" emerge alsa-lib 2. USE="alsa" emerge gimp 3. Actual Results: then mv -f ".deps/libcontroller_midi_la-controller_midi.Tpo" ".deps/libcontroller_midi_la-controller_midi.Plo"; else rm -f ".deps/libcontroller_midi_la-controller_midi.Tpo"; exit 1; fi x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include -DGIMP_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE -O2 -march=athlon64 -msse3 -ftracer -fprefetch-loop-arrays -pipe -fforce-addr -ftree-vectorize -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -MT libcontroller_midi_la-controller_midi.lo -MD -MP -MF .deps/libcontroller_midi_la-controller_midi.Tpo -c controller_midi.c -fPIC -DPIC -o .libs/libcontroller_midi_la-controller_midi.o controller_midi.c:87: error: expected specifier-qualifier-list before 'snd_seq_t' controller_midi.c: In function 'midi_init': controller_midi.c:276: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:277: error: 'ControllerMidi' has no member named 'seq_id' controller_midi.c:280: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:281: error: 'ControllerMidi' has no member named 'command' controller_midi.c:282: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:283: error: 'ControllerMidi' has no member named 'key' controller_midi.c:284: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:285: error: 'ControllerMidi' has no member named 'msb' controller_midi.c:286: error: 'ControllerMidi' has no member named 'lsb' controller_midi.c: In function 'midi_set_device': controller_midi.c:403: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:404: error: 'ControllerMidi' has no member named 'command' controller_midi.c:405: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:406: error: 'ControllerMidi' has no member named 'key' controller_midi.c:407: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:408: error: 'ControllerMidi' has no member named 'msb' controller_midi.c:409: error: 'ControllerMidi' has no member named 'lsb' controller_midi.c:421: error: 'ControllerMidi' has no member named 'seq_id' controller_midi.c:423: error: 'ControllerMidi' has no member named 'seq_id' controller_midi.c:424: error: 'ControllerMidi' has no member named 'seq_id' controller_midi.c:426: warning: implicit declaration of function 'snd_seq_close' controller_midi.c:426: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:427: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:450: warning: implicit declaration of function 'snd_seq_open' controller_midi.c:450: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:451: error: 'SND_SEQ_OPEN_INPUT' undeclared (first use in this function) controller_midi.c:451: error: (Each undeclared identifier is reported only once controller_midi.c:451: error: for each function it appears in.) controller_midi.c:454: warning: implicit declaration of function 'snd_seq_set_client_name' controller_midi.c:454: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:455: warning: implicit declaration of function 'snd_seq_create_simple_port' controller_midi.c:455: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:457: error: 'SND_SEQ_PORT_CAP_WRITE' undeclared (first use in this function) controller_midi.c:458: error: 'SND_SEQ_PORT_CAP_SUBS_WRITE' undeclared (first use in this function) controller_midi.c:459: error: 'SND_SEQ_PORT_TYPE_APPLICATION' undeclared (first use in this function) controller_midi.c:469: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:471: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:472: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:480: warning: implicit declaration of function 'snd_seq_client_id' controller_midi.c:480: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:493: error: 'ControllerMidi' has no member named 'seq_id' controller_midi.c: In function 'midi_read_event': controller_midi.c:652: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:659: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:665: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:671: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:677: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:698: error: 'ControllerMidi' has no member named 'command' controller_midi.c:699: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:702: error: 'ControllerMidi' has no member named 'key' controller_midi.c:703: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:704: error: 'ControllerMidi' has no member named 'msb' controller_midi.c:705: error: 'ControllerMidi' has no member named 'lsb' controller_midi.c:713: error: 'ControllerMidi' has no member named 'swallow' controller_midi.c:719: error: 'ControllerMidi' has no member named 'command' controller_midi.c:725: error: 'ControllerMidi' has no member named 'key' controller_midi.c:727: error: 'ControllerMidi' has no member named 'key' controller_midi.c:731: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:732: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:735: error: 'ControllerMidi' has no member named 'command' controller_midi.c:735: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:736: error: 'ControllerMidi' has no member named 'command' controller_midi.c:738: error: 'ControllerMidi' has no member named 'command' controller_midi.c:740: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:740: error: 'ControllerMidi' has no member named 'key' controller_midi.c:740: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:744: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:744: error: 'ControllerMidi' has no member named 'key' controller_midi.c:745: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:747: error: 'ControllerMidi' has no member named 'command' controller_midi.c:749: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:749: error: 'ControllerMidi' has no member named 'key' controller_midi.c:749: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:752: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:752: error: 'ControllerMidi' has no member named 'key' controller_midi.c:753: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:757: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:757: error: 'ControllerMidi' has no member named 'key' controller_midi.c:757: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:761: error: 'ControllerMidi' has no member named 'key' controller_midi.c:762: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:767: error: 'ControllerMidi' has no member named 'key' controller_midi.c:769: error: 'ControllerMidi' has no member named 'key' controller_midi.c:773: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:774: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:776: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:776: error: 'ControllerMidi' has no member named 'key' controller_midi.c:776: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:779: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:779: error: 'ControllerMidi' has no member named 'key' controller_midi.c:780: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:782: error: 'ControllerMidi' has no member named 'key' controller_midi.c:783: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:787: error: 'ControllerMidi' has no member named 'key' controller_midi.c:789: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:789: error: 'ControllerMidi' has no member named 'key' controller_midi.c:792: error: 'ControllerMidi' has no member named 'key' controller_midi.c:796: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:798: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:798: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:801: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:805: error: 'ControllerMidi' has no member named 'lsb' controller_midi.c:807: error: 'ControllerMidi' has no member named 'lsb' controller_midi.c:811: error: 'ControllerMidi' has no member named 'msb' controller_midi.c:812: error: 'ControllerMidi' has no member named 'msb' controller_midi.c:814: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:814: error: 'ControllerMidi' has no member named 'lsb' controller_midi.c:814: error: 'ControllerMidi' has no member named 'msb' controller_midi.c:816: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:816: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c:819: error: 'ControllerMidi' has no member named 'msb' controller_midi.c:820: error: 'ControllerMidi' has no member named 'lsb' controller_midi.c:821: error: 'ControllerMidi' has no member named 'velocity' controller_midi.c: In function 'midi_alsa_prepare': controller_midi.c:837: warning: implicit declaration of function 'snd_seq_event_input_pending' controller_midi.c:837: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c: In function 'midi_alsa_check': controller_midi.c:848: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c: In function 'midi_alsa_dispatch': controller_midi.c:857: error: 'snd_seq_event_t' undeclared (first use in this function) controller_midi.c:857: error: 'event' undeclared (first use in this function) controller_midi.c:858: error: 'snd_seq_client_info_t' undeclared (first use in this function) controller_midi.c:858: error: 'client_info' undeclared (first use in this function) controller_midi.c:859: error: 'snd_seq_port_info_t' undeclared (first use in this function) controller_midi.c:859: error: 'port_info' undeclared (first use in this function) controller_midi.c:861: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:863: warning: implicit declaration of function 'snd_seq_event_input' controller_midi.c:863: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:865: error: 'SND_SEQ_EVENT_NOTEON' undeclared (first use in this function) controller_midi.c:867: error: 'SND_SEQ_EVENT_NOTEOFF' undeclared (first use in this function) controller_midi.c:872: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:877: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:881: error: 'SND_SEQ_EVENT_CONTROLLER' undeclared (first use in this function) controller_midi.c:882: error: 'ControllerMidi' has no member named 'channel' controller_midi.c:886: error: 'SND_SEQ_EVENT_PORT_SUBSCRIBED' undeclared (first use in this function) controller_midi.c:887: warning: implicit declaration of function 'snd_seq_client_info_alloca' controller_midi.c:888: warning: implicit declaration of function 'snd_seq_port_info_alloca' controller_midi.c:889: warning: implicit declaration of function 'snd_seq_get_any_client_info' controller_midi.c:889: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:892: warning: implicit declaration of function 'snd_seq_get_any_port_info' controller_midi.c:892: error: 'ControllerMidi' has no member named 'sequencer' controller_midi.c:903: error: 'SND_SEQ_EVENT_PORT_UNSUBSCRIBED' undeclared (first use in this function) make[2]: *** [libcontroller_midi_la-controller_midi.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/media-gfx/gimp-2.4.0_rc3/work/gimp-2.4.0-rc3/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/media-gfx/gimp-2.4.0_rc3/work/gimp-2.4.0-rc3' make: *** [all] Error 2 Expected Results: Ebuild should check that alsa-lib was built with midi support and die if not. Portage 2.1.3.9 (default-linux/amd64/2007.0, gcc-4.2.0, glibc-2.6.1-r0, 2.6.23-rc6 x86_64) ================================================================= System uname: 2.6.23-rc6 x86_64 AMD Athlon(tm) 64 Processor 3800+ Timestamp of tree: Thu, 27 Sep 2007 12:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17-r1 dev-lang/python: 2.5.1-r2 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18 sys-devel/gcc-config: 1.4.0-r2 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=athlon64 -msse3 -ffast-math -ftracer -fprefetch-loop-arrays -pipe -fforce-addr -ftree-vectorize" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=athlon64 -msse3 -ffast-math -ftracer -fprefetch-loop-arrays -pipe -fforce-addr -ftree-vectorize" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LC_ALL="en_US.utf8" LDFLAGS="-Wl,-O2 -Wl,--as-needed -Wl,--enable-new-dtags -Wl,--sort-common -Wl,-zcombreloc -Wl,--hash-style=both" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/gentoo" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acpi alsa amd64 audit berkdb bitmap-fonts branding bzip2 cdr cli cpudetection cracklib crypt cups dbus dri dvd dvdr dvdread encode ffmpeg firefox gdm gif gnome gtk hal iconv jpeg mad mmx mmxext moznopango mp3 ncurses nptl nptlonly nsplugin nss ogg opengl pam pcre perl pic png python readline sdl session spell sse sse2 sse3 ssl svg tcpd tiff truetype-fonts type1-fonts unicode vorbis x264 xinerama xorg xv xvid zlib" ALSA_CARDS="atiixp atiixp-modem" ALSA_PCM_PLUGINS="adpcm alaw copy dshare dsnoop extplug file hooks ladspa lfloat linear meter mulaw multi null rate route share shm" ELIBC="glibc" INPUT_DEVICES="mouse keyboard synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="radeon" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I can confirm this
check added
would it not be better to require >=alsa-lib-1.0.14a-r1 ? I did upgrade gimp before alsa and run into a not very logic fail. After upgrading alsa-lib to mentioned version I had no problems in emerging gimp anymore.