Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 257773 - media-sound/lmms-0.4.2 does not honor USE=vst
Summary: media-sound/lmms-0.4.2 does not honor USE=vst
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Alexis Ballier
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-05 14:17 UTC by Daniel Klaffenbach
Modified: 2009-03-01 16:00 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Klaffenbach 2009-02-05 14:17:38 UTC
It is not possible to compile LMMS with VST support on my x86 machine. I always get:
daniel@localhost /usr/portage/media-sound/lmms $ emerge -pv lmms

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

Calculating dependencies... done!
[ebuild   R   ] media-sound/lmms-0.4.2  USE="alsa ogg -debug -fftw -fluidsynth -jack -pulseaudio -sdl -stk (-vst)" 0 kB

The latest stable wine-version is installed and of course I also set the "vst" use flag.

Reproducible: Always




localhost daniel # emerge --info
Portage 2.2_rc23 (default/linux/x86/2008.0, gcc-4.3.2, glibc-2.7-r2, 2.6.27.10 i686)
=================================================================                   
System uname: Linux-2.6.27.10-i686-Mobile_AMD_Sempron-tm-_3100+-with-glibc2.0       
Timestamp of tree: Tue, 03 Feb 2009 08:10:04 +0000                                  
app-shells/bash:     3.2_p39                                                        
dev-java/java-config: 1.3.7-r1, 2.1.6-r1                                            
dev-lang/python:     2.4.4-r13, 2.5.2-r7                                            
dev-python/pycrypto: 2.0.1-r6                                                       
dev-util/cmake:      2.6.2-r1                                                       
sys-apps/baselayout: 2.0.0                                                          
sys-apps/openrc:     0.3.0-r1                                                       
sys-apps/sandbox:    1.2.18.1-r2                                                    
sys-devel/autoconf:  2.13, 2.63                                                     
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2                      
sys-devel/binutils:  2.18-r3                                                        
sys-devel/gcc-config: 1.4.0-r4                                                      
sys-devel/libtool:   1.5.26                                                         
virtual/os-headers:  2.6.27-r2                                                      
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -ftree-vectorize"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/4.1/env /usr/kde/4.1/share/config /usr/kde/4.1/shutdown /usr/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/gnustep /usr/portage/local/custom"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac aalib acl acpi alsa bash-completion berkdb bzip2 cairo cdr cli cracklib crypt cups daap dbus divx dri dvd dvdr dvdread dvi encode esd firefox flac fortran gdbm gif gimp glitz gtk2 hal htmlhandbook iconv ieee1394 imagemagick ipod isdnlog java jpeg jpg kde kdeprefix laptop ldap lm_sensors mad midi mmx mmxext mng mp3 mp4 mpeg mudflap ncurses networkmanager nfs nls nptl nptlonly nsplugin ogg opengl openldap openmp pam pcre pda pdf perl png pppd python qt4 quicktime readline reflection samba scanner session skins spell spl sse sse2 sse3 sslssse3 startup-notification svg sysfs tcpd tiff unicode usb vcd vorbis webdav wifi win32codecs x86 xcomposite xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="atiixp" 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 authn_alias 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewritesetenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="ati radeon"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2009-02-05 22:25:00 UTC
# Alexis Ballier <aballier@gentoo.org> (17 Sep 2008)
# Requires a x86-compatible architecture in order to run the binary plugins
# through wine. So far it segfaults on amd64. Unmask on confirmed to work
# profiles.
media-sound/lmms vst

I guess it could be unmasked for x86?
Comment 2 Alexis Ballier gentoo-dev 2009-02-05 22:50:45 UTC
unmask it, try with a xcb enabled libX11 and tell us if it works first
then we'll see if it can be unmasked on x86 because here it still doesn't work
Comment 3 Daniel Klaffenbach 2009-02-06 15:58:11 UTC
(In reply to comment #1)
> I guess it could be unmasked for x86?
Yes, please. It would be nice if you could add at least an ~x86 keywork to the ebuild. LMMS itself works great here, but it cannot be built with VST support. 

(In reply to comment #2)
> unmask it, try with a xcb enabled libX11 and tell us if it works first
> then we'll see if it can be unmasked on x86 because here it still doesn't work
What does libX11 have to do with this? In my opinion it is a problem with the ebuild itself. If I compile lmms 0.4.2 manually from the tarball, I get full VST support.
I have remerged libX11 with xcb, but of course vst still does not work:

localhost daniel # emerge -pv lmms

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

Calculating dependencies... done!
[ebuild   R   ] media-sound/lmms-0.4.2  USE="alsa ogg -debug -fftw -fluidsynth -jack -pulseaudio -sdl -stk (-vst)" 0 kB

Why in the world does it say "(-vst)"? And why did you set the bug status to "NEEDINFO". I can give you all the information you want :P
Comment 4 Thomas Kuther 2009-02-06 18:05:42 UTC
The problem is that loading a VST's GUI crashes LMMS (or in worst cases the whole X server) with a libxcb locking assertion failure.

So please try a xcb enabled libX11, load a VST, open its GUI, and see if it crashes.

Setting LIBXCB_ALLOW_SLOPPY_LOCK=1 works around this. Maybe we could add some "if has_use x11-libs/libX11 xcb, then ewarn about it" stuff, but it looks like it has been fixed in upstream trunk anyway.
Comment 5 Thomas Kuther 2009-02-06 18:10:03 UTC
PS: it's about package.use.mask, not keywords. the ~x86 keyword is a different issue.

Unmask it with:
echo "media-sound/lmms -vst" >> /etc/portage/profile/package.use.mask
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-02-06 18:52:10 UTC
Please note that the sloppy lock usually means that there is a (mostly trivial) bug in the code. Where the "mostly trivial" often pairs with "use of ancient internal libraries" (which was the case for Sun's Java).
Comment 7 Daniel Klaffenbach 2009-02-07 15:50:25 UTC
(In reply to comment #5)
> Unmask it with:
> echo "media-sound/lmms -vst" >> /etc/portage/profile/package.use.mask
Thanks a lot, that helped. After years of using Gentoo I was not aware of that file :(
I am now using lmms with full vst support from the tree. I have had no issues at all after using 3 different VST plugins in lmms. Not a singe crash ;)
So please, could you add an ~x86 keyword to the ebuild and remove the vst-restriction for x86 platforms?
BTW: I am using a xcb enabled libX11.
Comment 8 Thomas Kuther 2009-02-27 19:25:22 UTC
(In reply to comment #6)
> Please note that the sloppy lock usually means that there is a (mostly trivial)
> bug in the code. Where the "mostly trivial" often pairs with "use of ancient
> internal libraries" (which was the case for Sun's Java).
> 

I investigated a bit..

In this case the issue is, that the emul-linux-x86-xlibs contain a libX11 compiled _without_ xcb support, and embedding that in an app that uses a xcb-enabled libX11 causes the sloppy locking.

Tested this on OpenSUSE, they provide a xcb-enabled 32bit libX11.
It works just fine there.

So it should indeed be perfectly safe to unmask the vst useflag for x86, it's a amd64-only issue.
Comment 9 Thomas Kuther 2009-02-27 19:35:46 UTC
PS: Daniel, could you please open a bug report and explicitly request adding ~x86 keyword and unmasking of the vst useflag there?

This one doesn't count as such.
Comment 10 Daniel Klaffenbach 2009-03-01 16:00:25 UTC
(In reply to comment #9)
> PS: Daniel, could you please open a bug report and explicitly request adding
> ~x86 keyword and unmasking of the vst useflag there?
OK, I've done so. See Bug 260735.