On Tue, Mar 06, 2007 at 01:03:58AM +0200, Alex Fansky wrote
> Hello.
> I have libsdl 1.2.11-r1 installed(2.6.19-r4 kernel). When I run
> dosbox or quake3(or any other app depending on STL) from my common
> user account I get error message like:
> 
> [EMAIL PROTECTED] ~ % dosbox
> Exit to error: Can't init SDL Unable to open a console terminal
> 
> It runs normal from root. How to solve this problem?

  I ran into this problem a long time ago with dosbox.  This is a
chained dependancy, where the cause is hidden a couple of layers deep.
  - dosbox depends on libsdl
  - libsdl can *OPTIONALLY* link in svgalib

  Run "emerge -pv libsdl" to get a list of flag settings.  You probably
have "svga" enabled.  media-libs/svgalib bangs away directly at the
video card hardware, and obviously needs root permission (or setuid) to
do so.  Any app that (directly or indirectly) links to svgalib and uses
it for video hardware access also needs root or setuid.

  You have a couple of options

  a) Unless you really need svgalib elsewhere, the best solution is to
  - add "-svga" to your USE variable in /etc/make.conf
  - emerge --ask --deep --newuse --update --world
  - emerge --unmerge svgalib
  - revdep-rebuild --ask
  This gets rid of svgalib, and prevents it being linked optionally.
The revdep-rebuild is to check if this breaks anything else.

  b) if you need svgalib elsewhere, OTHER THAN IN LIBSDL
  - add the line...
    media-libs/libsdl -svga
    to /etc/portage/package.use
  - emerge --ask --deep --newuse libsdl dosbox
  - revdep-rebuild --ask

  If another app needs need libsdl linked to svgalib, you're stuck with
setuid or sudo for dosbox.

-- 
Walter Dnes <[EMAIL PROTECTED]> In linux /sbin/init is Job #1
-- 
gentoo-user@gentoo.org mailing list

Reply via email to