Bug 1114

Summary: Base Installation doesn't <seem to> fit everyones needs.
Product: [Retired] Red Hat Linux Reporter: cameron
Component: installerAssignee: David Lawrence <dkl>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.2CC: aleksey
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-02-12 18:56:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description cameron 1999-02-11 13:58:49 UTC
This is a e-mail I received as a receipient of the wine
developers e-mail list.  It shows <perhaps> a enhancement
that could be made to RedHat to make it more developer
friendly, directly.  Read the whole e-mail before you
dismiss it as venting.
Bill Cameron
Systems Software Engineer
Green Hills Software, Inc
cameron
----------------------


On Thu, 11 Feb 1999, Ulrich Weigand wrote:
This had the strange effect for me that after the configure
check
for the X11/xpm.h header that was recently added, configure
thought
that I didnt have Xpm installed, and Wine was compiled
without Xpm.
(Before that check was added, everything was working fine,
because
the compiler finds Xpm ...)

Agh, all the problems RedHat have caused. autoconf should
have a RedHat test and warn users that they should get
Debian or something instead.
Hm? You want to know what I mean? Okay. RedHat separates
the libraries and the headers into separate packages (the
headers go into a devel package).  So these lusers install
the libraries but dont think of themselves as developers
and forget to install the associated devel package. What
happens next is that autoconf finds the library, but then
the compilation fails because the headers arent there. So
Wine had to add these header checks too, something for
which autoconf wasnt designed, with the result you just
got.
OK, now people wonder, Debian separates the libraries and
headers into separate packages too, so wouldnt Debian have
the same problem?
Nope. Watch:
$ cd /usr/X11R6/lib
$ ls -l libXpm*
&#61623; rw-rr--   1 root     root        78832 Jan 25  1998
libXpm.a
lrwxrwxrwx   1 root     root           14 Nov 17 16:52
libXpm.so -> libXpm.so.4.10
lrwxrwxrwx   1 root     root           14 Nov 17 16:52
libXpm.so.4 -> libXpm.so.4.10
&#61623; rw-rr--   1 root     root        53408 Jan 25  1998
libXpm.so.4.10
$ dpkg -S libXpm.so
xpm4g-dev: /usr/X11R6/lib/libXpm.so
xpm4g: /usr/X11R6/lib/libXpm.so.4.10
xpm4g: /usr/X11R6/lib/libXpm.so.4

The main symlink required for linking is in the dev
package. So if the dev package isnt installed, libXpm.so
wouldnt be detected. Thus these header checks wouldnt be
necessary for Debian, and wouldnt have these problems.
RedHat is pretty braindead, IMHO.
- configure should be fixed to include the -I header for
the X11
include directory with the X11 header checks (unfortunately
Im
not very familiar with autoconf/configure; maybe one of the
autoconf
gurus can fix this?)

- compiling Wine without Xpm is rather pointless in the
current state.
Shouldnt we either completely abort compilation of Wine if
Xpm is
not present, or else implement some workaround so that Wine
will at
least start up ?

Will this work? (the offset you may get when you apply is
because I cut out the stuff that enables my memory
protector)
This is how autoconf macros do it to mess with LIBS, so
thought I could use it for CFLAGS too.
ChangeLog (if accepted):
Fixed X library header file detection.
Index: wine/configure.in
RCS file: /home/wine/wine/configure.in,v
retrieving revision 1.28
diff -u -r1.28 configure.in
--- wine/configure.in	1999/02/05 17:40:47	1.28
+++ wine/configure.in	1999/02/11 04:11:06
@@ -97,6 +103,8 @@
if test $have_x = yes
then
XLIB=-lXext -lX11
&#61623; ac_save_CFLAGS=$CFLAGS
&#61623; CFLAGS=$CFLAGS $X_CFLAGS

dnl Check for -lXpm
AC_CHECK_HEADERS(X11/xpm.h)
@@ -130,6 +138,8 @@
then
AC_CHECK_LIB(MesaGL,OSMesaCreateContext,AC_DEFINE
(HAVE_LIBMESAGL) X_PRE_LIBS=$X_PRE_LIBS -lMesaGL,,$X_LIBS
-lXext -lX11 -lm)
fi
+
&#61623; CFLAGS=$ac_save_CFLAGS
else
XLIB=
X_CFLAGS=
@@ -666,6 +676,12 @@
echo *** X support, which currently does not work, and
would probably not be echo *** what you want anyway. You
will need to install devel packages of echo ***
Xlib/Xfree86 and Xpm at the very least.
+elif test $ac_cv_lib_Xpm_XpmCreatePixmapFromData = no
+then
&#61623; echo
&#61623; echo *** Warning: Xpm development files not found. Wine
will be built without
&#61623; echo *** Xpm support, which currently does not work. You
will need to install
&#61623; echo *** devel packages of Xpm.
fi
if test $ac_cv_lib_ncurses_resizeterm = no -a
$ac_cv_lib_ncurses_waddch = yes

Comment 1 Jeff Johnson 1999-02-12 18:56:59 UTC
The gist of this report seems to be a suggestion that putting
the foo.so link of a shared library (in this case libXpm.so)
into the foo-devel package would permit more efficient testing
of the existence of libraries within autoconf.

This is typically the way rpm's containing shared libraries are
packaged by Red Hat. In particular
	bash$ rpm -qf /usr/X11R6/lib/libXpm.so
	xpm-devel-3.4j-3