Subject: xsrc/11216: xsrc builds non-reentrant X libraries
To: None <gnats-bugs@gnats.netbsd.org>
From: None <justin.kolodziej@marquette.edu>
List: netbsd-bugs
Date: 10/13/2000 12:34:53
>Number:         11216
>Category:       xsrc
>Synopsis:       By default, xsrc builds non-reentrant X libs, which breaks threaded programs.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    xsrc-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Oct 13 12:34:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Justin A. Kolodziej
>Release:        Oct. 11, 2000
>Organization:
Marquette University
	
>Environment:
Home-built K6-400 running netbsd-current updated from sup 
sources on Oct. 11
	
System: NetBSD kolodziejj.tower.mu.edu 1.5_ALPHA2 NetBSD 1.5_ALPHA2 (KOLODZIEJJ.4MB) #0: Wed Oct 11 15:33:24 CDT 2000 justin@kolodziejj.tower.mu.edu:/usr/src/sys/arch/i386/compile/KOLODZIEJJ.4MB i386


>Description:
	Building X from the current xsrc apparently results in the libraries
not being built reentrant.  This results in threaded X applications not being
able to run properly.  The most notorious is xmms in pkgsrc, but probably this
will affect all other threaded X apps.

>How-To-Repeat:
This is only an example for xmms, but other applications that use pthreads will
probably behave similarly.
sup xsrc
cd /usr/xsrc
make build
cd /usr/pkgsrc/audio/xmms
make install
xmms

At this point, things seem to work fine, but trying to load an audio file, or 
even trying to exit the program, causes the app to hang.

Looking closely at the compilation output for xmms shows that there was a 
warning after the configuration that the X libraries were not reentrant, and,
as a result, xmms won't work.
>Fix:
I don't know how much the X sources for netbsd are customized, but building and
installing the "official" XFree86 sources may result in reentrant X libraries.
It may not build properly at all though...
>Release-Note:
>Audit-Trail:
>Unformatted: